Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Unified Diff: src/wasm/asm-wasm-builder.cc

Issue 1699793002: [wasm] Clean up some DCHECKS in asm->wasm. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/wasm/ast-decoder.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/wasm/asm-wasm-builder.cc
diff --git a/src/wasm/asm-wasm-builder.cc b/src/wasm/asm-wasm-builder.cc
index 57df68b9f2c25bde9090a1b6a0d19081d1d4c08a..ca31c977f9852e538dfc3a171c23e9b1e4bbc424 100644
--- a/src/wasm/asm-wasm-builder.cc
+++ b/src/wasm/asm-wasm-builder.cc
@@ -77,7 +77,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
void VisitFunctionDeclaration(FunctionDeclaration* decl) {
DCHECK(!in_function_);
- DCHECK(current_function_builder_ == nullptr);
+ DCHECK_NULL(current_function_builder_);
uint16_t index = LookupOrInsertFunction(decl->proxy()->var());
current_function_builder_ = builder_->FunctionAt(index);
in_function_ = true;
@@ -169,7 +169,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
void VisitContinueStatement(ContinueStatement* stmt) {
DCHECK(in_function_);
- DCHECK(stmt->target() != NULL);
+ DCHECK_NOT_NULL(stmt->target());
int i = static_cast<int>(breakable_blocks_.size()) - 1;
int block_distance = 0;
for (; i >= 0; i--) {
@@ -190,7 +190,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
void VisitBreakStatement(BreakStatement* stmt) {
DCHECK(in_function_);
- DCHECK(stmt->target() != NULL);
+ DCHECK_NOT_NULL(stmt->target());
int i = static_cast<int>(breakable_blocks_.size()) - 1;
int block_distance = 0;
for (; i >= 0; i--) {
@@ -236,7 +236,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
void CompileCase(CaseClause* clause, uint16_t fall_through,
VariableProxy* tag) {
Literal* label = clause->label()->AsLiteral();
- DCHECK(label != nullptr);
+ DCHECK_NOT_NULL(label);
block_size_++;
current_function_builder_->Emit(kExprIf);
current_function_builder_->Emit(kExprI32Ior);
@@ -254,7 +254,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
void VisitSwitchStatement(SwitchStatement* stmt) {
VariableProxy* tag = stmt->tag()->AsVariableProxy();
- DCHECK(tag != NULL);
+ DCHECK_NOT_NULL(tag);
BlockVisitor visitor(this, stmt->AsBreakableStatement(), kExprBlock, false,
0);
uint16_t fall_through = current_function_builder_->AddLocal(kAstI32);
@@ -344,7 +344,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
current_function_builder_->ReturnType(return_type);
for (int i = 0; i < expr->parameter_count(); i++) {
LocalType type = TypeFrom(func_type->Parameter(i));
- DCHECK(type != kAstStmt);
+ DCHECK_NE(kAstStmt, type);
LookupOrInsertLocal(scope->parameter(i), type);
}
} else {
@@ -385,7 +385,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
}
}
LocalType var_type = TypeOf(expr);
- DCHECK(var_type != kAstStmt);
+ DCHECK_NE(kAstStmt, var_type);
if (var->IsContextSlot()) {
AddLeb128(LookupOrInsertGlobal(var, var_type), false);
} else {
@@ -432,10 +432,10 @@ class AsmWasmBuilderImpl : public AstVisitor {
ObjectLiteralProperty* prop = props->at(i);
DCHECK(marking_exported);
VariableProxy* expr = prop->value()->AsVariableProxy();
- DCHECK(expr != nullptr);
+ DCHECK_NOT_NULL(expr);
Variable* var = expr->var();
Literal* name = prop->key()->AsLiteral();
- DCHECK(name != nullptr);
+ DCHECK_NOT_NULL(name);
DCHECK(name->IsPropertyName());
const AstRawString* raw_name = name->AsRawPropertyName();
if (var->is_function()) {
@@ -476,7 +476,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
next_table_index_ += funcs->values()->length();
for (int i = 0; i < funcs->values()->length(); i++) {
VariableProxy* func = funcs->values()->at(i)->AsVariableProxy();
- DCHECK(func != nullptr);
+ DCHECK_NOT_NULL(func);
builder_->AddIndirectFunction(LookupOrInsertFunction(func->var()));
}
}
@@ -499,7 +499,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
FunctionTableIndices* LookupFunctionTable(Variable* v) {
ZoneHashMap::Entry* entry =
function_tables_.Lookup(v, ComputePointerHash(v));
- DCHECK(entry != nullptr);
+ DCHECK_NOT_NULL(entry);
return reinterpret_cast<FunctionTableIndices*>(entry->value);
}
@@ -534,7 +534,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
uint16_t GetFunctionIndex(Variable* v, FunctionSig* sig) {
ZoneHashMap::Entry* entry = table_.Lookup(v, ComputePointerHash(v));
- DCHECK(entry != nullptr);
+ DCHECK_NOT_NULL(entry);
ImportedFunctionIndices* indices =
reinterpret_cast<ImportedFunctionIndices*>(entry->value);
WasmModuleBuilder::SignatureMap::iterator pos =
@@ -564,19 +564,19 @@ class AsmWasmBuilderImpl : public AstVisitor {
BinaryOperation* binop = expr->value()->AsBinaryOperation();
if (binop != nullptr) {
Property* prop = binop->left()->AsProperty();
- DCHECK(prop != nullptr);
+ DCHECK_NOT_NULL(prop);
LoadInitFunction();
is_set_op_ = true;
RECURSE(Visit(expr->target()));
DCHECK(!is_set_op_);
if (binop->op() == Token::MUL) {
DCHECK(binop->right()->IsLiteral());
- DCHECK(binop->right()->AsLiteral()->raw_value()->AsNumber() == 1.0);
+ DCHECK_EQ(1.0, binop->right()->AsLiteral()->raw_value()->AsNumber());
DCHECK(binop->right()->AsLiteral()->raw_value()->ContainsDot());
VisitForeignVariable(true, prop);
} else if (binop->op() == Token::BIT_OR) {
DCHECK(binop->right()->IsLiteral());
- DCHECK(binop->right()->AsLiteral()->raw_value()->AsNumber() == 0.0);
+ DCHECK_EQ(0.0, binop->right()->AsLiteral()->raw_value()->AsNumber());
DCHECK(!binop->right()->AsLiteral()->raw_value()->ContainsDot());
VisitForeignVariable(false, prop);
} else {
@@ -605,7 +605,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
if (funcs != nullptr &&
funcs->bounds().lower->AsArray()->Element()->IsFunction()) {
VariableProxy* target = expr->target()->AsVariableProxy();
- DCHECK(target != nullptr);
+ DCHECK_NOT_NULL(target);
AddFunctionTable(target, funcs);
}
return;
@@ -638,11 +638,11 @@ class AsmWasmBuilderImpl : public AstVisitor {
void VisitForeignVariable(bool is_float, Property* expr) {
DCHECK(expr->obj()->AsVariableProxy());
- DCHECK(expr->obj()->AsVariableProxy()->var()->location() ==
- VariableLocation::PARAMETER);
- DCHECK(expr->obj()->AsVariableProxy()->var()->index() == 1);
+ DCHECK(VariableLocation::PARAMETER ==
+ expr->obj()->AsVariableProxy()->var()->location());
+ DCHECK_EQ(1, expr->obj()->AsVariableProxy()->var()->index());
Literal* key_literal = expr->key()->AsLiteral();
- DCHECK(key_literal != nullptr);
+ DCHECK_NOT_NULL(key_literal);
if (!key_literal->value().is_null() && !foreign_.is_null() &&
foreign_->IsObject()) {
Handle<Name> name =
@@ -687,7 +687,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
void VisitProperty(Property* expr) {
Expression* obj = expr->obj();
- DCHECK(obj->bounds().lower == obj->bounds().upper);
+ DCHECK_EQ(obj->bounds().lower, obj->bounds().upper);
Type* type = obj->bounds().lower;
MachineType mtype;
int size;
@@ -736,7 +736,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
Literal* value = expr->key()->AsLiteral();
if (value) {
DCHECK(value->raw_value()->IsNumber());
- DCHECK(kAstI32 == TypeOf(value));
+ DCHECK_EQ(kAstI32, TypeOf(value));
int val = static_cast<int>(value->raw_value()->AsNumber());
byte code[] = {WASM_I32(val * size)};
current_function_builder_->EmitCode(code, sizeof(code));
@@ -744,12 +744,12 @@ class AsmWasmBuilderImpl : public AstVisitor {
}
BinaryOperation* binop = expr->key()->AsBinaryOperation();
if (binop) {
- DCHECK(Token::SAR == binop->op());
+ DCHECK_EQ(Token::SAR, binop->op());
DCHECK(binop->right()->AsLiteral()->raw_value()->IsNumber());
DCHECK(kAstI32 == TypeOf(binop->right()->AsLiteral()));
- DCHECK(size ==
- 1 << static_cast<int>(
- binop->right()->AsLiteral()->raw_value()->AsNumber()));
+ DCHECK_EQ(size,
+ 1 << static_cast<int>(
+ binop->right()->AsLiteral()->raw_value()->AsNumber()));
// Mask bottom bits to match asm.js behavior.
current_function_builder_->Emit(kExprI32And);
byte code[] = {WASM_I8(~(size - 1))};
@@ -794,9 +794,9 @@ class AsmWasmBuilderImpl : public AstVisitor {
case Call::KEYED_PROPERTY_CALL: {
DCHECK(in_function_);
Property* p = expr->expression()->AsProperty();
- DCHECK(p != nullptr);
+ DCHECK_NOT_NULL(p);
VariableProxy* var = p->obj()->AsVariableProxy();
- DCHECK(var != nullptr);
+ DCHECK_NOT_NULL(var);
FunctionTableIndices* indices = LookupFunctionTable(var->var());
current_function_builder_->EmitWithU8(kExprCallIndirect,
indices->signature_index);
@@ -823,7 +823,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
void VisitUnaryOperation(UnaryOperation* expr) {
switch (expr->op()) {
case Token::NOT: {
- DCHECK(TypeOf(expr->expression()) == kAstI32);
+ DCHECK_EQ(kAstI32, TypeOf(expr->expression()));
current_function_builder_->Emit(kExprBoolNot);
break;
}
@@ -837,7 +837,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
bool MatchIntBinaryOperation(BinaryOperation* expr, Token::Value op,
int32_t val) {
- DCHECK(expr->right() != nullptr);
+ DCHECK_NOT_NULL(expr->right());
if (expr->op() == op && expr->right()->IsLiteral() &&
TypeOf(expr) == kAstI32) {
Literal* right = expr->right()->AsLiteral();
@@ -851,7 +851,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
bool MatchDoubleBinaryOperation(BinaryOperation* expr, Token::Value op,
double val) {
- DCHECK(expr->right() != nullptr);
+ DCHECK_NOT_NULL(expr->right());
if (expr->op() == op && expr->right()->IsLiteral() &&
TypeOf(expr) == kAstF64) {
Literal* right = expr->right()->AsLiteral();
@@ -886,12 +886,12 @@ class AsmWasmBuilderImpl : public AstVisitor {
ConvertOperation MatchXor(BinaryOperation* expr) {
if (MatchIntBinaryOperation(expr, Token::BIT_XOR, 0xffffffff)) {
- DCHECK(TypeOf(expr->left()) == kAstI32);
- DCHECK(TypeOf(expr->right()) == kAstI32);
+ DCHECK_EQ(kAstI32, TypeOf(expr->left()));
+ DCHECK_EQ(kAstI32, TypeOf(expr->right()));
BinaryOperation* op = expr->left()->AsBinaryOperation();
if (op != nullptr) {
if (MatchIntBinaryOperation(op, Token::BIT_XOR, 0xffffffff)) {
- DCHECK(TypeOf(op->right()) == kAstI32);
+ DCHECK_EQ(kAstI32, TypeOf(op->right()));
if (TypeOf(op->left()) != kAstI32) {
return kToInt;
} else {
@@ -905,7 +905,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
ConvertOperation MatchMul(BinaryOperation* expr) {
if (MatchDoubleBinaryOperation(expr, Token::MUL, 1.0)) {
- DCHECK(TypeOf(expr->right()) == kAstF64);
+ DCHECK_EQ(kAstF64, TypeOf(expr->right()));
if (TypeOf(expr->left()) != kAstF64) {
return kToDouble;
} else {
@@ -1119,7 +1119,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
}
TypeIndex TypeIndexOf(Expression* expr) {
- DCHECK(expr->bounds().lower == expr->bounds().upper);
+ DCHECK_EQ(expr->bounds().lower, expr->bounds().upper);
Type* type = expr->bounds().lower;
if (type->Is(cache_.kAsmFixnum)) {
return kFixnum;
@@ -1179,7 +1179,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
};
uint16_t LookupOrInsertLocal(Variable* v, LocalType type) {
- DCHECK(current_function_builder_ != nullptr);
+ DCHECK_NOT_NULL(current_function_builder_);
ZoneHashMap::Entry* entry =
local_variables_.Lookup(v, ComputePointerHash(v));
if (entry == nullptr) {
@@ -1214,7 +1214,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
}
uint16_t LookupOrInsertFunction(Variable* v) {
- DCHECK(builder_ != nullptr);
+ DCHECK_NOT_NULL(builder_);
ZoneHashMap::Entry* entry = functions_.Lookup(v, ComputePointerHash(v));
if (entry == nullptr) {
uint16_t index = builder_->AddFunction();
@@ -1228,7 +1228,7 @@ class AsmWasmBuilderImpl : public AstVisitor {
}
LocalType TypeOf(Expression* expr) {
- DCHECK(expr->bounds().lower == expr->bounds().upper);
+ DCHECK_EQ(expr->bounds().lower, expr->bounds().upper);
return TypeFrom(expr->bounds().lower);
}
« no previous file with comments | « no previous file | src/wasm/ast-decoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698