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

Unified Diff: src/wasm/function-body-decoder.cc

Issue 2594993002: [wasm] Rename wasm::LocalType to wasm::ValueType and kAst* to kWasm* (Closed)
Patch Set: Fix inspector tests Created 4 years 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 | « src/wasm/function-body-decoder.h ('k') | src/wasm/module-decoder.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/wasm/function-body-decoder.cc
diff --git a/src/wasm/function-body-decoder.cc b/src/wasm/function-body-decoder.cc
index 9bc681a2c21d742ff84b8c9c94b2e1e53cd9c9d8..1ed95834d806528e0d3bd4f29eff237e21bfba16 100644
--- a/src/wasm/function-body-decoder.cc
+++ b/src/wasm/function-body-decoder.cc
@@ -70,7 +70,7 @@ struct SsaEnv {
struct Value {
const byte* pc;
TFNode* node;
- LocalType type;
+ ValueType type;
};
struct TryInfo : public ZoneObject {
@@ -174,14 +174,14 @@ class WasmDecoder : public Decoder {
ModuleEnv* module_;
FunctionSig* sig_;
size_t total_locals_;
- ZoneVector<LocalType>* local_types_;
+ ZoneVector<ValueType>* local_types_;
inline bool Validate(const byte* pc, LocalIndexOperand& operand) {
if (operand.index < total_locals_) {
if (local_types_) {
operand.type = local_types_->at(operand.index);
} else {
- operand.type = kAstStmt;
+ operand.type = kWasmStmt;
}
return true;
}
@@ -469,12 +469,12 @@ class WasmFullDecoder : public WasmDecoder {
decls.local_types.reserve(local_type_vec_.size());
for (size_t pos = 0; pos < local_type_vec_.size();) {
uint32_t count = 0;
- LocalType type = local_type_vec_[pos];
+ ValueType type = local_type_vec_[pos];
while (pos < local_type_vec_.size() && local_type_vec_[pos] == type) {
pos++;
count++;
}
- decls.local_types.push_back(std::pair<LocalType, uint32_t>(type, count));
+ decls.local_types.push_back(std::pair<ValueType, uint32_t>(type, count));
}
decls.total_local_count = static_cast<uint32_t>(local_type_vec_.size());
return true;
@@ -486,7 +486,7 @@ class WasmFullDecoder : public WasmDecoder {
local_type_vec_.reserve(num_locals);
if (num_locals > local_type_vec_.size()) {
local_type_vec_.insert(local_type_vec_.end(),
- num_locals - local_type_vec_.size(), kAstI32);
+ num_locals - local_type_vec_.size(), kWasmI32);
}
return AnalyzeLoopAssignment(pc);
}
@@ -500,7 +500,7 @@ class WasmFullDecoder : public WasmDecoder {
SsaEnv* ssa_env_;
- ZoneVector<LocalType> local_type_vec_; // types of local variables.
+ ZoneVector<ValueType> local_type_vec_; // types of local variables.
ZoneVector<Value> stack_; // stack of values.
ZoneVector<Control> control_; // stack of blocks, loops, and ifs.
bool last_end_found_;
@@ -528,7 +528,7 @@ class WasmFullDecoder : public WasmDecoder {
index++;
}
while (index < local_type_vec_.size()) {
- LocalType type = local_type_vec_[index];
+ ValueType type = local_type_vec_[index];
TFNode* node = DefaultValue(type);
while (index < local_type_vec_.size() &&
local_type_vec_[index] == type) {
@@ -546,17 +546,17 @@ class WasmFullDecoder : public WasmDecoder {
}
}
- TFNode* DefaultValue(LocalType type) {
+ TFNode* DefaultValue(ValueType type) {
switch (type) {
- case kAstI32:
+ case kWasmI32:
return builder_->Int32Constant(0);
- case kAstI64:
+ case kWasmI64:
return builder_->Int64Constant(0);
- case kAstF32:
+ case kWasmF32:
return builder_->Float32Constant(0);
- case kAstF64:
+ case kWasmF64:
return builder_->Float64Constant(0);
- case kAstS128:
+ case kWasmS128:
return builder_->CreateS128Value(0);
default:
UNREACHABLE();
@@ -595,22 +595,22 @@ class WasmFullDecoder : public WasmDecoder {
return;
}
byte code = consume_u8("local type");
- LocalType type;
+ ValueType type;
switch (code) {
case kLocalI32:
- type = kAstI32;
+ type = kWasmI32;
break;
case kLocalI64:
- type = kAstI64;
+ type = kWasmI64;
break;
case kLocalF32:
- type = kAstF32;
+ type = kWasmF32;
break;
case kLocalF64:
- type = kAstF64;
+ type = kWasmF64;
break;
case kLocalS128:
- type = kAstS128;
+ type = kWasmS128;
break;
default:
error(pc_ - 1, "invalid local type");
@@ -676,7 +676,7 @@ class WasmFullDecoder : public WasmDecoder {
}
case kExprThrow: {
CHECK_PROTOTYPE_OPCODE(wasm_eh_prototype);
- Value value = Pop(0, kAstI32);
+ Value value = Pop(0, kWasmI32);
BUILD(Throw, value.node);
break;
}
@@ -749,7 +749,7 @@ class WasmFullDecoder : public WasmDecoder {
case kExprIf: {
// Condition on top of stack. Split environments for branches.
BlockTypeOperand operand(this, pc_);
- Value cond = Pop(0, kAstI32);
+ Value cond = Pop(0, kWasmI32);
TFNode* if_true = nullptr;
TFNode* if_false = nullptr;
BUILD(BranchNoHint, cond.node, &if_true, &if_false);
@@ -857,19 +857,19 @@ class WasmFullDecoder : public WasmDecoder {
break;
}
case kExprSelect: {
- Value cond = Pop(2, kAstI32);
+ Value cond = Pop(2, kWasmI32);
Value fval = Pop();
Value tval = Pop();
- if (tval.type == kAstStmt || tval.type != fval.type) {
- if (tval.type != kAstEnd && fval.type != kAstEnd) {
+ if (tval.type == kWasmStmt || tval.type != fval.type) {
+ if (tval.type != kWasmEnd && fval.type != kWasmEnd) {
error("type mismatch in select");
break;
}
}
if (build()) {
- DCHECK(tval.type != kAstEnd);
- DCHECK(fval.type != kAstEnd);
- DCHECK(cond.type != kAstEnd);
+ DCHECK(tval.type != kWasmEnd);
+ DCHECK(fval.type != kWasmEnd);
+ DCHECK(cond.type != kWasmEnd);
TFNode* controls[2];
builder_->BranchNoHint(cond.node, &controls[0], &controls[1]);
TFNode* merge = builder_->Merge(2, controls);
@@ -893,7 +893,7 @@ class WasmFullDecoder : public WasmDecoder {
}
case kExprBrIf: {
BreakDepthOperand operand(this, pc_);
- Value cond = Pop(0, kAstI32);
+ Value cond = Pop(0, kWasmI32);
if (ok() && Validate(pc_, operand, control_)) {
SsaEnv* fenv = ssa_env_;
SsaEnv* tenv = Split(fenv);
@@ -910,7 +910,7 @@ class WasmFullDecoder : public WasmDecoder {
BranchTableOperand operand(this, pc_);
BranchTableIterator iterator(this, operand);
if (Validate(pc_, operand, control_.size())) {
- Value key = Pop(0, kAstI32);
+ Value key = Pop(0, kWasmI32);
if (failed()) break;
SsaEnv* break_env = ssa_env_;
@@ -962,31 +962,31 @@ class WasmFullDecoder : public WasmDecoder {
}
case kExprI8Const: {
ImmI8Operand operand(this, pc_);
- Push(kAstI32, BUILD(Int32Constant, operand.value));
+ Push(kWasmI32, BUILD(Int32Constant, operand.value));
len = 1 + operand.length;
break;
}
case kExprI32Const: {
ImmI32Operand operand(this, pc_);
- Push(kAstI32, BUILD(Int32Constant, operand.value));
+ Push(kWasmI32, BUILD(Int32Constant, operand.value));
len = 1 + operand.length;
break;
}
case kExprI64Const: {
ImmI64Operand operand(this, pc_);
- Push(kAstI64, BUILD(Int64Constant, operand.value));
+ Push(kWasmI64, BUILD(Int64Constant, operand.value));
len = 1 + operand.length;
break;
}
case kExprF32Const: {
ImmF32Operand operand(this, pc_);
- Push(kAstF32, BUILD(Float32Constant, operand.value));
+ Push(kWasmF32, BUILD(Float32Constant, operand.value));
len = 1 + operand.length;
break;
}
case kExprF64Const: {
ImmF64Operand operand(this, pc_);
- Push(kAstF64, BUILD(Float64Constant, operand.value));
+ Push(kWasmF64, BUILD(Float64Constant, operand.value));
len = 1 + operand.length;
break;
}
@@ -1048,79 +1048,79 @@ class WasmFullDecoder : public WasmDecoder {
break;
}
case kExprI32LoadMem8S:
- len = DecodeLoadMem(kAstI32, MachineType::Int8());
+ len = DecodeLoadMem(kWasmI32, MachineType::Int8());
break;
case kExprI32LoadMem8U:
- len = DecodeLoadMem(kAstI32, MachineType::Uint8());
+ len = DecodeLoadMem(kWasmI32, MachineType::Uint8());
break;
case kExprI32LoadMem16S:
- len = DecodeLoadMem(kAstI32, MachineType::Int16());
+ len = DecodeLoadMem(kWasmI32, MachineType::Int16());
break;
case kExprI32LoadMem16U:
- len = DecodeLoadMem(kAstI32, MachineType::Uint16());
+ len = DecodeLoadMem(kWasmI32, MachineType::Uint16());
break;
case kExprI32LoadMem:
- len = DecodeLoadMem(kAstI32, MachineType::Int32());
+ len = DecodeLoadMem(kWasmI32, MachineType::Int32());
break;
case kExprI64LoadMem8S:
- len = DecodeLoadMem(kAstI64, MachineType::Int8());
+ len = DecodeLoadMem(kWasmI64, MachineType::Int8());
break;
case kExprI64LoadMem8U:
- len = DecodeLoadMem(kAstI64, MachineType::Uint8());
+ len = DecodeLoadMem(kWasmI64, MachineType::Uint8());
break;
case kExprI64LoadMem16S:
- len = DecodeLoadMem(kAstI64, MachineType::Int16());
+ len = DecodeLoadMem(kWasmI64, MachineType::Int16());
break;
case kExprI64LoadMem16U:
- len = DecodeLoadMem(kAstI64, MachineType::Uint16());
+ len = DecodeLoadMem(kWasmI64, MachineType::Uint16());
break;
case kExprI64LoadMem32S:
- len = DecodeLoadMem(kAstI64, MachineType::Int32());
+ len = DecodeLoadMem(kWasmI64, MachineType::Int32());
break;
case kExprI64LoadMem32U:
- len = DecodeLoadMem(kAstI64, MachineType::Uint32());
+ len = DecodeLoadMem(kWasmI64, MachineType::Uint32());
break;
case kExprI64LoadMem:
- len = DecodeLoadMem(kAstI64, MachineType::Int64());
+ len = DecodeLoadMem(kWasmI64, MachineType::Int64());
break;
case kExprF32LoadMem:
- len = DecodeLoadMem(kAstF32, MachineType::Float32());
+ len = DecodeLoadMem(kWasmF32, MachineType::Float32());
break;
case kExprF64LoadMem:
- len = DecodeLoadMem(kAstF64, MachineType::Float64());
+ len = DecodeLoadMem(kWasmF64, MachineType::Float64());
break;
case kExprI32StoreMem8:
- len = DecodeStoreMem(kAstI32, MachineType::Int8());
+ len = DecodeStoreMem(kWasmI32, MachineType::Int8());
break;
case kExprI32StoreMem16:
- len = DecodeStoreMem(kAstI32, MachineType::Int16());
+ len = DecodeStoreMem(kWasmI32, MachineType::Int16());
break;
case kExprI32StoreMem:
- len = DecodeStoreMem(kAstI32, MachineType::Int32());
+ len = DecodeStoreMem(kWasmI32, MachineType::Int32());
break;
case kExprI64StoreMem8:
- len = DecodeStoreMem(kAstI64, MachineType::Int8());
+ len = DecodeStoreMem(kWasmI64, MachineType::Int8());
break;
case kExprI64StoreMem16:
- len = DecodeStoreMem(kAstI64, MachineType::Int16());
+ len = DecodeStoreMem(kWasmI64, MachineType::Int16());
break;
case kExprI64StoreMem32:
- len = DecodeStoreMem(kAstI64, MachineType::Int32());
+ len = DecodeStoreMem(kWasmI64, MachineType::Int32());
break;
case kExprI64StoreMem:
- len = DecodeStoreMem(kAstI64, MachineType::Int64());
+ len = DecodeStoreMem(kWasmI64, MachineType::Int64());
break;
case kExprF32StoreMem:
- len = DecodeStoreMem(kAstF32, MachineType::Float32());
+ len = DecodeStoreMem(kWasmF32, MachineType::Float32());
break;
case kExprF64StoreMem:
- len = DecodeStoreMem(kAstF64, MachineType::Float64());
+ len = DecodeStoreMem(kWasmF64, MachineType::Float64());
break;
case kExprGrowMemory: {
MemoryIndexOperand operand(this, pc_);
if (module_->module->origin != kAsmJsOrigin) {
- Value val = Pop(0, kAstI32);
- Push(kAstI32, BUILD(GrowMemory, val.node));
+ Value val = Pop(0, kWasmI32);
+ Push(kWasmI32, BUILD(GrowMemory, val.node));
} else {
error("grow_memory is not supported for asmjs modules");
}
@@ -1129,7 +1129,7 @@ class WasmFullDecoder : public WasmDecoder {
}
case kExprMemorySize: {
MemoryIndexOperand operand(this, pc_);
- Push(kAstI32, BUILD(CurrentMemoryPages));
+ Push(kWasmI32, BUILD(CurrentMemoryPages));
len = 1 + operand.length;
break;
}
@@ -1147,7 +1147,7 @@ class WasmFullDecoder : public WasmDecoder {
case kExprCallIndirect: {
CallIndirectOperand operand(this, pc_);
if (Validate(pc_, operand)) {
- Value index = Pop(0, kAstI32);
+ Value index = Pop(0, kWasmI32);
TFNode** buffer = PopArgs(operand.sig);
if (buffer) buffer[0] = index.node;
TFNode** rets = nullptr;
@@ -1276,8 +1276,8 @@ class WasmFullDecoder : public WasmDecoder {
}
}
- LocalType GetReturnType(FunctionSig* sig) {
- return sig->return_count() == 0 ? kAstStmt : sig->GetReturn();
+ ValueType GetReturnType(FunctionSig* sig) {
+ return sig->return_count() == 0 ? kWasmStmt : sig->GetReturn();
}
void PushBlock(SsaEnv* end_env) {
@@ -1307,46 +1307,46 @@ class WasmFullDecoder : public WasmDecoder {
void PopControl() { control_.pop_back(); }
- int DecodeLoadMem(LocalType type, MachineType mem_type) {
+ int DecodeLoadMem(ValueType type, MachineType mem_type) {
MemoryAccessOperand operand(this, pc_,
ElementSizeLog2Of(mem_type.representation()));
- Value index = Pop(0, kAstI32);
+ Value index = Pop(0, kWasmI32);
TFNode* node = BUILD(LoadMem, type, mem_type, index.node, operand.offset,
operand.alignment, position());
Push(type, node);
return 1 + operand.length;
}
- int DecodeStoreMem(LocalType type, MachineType mem_type) {
+ int DecodeStoreMem(ValueType type, MachineType mem_type) {
MemoryAccessOperand operand(this, pc_,
ElementSizeLog2Of(mem_type.representation()));
Value val = Pop(1, type);
- Value index = Pop(0, kAstI32);
+ Value index = Pop(0, kWasmI32);
BUILD(StoreMem, mem_type, index.node, operand.offset, operand.alignment,
val.node, position());
return 1 + operand.length;
}
- unsigned ExtractLane(WasmOpcode opcode, LocalType type) {
+ unsigned ExtractLane(WasmOpcode opcode, ValueType type) {
LaneOperand operand(this, pc_);
if (Validate(pc_, operand)) {
compiler::NodeVector inputs(1, zone_);
- inputs[0] = Pop(0, LocalType::kSimd128).node;
+ inputs[0] = Pop(0, ValueType::kSimd128).node;
TFNode* node = BUILD(SimdLaneOp, opcode, operand.lane, inputs);
Push(type, node);
}
return operand.length;
}
- unsigned ReplaceLane(WasmOpcode opcode, LocalType type) {
+ unsigned ReplaceLane(WasmOpcode opcode, ValueType type) {
LaneOperand operand(this, pc_);
if (Validate(pc_, operand)) {
compiler::NodeVector inputs(2, zone_);
inputs[1] = Pop(1, type).node;
- inputs[0] = Pop(0, LocalType::kSimd128).node;
+ inputs[0] = Pop(0, ValueType::kSimd128).node;
TFNode* node = BUILD(SimdLaneOp, opcode, operand.lane, inputs);
- Push(LocalType::kSimd128, node);
+ Push(ValueType::kSimd128, node);
}
return operand.length;
}
@@ -1355,19 +1355,19 @@ class WasmFullDecoder : public WasmDecoder {
unsigned len = 0;
switch (opcode) {
case kExprI32x4ExtractLane: {
- len = ExtractLane(opcode, LocalType::kWord32);
+ len = ExtractLane(opcode, ValueType::kWord32);
break;
}
case kExprF32x4ExtractLane: {
- len = ExtractLane(opcode, LocalType::kFloat32);
+ len = ExtractLane(opcode, ValueType::kFloat32);
break;
}
case kExprI32x4ReplaceLane: {
- len = ReplaceLane(opcode, LocalType::kWord32);
+ len = ReplaceLane(opcode, ValueType::kWord32);
break;
}
case kExprF32x4ReplaceLane: {
- len = ReplaceLane(opcode, LocalType::kFloat32);
+ len = ReplaceLane(opcode, ValueType::kFloat32);
break;
}
default: {
@@ -1405,8 +1405,8 @@ class WasmFullDecoder : public WasmDecoder {
EndControl();
}
- void Push(LocalType type, TFNode* node) {
- if (type != kAstStmt && type != kAstEnd) {
+ void Push(ValueType type, TFNode* node) {
+ if (type != kWasmStmt && type != kWasmEnd) {
stack_.push_back({pc_, node, type});
}
}
@@ -1423,14 +1423,14 @@ class WasmFullDecoder : public WasmDecoder {
return WasmOpcodes::ShortOpcodeName(static_cast<WasmOpcode>(*pc));
}
- Value Pop(int index, LocalType expected) {
+ Value Pop(int index, ValueType expected) {
if (!ssa_env_->go()) {
// Unreachable code is essentially not typechecked.
return {pc_, nullptr, expected};
}
Value val = Pop();
if (val.type != expected) {
- if (val.type != kAstEnd) {
+ if (val.type != kWasmEnd) {
error(pc_, val.pc, "%s[%d] expected type %s, found %s of type %s",
SafeOpcodeNameAt(pc_), index, WasmOpcodes::TypeName(expected),
SafeOpcodeNameAt(val.pc), WasmOpcodes::TypeName(val.type));
@@ -1442,11 +1442,11 @@ class WasmFullDecoder : public WasmDecoder {
Value Pop() {
if (!ssa_env_->go()) {
// Unreachable code is essentially not typechecked.
- return {pc_, nullptr, kAstEnd};
+ return {pc_, nullptr, kWasmEnd};
}
size_t limit = control_.empty() ? 0 : control_.back().stack_depth;
if (stack_.size() <= limit) {
- Value val = {pc_, nullptr, kAstStmt};
+ Value val = {pc_, nullptr, kWasmStmt};
error(pc_, pc_, "%s found empty stack", SafeOpcodeNameAt(pc_));
return val;
}
@@ -1458,10 +1458,10 @@ class WasmFullDecoder : public WasmDecoder {
Value PopUpTo(int stack_depth) {
if (!ssa_env_->go()) {
// Unreachable code is essentially not typechecked.
- return {pc_, nullptr, kAstEnd};
+ return {pc_, nullptr, kWasmEnd};
}
if (stack_depth == static_cast<int>(stack_.size())) {
- Value val = {pc_, nullptr, kAstStmt};
+ Value val = {pc_, nullptr, kWasmStmt};
return val;
} else {
DCHECK_LE(stack_depth, stack_.size());
@@ -1626,7 +1626,7 @@ class WasmFullDecoder : public WasmDecoder {
} else {
DCHECK_EQ(SsaEnv::kMerged, try_info->catch_env->state);
try_info->exception =
- CreateOrMergeIntoPhi(kAstI32, try_info->catch_env->control,
+ CreateOrMergeIntoPhi(kWasmI32, try_info->catch_env->control,
try_info->exception, if_exception);
}
@@ -1710,7 +1710,7 @@ class WasmFullDecoder : public WasmDecoder {
return from->Kill();
}
- TFNode* CreateOrMergeIntoPhi(LocalType type, TFNode* merge, TFNode* tnode,
+ TFNode* CreateOrMergeIntoPhi(ValueType type, TFNode* merge, TFNode* tnode,
TFNode* fnode) {
DCHECK_NOT_NULL(builder_);
if (builder_->IsPhiWithMerge(tnode, merge)) {
@@ -1955,7 +1955,7 @@ bool PrintWasmCode(AccountingAllocator* allocator, const FunctionBody& body,
if (body.start != i.pc() && !FLAG_wasm_code_fuzzer_gen_test) {
os << "// locals: ";
for (auto p : decls.local_types) {
- LocalType type = p.first;
+ ValueType type = p.first;
uint32_t count = p.second;
os << " " << count << " " << WasmOpcodes::TypeName(type);
}
« no previous file with comments | « src/wasm/function-body-decoder.h ('k') | src/wasm/module-decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698