| Index: src/asmjs/asm-wasm-builder.cc
|
| diff --git a/src/asmjs/asm-wasm-builder.cc b/src/asmjs/asm-wasm-builder.cc
|
| index 6d17dac44fb8017bd5d310a36b02f75f811bec30..4996203ce2bba91cb888cb44c2a59f14b38e9b59 100644
|
| --- a/src/asmjs/asm-wasm-builder.cc
|
| +++ b/src/asmjs/asm-wasm-builder.cc
|
| @@ -42,7 +42,7 @@ enum ValueFate { kDrop, kLeaveOnStack };
|
| struct ForeignVariable {
|
| Handle<Name> name;
|
| Variable* var;
|
| - LocalType type;
|
| + ValueType type;
|
| };
|
|
|
| class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| @@ -516,8 +516,8 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| // Add the parameters for the function.
|
| const auto& arguments = func_type->Arguments();
|
| for (int i = 0; i < expr->parameter_count(); ++i) {
|
| - LocalType type = TypeFrom(arguments[i]);
|
| - DCHECK_NE(kAstStmt, type);
|
| + ValueType type = TypeFrom(arguments[i]);
|
| + DCHECK_NE(kWasmStmt, type);
|
| InsertParameter(scope->parameter(i), type, i);
|
| }
|
| } else {
|
| @@ -538,18 +538,18 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| RECURSE(Visit(expr->condition()));
|
| // WASM ifs come with implicit blocks for both arms.
|
| breakable_blocks_.push_back(std::make_pair(nullptr, false));
|
| - LocalTypeCode type;
|
| + ValueTypeCode type;
|
| switch (TypeOf(expr)) {
|
| - case kAstI32:
|
| + case kWasmI32:
|
| type = kLocalI32;
|
| break;
|
| - case kAstI64:
|
| + case kWasmI64:
|
| type = kLocalI64;
|
| break;
|
| - case kAstF32:
|
| + case kWasmF32:
|
| type = kLocalF32;
|
| break;
|
| - case kAstF64:
|
| + case kWasmF64:
|
| type = kLocalF64;
|
| break;
|
| default:
|
| @@ -621,8 +621,8 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| if (VisitStdlibConstant(var)) {
|
| return;
|
| }
|
| - LocalType var_type = TypeOf(expr);
|
| - DCHECK_NE(kAstStmt, var_type);
|
| + ValueType var_type = TypeOf(expr);
|
| + DCHECK_NE(kWasmStmt, var_type);
|
| if (var->IsContextSlot()) {
|
| current_function_builder_->EmitWithVarInt(
|
| kExprGetGlobal, LookupOrInsertGlobal(var, var_type));
|
| @@ -755,10 +755,10 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| auto* func_table_type = typer_->TypeOf(p->obj()->AsVariableProxy()->var())
|
| ->AsFunctionTableType();
|
| const auto& arguments = func_type->Arguments();
|
| - LocalType return_type = TypeFrom(func_type->ReturnType());
|
| - FunctionSig::Builder sig(zone(), return_type == kAstStmt ? 0 : 1,
|
| + ValueType return_type = TypeFrom(func_type->ReturnType());
|
| + FunctionSig::Builder sig(zone(), return_type == kWasmStmt ? 0 : 1,
|
| arguments.size());
|
| - if (return_type != kAstStmt) {
|
| + if (return_type != kWasmStmt) {
|
| sig.AddReturn(return_type);
|
| }
|
| for (auto* arg : arguments) {
|
| @@ -924,8 +924,8 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| if (target_var != nullptr) {
|
| // Left hand side is a local or a global variable.
|
| Variable* var = target_var->var();
|
| - LocalType var_type = TypeOf(expr);
|
| - DCHECK_NE(kAstStmt, var_type);
|
| + ValueType var_type = TypeOf(expr);
|
| + DCHECK_NE(kWasmStmt, var_type);
|
| if (var->IsContextSlot()) {
|
| uint32_t index = LookupOrInsertGlobal(var, var_type);
|
| current_function_builder_->EmitWithVarInt(kExprSetGlobal, index);
|
| @@ -946,7 +946,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| Property* target_prop = expr->target()->AsProperty();
|
| if (target_prop != nullptr) {
|
| // Left hand side is a property access, i.e. the asm.js heap.
|
| - if (TypeOf(expr->value()) == kAstF64 && expr->target()->IsProperty() &&
|
| + if (TypeOf(expr->value()) == kWasmF64 && expr->target()->IsProperty() &&
|
| typer_->TypeOf(expr->target()->AsProperty()->obj())
|
| ->IsA(AsmType::Float32Array())) {
|
| current_function_builder_->Emit(kExprF32ConvertF64);
|
| @@ -1054,7 +1054,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| if (!key_literal->value().is_null()) {
|
| Handle<Name> name =
|
| Object::ToName(isolate_, key_literal->value()).ToHandleChecked();
|
| - LocalType type = is_float ? kAstF64 : kAstI32;
|
| + ValueType type = is_float ? kWasmF64 : kWasmI32;
|
| foreign_variables_.push_back({name, var, type});
|
| }
|
| }
|
| @@ -1075,7 +1075,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| Literal* value = expr->key()->AsLiteral();
|
| if (value) {
|
| DCHECK(value->raw_value()->IsNumber());
|
| - DCHECK_EQ(kAstI32, TypeOf(value));
|
| + DCHECK_EQ(kWasmI32, TypeOf(value));
|
| int32_t val = static_cast<int32_t>(value->raw_value()->AsNumber());
|
| // TODO(titzer): handle overflow here.
|
| current_function_builder_->EmitI32Const(val * size);
|
| @@ -1085,7 +1085,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| if (binop) {
|
| DCHECK_EQ(Token::SAR, binop->op());
|
| DCHECK(binop->right()->AsLiteral()->raw_value()->IsNumber());
|
| - DCHECK(kAstI32 == TypeOf(binop->right()->AsLiteral()));
|
| + DCHECK(kWasmI32 == TypeOf(binop->right()->AsLiteral()));
|
| DCHECK_EQ(size,
|
| 1 << static_cast<int>(
|
| binop->right()->AsLiteral()->raw_value()->AsNumber()));
|
| @@ -1131,7 +1131,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| AsmTyper::StandardMember standard_object =
|
| typer_->VariableAsStandardMember(var);
|
| ZoneList<Expression*>* args = call->arguments();
|
| - LocalType call_type = TypeOf(call);
|
| + ValueType call_type = TypeOf(call);
|
|
|
| switch (standard_object) {
|
| case AsmTyper::kNone: {
|
| @@ -1139,57 +1139,57 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| }
|
| case AsmTyper::kMathAcos: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Acos);
|
| break;
|
| }
|
| case AsmTyper::kMathAsin: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Asin);
|
| break;
|
| }
|
| case AsmTyper::kMathAtan: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Atan);
|
| break;
|
| }
|
| case AsmTyper::kMathCos: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Cos);
|
| break;
|
| }
|
| case AsmTyper::kMathSin: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Sin);
|
| break;
|
| }
|
| case AsmTyper::kMathTan: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Tan);
|
| break;
|
| }
|
| case AsmTyper::kMathExp: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Exp);
|
| break;
|
| }
|
| case AsmTyper::kMathLog: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Log);
|
| break;
|
| }
|
| case AsmTyper::kMathCeil: {
|
| VisitCallArgs(call);
|
| - if (call_type == kAstF32) {
|
| + if (call_type == kWasmF32) {
|
| current_function_builder_->Emit(kExprF32Ceil);
|
| - } else if (call_type == kAstF64) {
|
| + } else if (call_type == kWasmF64) {
|
| current_function_builder_->Emit(kExprF64Ceil);
|
| } else {
|
| UNREACHABLE();
|
| @@ -1198,9 +1198,9 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| }
|
| case AsmTyper::kMathFloor: {
|
| VisitCallArgs(call);
|
| - if (call_type == kAstF32) {
|
| + if (call_type == kWasmF32) {
|
| current_function_builder_->Emit(kExprF32Floor);
|
| - } else if (call_type == kAstF64) {
|
| + } else if (call_type == kWasmF64) {
|
| current_function_builder_->Emit(kExprF64Floor);
|
| } else {
|
| UNREACHABLE();
|
| @@ -1209,9 +1209,9 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| }
|
| case AsmTyper::kMathSqrt: {
|
| VisitCallArgs(call);
|
| - if (call_type == kAstF32) {
|
| + if (call_type == kWasmF32) {
|
| current_function_builder_->Emit(kExprF32Sqrt);
|
| - } else if (call_type == kAstF64) {
|
| + } else if (call_type == kWasmF64) {
|
| current_function_builder_->Emit(kExprF64Sqrt);
|
| } else {
|
| UNREACHABLE();
|
| @@ -1220,13 +1220,13 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| }
|
| case AsmTyper::kMathClz32: {
|
| VisitCallArgs(call);
|
| - DCHECK(call_type == kAstI32);
|
| + DCHECK(call_type == kWasmI32);
|
| current_function_builder_->Emit(kExprI32Clz);
|
| break;
|
| }
|
| case AsmTyper::kMathAbs: {
|
| - if (call_type == kAstI32) {
|
| - WasmTemporary tmp(current_function_builder_, kAstI32);
|
| + if (call_type == kWasmI32) {
|
| + WasmTemporary tmp(current_function_builder_, kWasmI32);
|
|
|
| // if set_local(tmp, x) < 0
|
| Visit(call->arguments()->at(0));
|
| @@ -1247,10 +1247,10 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| // end
|
| current_function_builder_->Emit(kExprEnd);
|
|
|
| - } else if (call_type == kAstF32) {
|
| + } else if (call_type == kWasmF32) {
|
| VisitCallArgs(call);
|
| current_function_builder_->Emit(kExprF32Abs);
|
| - } else if (call_type == kAstF64) {
|
| + } else if (call_type == kWasmF64) {
|
| VisitCallArgs(call);
|
| current_function_builder_->Emit(kExprF64Abs);
|
| } else {
|
| @@ -1260,9 +1260,9 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| }
|
| case AsmTyper::kMathMin: {
|
| // TODO(bradnelson): Change wasm to match Math.min in asm.js mode.
|
| - if (call_type == kAstI32) {
|
| - WasmTemporary tmp_x(current_function_builder_, kAstI32);
|
| - WasmTemporary tmp_y(current_function_builder_, kAstI32);
|
| + if (call_type == kWasmI32) {
|
| + WasmTemporary tmp_x(current_function_builder_, kWasmI32);
|
| + WasmTemporary tmp_y(current_function_builder_, kWasmI32);
|
|
|
| // if set_local(tmp_x, x) < set_local(tmp_y, y)
|
| Visit(call->arguments()->at(0));
|
| @@ -1282,10 +1282,10 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| current_function_builder_->EmitGetLocal(tmp_y.index());
|
| current_function_builder_->Emit(kExprEnd);
|
|
|
| - } else if (call_type == kAstF32) {
|
| + } else if (call_type == kWasmF32) {
|
| VisitCallArgs(call);
|
| current_function_builder_->Emit(kExprF32Min);
|
| - } else if (call_type == kAstF64) {
|
| + } else if (call_type == kWasmF64) {
|
| VisitCallArgs(call);
|
| current_function_builder_->Emit(kExprF64Min);
|
| } else {
|
| @@ -1295,9 +1295,9 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| }
|
| case AsmTyper::kMathMax: {
|
| // TODO(bradnelson): Change wasm to match Math.max in asm.js mode.
|
| - if (call_type == kAstI32) {
|
| - WasmTemporary tmp_x(current_function_builder_, kAstI32);
|
| - WasmTemporary tmp_y(current_function_builder_, kAstI32);
|
| + if (call_type == kWasmI32) {
|
| + WasmTemporary tmp_x(current_function_builder_, kWasmI32);
|
| + WasmTemporary tmp_y(current_function_builder_, kWasmI32);
|
|
|
| // if set_local(tmp_x, x) < set_local(tmp_y, y)
|
| Visit(call->arguments()->at(0));
|
| @@ -1318,10 +1318,10 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| current_function_builder_->EmitGetLocal(tmp_x.index());
|
| current_function_builder_->Emit(kExprEnd);
|
|
|
| - } else if (call_type == kAstF32) {
|
| + } else if (call_type == kWasmF32) {
|
| VisitCallArgs(call);
|
| current_function_builder_->Emit(kExprF32Max);
|
| - } else if (call_type == kAstF64) {
|
| + } else if (call_type == kWasmF64) {
|
| VisitCallArgs(call);
|
| current_function_builder_->Emit(kExprF64Max);
|
| } else {
|
| @@ -1331,13 +1331,13 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| }
|
| case AsmTyper::kMathAtan2: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Atan2);
|
| break;
|
| }
|
| case AsmTyper::kMathPow: {
|
| VisitCallArgs(call);
|
| - DCHECK_EQ(kAstF64, call_type);
|
| + DCHECK_EQ(kWasmF64, call_type);
|
| current_function_builder_->Emit(kExprF64Pow);
|
| break;
|
| }
|
| @@ -1418,11 +1418,11 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| VariableProxy* vp = expr->expression()->AsVariableProxy();
|
| DCHECK_NOT_NULL(vp);
|
| if (typer_->TypeOf(vp)->AsFFIType() != nullptr) {
|
| - LocalType return_type = TypeOf(expr);
|
| + ValueType return_type = TypeOf(expr);
|
| ZoneList<Expression*>* args = expr->arguments();
|
| - FunctionSig::Builder sig(zone(), return_type == kAstStmt ? 0 : 1,
|
| + FunctionSig::Builder sig(zone(), return_type == kWasmStmt ? 0 : 1,
|
| args->length());
|
| - if (return_type != kAstStmt) {
|
| + if (return_type != kWasmStmt) {
|
| sig.AddReturn(return_type);
|
| } else {
|
| returns_value = false;
|
| @@ -1466,7 +1466,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| // We have to use a temporary for the correct order of evaluation.
|
| current_function_builder_->EmitI32Const(indices->start_index);
|
| current_function_builder_->Emit(kExprI32Add);
|
| - WasmTemporary tmp(current_function_builder_, kAstI32);
|
| + WasmTemporary tmp(current_function_builder_, kWasmI32);
|
| current_function_builder_->EmitSetLocal(tmp.index());
|
|
|
| VisitCallArgs(expr);
|
| @@ -1496,7 +1496,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| RECURSE(Visit(expr->expression()));
|
| switch (expr->op()) {
|
| case Token::NOT: {
|
| - DCHECK_EQ(kAstI32, TypeOf(expr->expression()));
|
| + DCHECK_EQ(kWasmI32, TypeOf(expr->expression()));
|
| current_function_builder_->Emit(kExprI32Eqz);
|
| break;
|
| }
|
| @@ -1511,7 +1511,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| int32_t val) {
|
| DCHECK_NOT_NULL(expr->right());
|
| if (expr->op() == op && expr->right()->IsLiteral() &&
|
| - TypeOf(expr) == kAstI32) {
|
| + TypeOf(expr) == kWasmI32) {
|
| Literal* right = expr->right()->AsLiteral();
|
| if (right->raw_value()->IsNumber() &&
|
| static_cast<int32_t>(right->raw_value()->AsNumber()) == val) {
|
| @@ -1525,7 +1525,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| double val) {
|
| DCHECK_NOT_NULL(expr->right());
|
| if (expr->op() == op && expr->right()->IsLiteral() &&
|
| - TypeOf(expr) == kAstF64) {
|
| + TypeOf(expr) == kWasmF64) {
|
| Literal* right = expr->right()->AsLiteral();
|
| DCHECK(right->raw_value()->IsNumber());
|
| if (right->raw_value()->AsNumber() == val) {
|
| @@ -1539,7 +1539,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
|
|
| ConvertOperation MatchOr(BinaryOperation* expr) {
|
| if (MatchIntBinaryOperation(expr, Token::BIT_OR, 0) &&
|
| - (TypeOf(expr->left()) == kAstI32)) {
|
| + (TypeOf(expr->left()) == kWasmI32)) {
|
| return kAsIs;
|
| } else {
|
| return kNone;
|
| @@ -1549,7 +1549,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| ConvertOperation MatchShr(BinaryOperation* expr) {
|
| if (MatchIntBinaryOperation(expr, Token::SHR, 0)) {
|
| // TODO(titzer): this probably needs to be kToUint
|
| - return (TypeOf(expr->left()) == kAstI32) ? kAsIs : kToInt;
|
| + return (TypeOf(expr->left()) == kWasmI32) ? kAsIs : kToInt;
|
| } else {
|
| return kNone;
|
| }
|
| @@ -1557,13 +1557,13 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
|
|
| ConvertOperation MatchXor(BinaryOperation* expr) {
|
| if (MatchIntBinaryOperation(expr, Token::BIT_XOR, 0xffffffff)) {
|
| - DCHECK_EQ(kAstI32, TypeOf(expr->left()));
|
| - DCHECK_EQ(kAstI32, TypeOf(expr->right()));
|
| + DCHECK_EQ(kWasmI32, TypeOf(expr->left()));
|
| + DCHECK_EQ(kWasmI32, TypeOf(expr->right()));
|
| BinaryOperation* op = expr->left()->AsBinaryOperation();
|
| if (op != nullptr) {
|
| if (MatchIntBinaryOperation(op, Token::BIT_XOR, 0xffffffff)) {
|
| - DCHECK_EQ(kAstI32, TypeOf(op->right()));
|
| - if (TypeOf(op->left()) != kAstI32) {
|
| + DCHECK_EQ(kWasmI32, TypeOf(op->right()));
|
| + if (TypeOf(op->left()) != kWasmI32) {
|
| return kToInt;
|
| } else {
|
| return kAsIs;
|
| @@ -1576,8 +1576,8 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
|
|
| ConvertOperation MatchMul(BinaryOperation* expr) {
|
| if (MatchDoubleBinaryOperation(expr, Token::MUL, 1.0)) {
|
| - DCHECK_EQ(kAstF64, TypeOf(expr->right()));
|
| - if (TypeOf(expr->left()) != kAstF64) {
|
| + DCHECK_EQ(kWasmF64, TypeOf(expr->right()));
|
| + if (TypeOf(expr->left()) != kWasmF64) {
|
| return kToDouble;
|
| } else {
|
| return kAsIs;
|
| @@ -1836,7 +1836,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| uint32_t index;
|
| };
|
|
|
| - uint32_t LookupOrInsertLocal(Variable* v, LocalType type) {
|
| + uint32_t LookupOrInsertLocal(Variable* v, ValueType type) {
|
| DCHECK_NOT_NULL(current_function_builder_);
|
| ZoneHashMap::Entry* entry =
|
| local_variables_.Lookup(v, ComputePointerHash(v));
|
| @@ -1853,7 +1853,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| return (reinterpret_cast<IndexContainer*>(entry->value))->index;
|
| }
|
|
|
| - void InsertParameter(Variable* v, LocalType type, uint32_t index) {
|
| + void InsertParameter(Variable* v, ValueType type, uint32_t index) {
|
| DCHECK(v->IsParameter());
|
| DCHECK_NOT_NULL(current_function_builder_);
|
| ZoneHashMap::Entry* entry =
|
| @@ -1866,7 +1866,7 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| entry->value = container;
|
| }
|
|
|
| - uint32_t LookupOrInsertGlobal(Variable* v, LocalType type) {
|
| + uint32_t LookupOrInsertGlobal(Variable* v, ValueType type) {
|
| ZoneHashMap::Entry* entry =
|
| global_variables_.Lookup(v, ComputePointerHash(v));
|
| if (entry == nullptr) {
|
| @@ -1887,14 +1887,14 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| auto* func_type = typer_->TypeOf(v)->AsFunctionType();
|
| DCHECK_NOT_NULL(func_type);
|
| // Build the signature for the function.
|
| - LocalType return_type = TypeFrom(func_type->ReturnType());
|
| + ValueType return_type = TypeFrom(func_type->ReturnType());
|
| const auto& arguments = func_type->Arguments();
|
| - FunctionSig::Builder b(zone(), return_type == kAstStmt ? 0 : 1,
|
| + FunctionSig::Builder b(zone(), return_type == kWasmStmt ? 0 : 1,
|
| arguments.size());
|
| - if (return_type != kAstStmt) b.AddReturn(return_type);
|
| + if (return_type != kWasmStmt) b.AddReturn(return_type);
|
| for (int i = 0; i < static_cast<int>(arguments.size()); ++i) {
|
| - LocalType type = TypeFrom(arguments[i]);
|
| - DCHECK_NE(kAstStmt, type);
|
| + ValueType type = TypeFrom(arguments[i]);
|
| + DCHECK_NE(kWasmStmt, type);
|
| b.AddParam(type);
|
| }
|
|
|
| @@ -1909,22 +1909,22 @@ class AsmWasmBuilderImpl final : public AstVisitor<AsmWasmBuilderImpl> {
|
| return (reinterpret_cast<WasmFunctionBuilder*>(entry->value));
|
| }
|
|
|
| - LocalType TypeOf(Expression* expr) { return TypeFrom(typer_->TypeOf(expr)); }
|
| + ValueType TypeOf(Expression* expr) { return TypeFrom(typer_->TypeOf(expr)); }
|
|
|
| - LocalType TypeFrom(AsmType* type) {
|
| + ValueType TypeFrom(AsmType* type) {
|
| if (type->IsA(AsmType::Intish())) {
|
| - return kAstI32;
|
| + return kWasmI32;
|
| }
|
|
|
| if (type->IsA(AsmType::Floatish())) {
|
| - return kAstF32;
|
| + return kWasmF32;
|
| }
|
|
|
| if (type->IsA(AsmType::DoubleQ())) {
|
| - return kAstF64;
|
| + return kWasmF64;
|
| }
|
|
|
| - return kAstStmt;
|
| + return kWasmStmt;
|
| }
|
|
|
| Zone* zone() { return zone_; }
|
|
|