Index: test/unittests/wasm/module-decoder-unittest.cc |
diff --git a/test/unittests/wasm/module-decoder-unittest.cc b/test/unittests/wasm/module-decoder-unittest.cc |
index c855cff7a682df7d6c9e721061a0fba29c4aafe5..cb61d48baa14d97fa8526017264b7aa92268ba4c 100644 |
--- a/test/unittests/wasm/module-decoder-unittest.cc |
+++ b/test/unittests/wasm/module-decoder-unittest.cc |
@@ -107,11 +107,11 @@ TEST_F(WasmModuleVerifyTest, OneGlobal) { |
// Should decode to exactly one global. |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(1, result.val->globals->size()); |
- EXPECT_EQ(0, result.val->functions->size()); |
- EXPECT_EQ(0, result.val->data_segments->size()); |
+ EXPECT_EQ(1, result.val->globals.size()); |
+ EXPECT_EQ(0, result.val->functions.size()); |
+ EXPECT_EQ(0, result.val->data_segments.size()); |
- WasmGlobal* global = &result.val->globals->back(); |
+ WasmGlobal* global = &result.val->globals.back(); |
EXPECT_EQ(0, global->name_offset); |
EXPECT_EQ(MachineType::Int32(), global->type); |
@@ -214,12 +214,12 @@ TEST_F(WasmModuleVerifyTest, TwoGlobals) { |
// Should decode to exactly two globals. |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(2, result.val->globals->size()); |
- EXPECT_EQ(0, result.val->functions->size()); |
- EXPECT_EQ(0, result.val->data_segments->size()); |
+ EXPECT_EQ(2, result.val->globals.size()); |
+ EXPECT_EQ(0, result.val->functions.size()); |
+ EXPECT_EQ(0, result.val->data_segments.size()); |
- WasmGlobal* g0 = &result.val->globals->at(0); |
- WasmGlobal* g1 = &result.val->globals->at(1); |
+ WasmGlobal* g0 = &result.val->globals[0]; |
+ WasmGlobal* g1 = &result.val->globals[1]; |
EXPECT_EQ(0, g0->name_offset); |
EXPECT_EQ(MachineType::Float32(), g0->type); |
@@ -268,15 +268,15 @@ TEST_F(WasmModuleVerifyTest, MultipleSignatures) { |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(3, result.val->signatures->size()); |
- if (result.val->signatures->size() == 3) { |
- EXPECT_EQ(0, result.val->signatures->at(0)->return_count()); |
- EXPECT_EQ(1, result.val->signatures->at(1)->return_count()); |
- EXPECT_EQ(1, result.val->signatures->at(2)->return_count()); |
- |
- EXPECT_EQ(0, result.val->signatures->at(0)->parameter_count()); |
- EXPECT_EQ(1, result.val->signatures->at(1)->parameter_count()); |
- EXPECT_EQ(2, result.val->signatures->at(2)->parameter_count()); |
+ EXPECT_EQ(3, result.val->signatures.size()); |
+ if (result.val->signatures.size() == 3) { |
+ EXPECT_EQ(0, result.val->signatures[0]->return_count()); |
+ EXPECT_EQ(1, result.val->signatures[1]->return_count()); |
+ EXPECT_EQ(1, result.val->signatures[2]->return_count()); |
+ |
+ EXPECT_EQ(0, result.val->signatures[0]->parameter_count()); |
+ EXPECT_EQ(1, result.val->signatures[1]->parameter_count()); |
+ EXPECT_EQ(2, result.val->signatures[2]->parameter_count()); |
} |
if (result.val) delete result.val; |
@@ -331,13 +331,13 @@ TEST_F(WasmModuleVerifyTest, OneEmptyVoidVoidFunction) { |
// Should decode to exactly one function. |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(0, result.val->globals->size()); |
- EXPECT_EQ(1, result.val->signatures->size()); |
- EXPECT_EQ(1, result.val->functions->size()); |
- EXPECT_EQ(0, result.val->data_segments->size()); |
- EXPECT_EQ(0, result.val->function_table->size()); |
+ EXPECT_EQ(0, result.val->globals.size()); |
+ EXPECT_EQ(1, result.val->signatures.size()); |
+ EXPECT_EQ(1, result.val->functions.size()); |
+ EXPECT_EQ(0, result.val->data_segments.size()); |
+ EXPECT_EQ(0, result.val->function_table.size()); |
- WasmFunction* function = &result.val->functions->back(); |
+ WasmFunction* function = &result.val->functions.back(); |
EXPECT_EQ(9, function->name_offset); |
EXPECT_EQ(kCodeStartOffset, function->code_start_offset); |
@@ -370,8 +370,8 @@ TEST_F(WasmModuleVerifyTest, OneFunctionImported) { |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(1, result.val->functions->size()); |
- WasmFunction* function = &result.val->functions->back(); |
+ EXPECT_EQ(1, result.val->functions.size()); |
+ WasmFunction* function = &result.val->functions.back(); |
EXPECT_EQ(0, function->name_offset); |
EXPECT_EQ(0, function->code_start_offset); |
@@ -407,8 +407,8 @@ TEST_F(WasmModuleVerifyTest, OneFunctionWithNopBody) { |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(1, result.val->functions->size()); |
- WasmFunction* function = &result.val->functions->back(); |
+ EXPECT_EQ(1, result.val->functions.size()); |
+ WasmFunction* function = &result.val->functions.back(); |
EXPECT_EQ(0, function->name_offset); |
EXPECT_EQ(kCodeStartOffset, function->code_start_offset); |
@@ -447,8 +447,8 @@ TEST_F(WasmModuleVerifyTest, OneFunctionWithNopBody_WithLocals) { |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(1, result.val->functions->size()); |
- WasmFunction* function = &result.val->functions->back(); |
+ EXPECT_EQ(1, result.val->functions.size()); |
+ WasmFunction* function = &result.val->functions.back(); |
EXPECT_EQ(0, function->name_offset); |
EXPECT_EQ(kCodeStartOffset, function->code_start_offset); |
@@ -504,18 +504,18 @@ TEST_F(WasmModuleVerifyTest, OneGlobalOneFunctionWithNopBodyOneDataSegment) { |
{ |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(1, result.val->globals->size()); |
- EXPECT_EQ(1, result.val->functions->size()); |
- EXPECT_EQ(1, result.val->data_segments->size()); |
+ EXPECT_EQ(1, result.val->globals.size()); |
+ EXPECT_EQ(1, result.val->functions.size()); |
+ EXPECT_EQ(1, result.val->data_segments.size()); |
- WasmGlobal* global = &result.val->globals->back(); |
+ WasmGlobal* global = &result.val->globals.back(); |
EXPECT_EQ(0, global->name_offset); |
EXPECT_EQ(MachineType::Uint8(), global->type); |
EXPECT_EQ(0, global->offset); |
EXPECT_FALSE(global->exported); |
- WasmFunction* function = &result.val->functions->back(); |
+ WasmFunction* function = &result.val->functions.back(); |
EXPECT_EQ(9, function->name_offset); |
EXPECT_EQ(kCodeStartOffset, function->code_start_offset); |
@@ -524,7 +524,7 @@ TEST_F(WasmModuleVerifyTest, OneGlobalOneFunctionWithNopBodyOneDataSegment) { |
EXPECT_FALSE(function->exported); |
EXPECT_FALSE(function->external); |
- WasmDataSegment* segment = &result.val->data_segments->back(); |
+ WasmDataSegment* segment = &result.val->data_segments.back(); |
EXPECT_EQ(0x8b3ae, segment->dest_addr); |
EXPECT_EQ(15, segment->source_offset); |
@@ -551,11 +551,11 @@ TEST_F(WasmModuleVerifyTest, OneDataSegment) { |
EXPECT_VERIFIES(data); |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(0, result.val->globals->size()); |
- EXPECT_EQ(0, result.val->functions->size()); |
- EXPECT_EQ(1, result.val->data_segments->size()); |
+ EXPECT_EQ(0, result.val->globals.size()); |
+ EXPECT_EQ(0, result.val->functions.size()); |
+ EXPECT_EQ(1, result.val->data_segments.size()); |
- WasmDataSegment* segment = &result.val->data_segments->back(); |
+ WasmDataSegment* segment = &result.val->data_segments.back(); |
EXPECT_EQ(0x9bbaa, segment->dest_addr); |
EXPECT_EQ(11, segment->source_offset); |
@@ -590,12 +590,12 @@ TEST_F(WasmModuleVerifyTest, TwoDataSegments) { |
{ |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
- EXPECT_EQ(0, result.val->globals->size()); |
- EXPECT_EQ(0, result.val->functions->size()); |
- EXPECT_EQ(2, result.val->data_segments->size()); |
+ EXPECT_EQ(0, result.val->globals.size()); |
+ EXPECT_EQ(0, result.val->functions.size()); |
+ EXPECT_EQ(2, result.val->data_segments.size()); |
- WasmDataSegment* s0 = &result.val->data_segments->at(0); |
- WasmDataSegment* s1 = &result.val->data_segments->at(1); |
+ WasmDataSegment* s0 = &result.val->data_segments[0]; |
+ WasmDataSegment* s1 = &result.val->data_segments[1]; |
EXPECT_EQ(0x7ffee, s0->dest_addr); |
EXPECT_EQ(9, s0->source_offset); |
@@ -699,10 +699,10 @@ TEST_F(WasmModuleVerifyTest, OneIndirectFunction) { |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
if (result.ok()) { |
- EXPECT_EQ(1, result.val->signatures->size()); |
- EXPECT_EQ(1, result.val->functions->size()); |
- EXPECT_EQ(1, result.val->function_table->size()); |
- EXPECT_EQ(0, result.val->function_table->at(0)); |
+ EXPECT_EQ(1, result.val->signatures.size()); |
+ EXPECT_EQ(1, result.val->functions.size()); |
+ EXPECT_EQ(1, result.val->function_table.size()); |
+ EXPECT_EQ(0, result.val->function_table[0]); |
} |
if (result.val) delete result.val; |
} |
@@ -714,20 +714,30 @@ TEST_F(WasmModuleVerifyTest, MultipleIndirectFunctions) { |
kDeclSignatures, 2, 0, 0, // void -> void |
0, kLocalI32, // void -> i32 |
// func#0 ------------------------------------------------------ |
- kDeclFunctions, 4, FUNCTION(0, 1), FUNCTION(1, 1), FUNCTION(0, 1), |
- FUNCTION(1, 1), |
+ kDeclFunctions, 4, FUNCTION(0, 1), // -- |
+ FUNCTION(1, 1), // -- |
+ FUNCTION(0, 1), // -- |
+ FUNCTION(1, 1), // -- |
// indirect table ---------------------------------------------- |
- kDeclFunctionTable, 8, 0, 0, 1, 0, 2, 0, 3, 0, 0, 0, 1, 0, 2, 0, 3, 0, |
+ kDeclFunctionTable, 8, |
+ U16_LE(0), // -- |
+ U16_LE(1), // -- |
+ U16_LE(2), // -- |
+ U16_LE(3), // -- |
+ U16_LE(0), // -- |
+ U16_LE(1), // -- |
+ U16_LE(2), // -- |
+ U16_LE(3), // -- |
}; |
ModuleResult result = DecodeModule(data, data + arraysize(data)); |
EXPECT_TRUE(result.ok()); |
if (result.ok()) { |
- EXPECT_EQ(2, result.val->signatures->size()); |
- EXPECT_EQ(4, result.val->functions->size()); |
- EXPECT_EQ(8, result.val->function_table->size()); |
+ EXPECT_EQ(2, result.val->signatures.size()); |
+ EXPECT_EQ(4, result.val->functions.size()); |
+ EXPECT_EQ(8, result.val->function_table.size()); |
for (int i = 0; i < 8; i++) { |
- EXPECT_EQ(i & 3, result.val->function_table->at(i)); |
+ EXPECT_EQ(i & 3, result.val->function_table[i]); |
} |
} |
if (result.val) delete result.val; |