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

Side by Side Diff: test/unittests/wasm/module-decoder-unittest.cc

Issue 2772363002: Separate function decoding counter into asm and wasm counters. (Closed)
Patch Set: Create dummy module environment for DecodeWasmFunction test. Created 3 years, 9 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 unified diff | Download patch
« no previous file with comments | « src/wasm/wasm-module.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "test/unittests/test-utils.h" 5 #include "test/unittests/test-utils.h"
6 6
7 #include "src/handles.h" 7 #include "src/handles.h"
8 #include "src/objects-inl.h" 8 #include "src/objects-inl.h"
9 #include "src/wasm/module-decoder.h" 9 #include "src/wasm/module-decoder.h"
10 #include "src/wasm/wasm-limits.h" 10 #include "src/wasm/wasm-limits.h"
(...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 EXPECT_EQ(nullptr, sig); 912 EXPECT_EQ(nullptr, sig);
913 } 913 }
914 914
915 TEST_F(WasmSignatureDecodeTest, Fail_invalid_param_type2) { 915 TEST_F(WasmSignatureDecodeTest, Fail_invalid_param_type2) {
916 static const byte data[] = {SIG_ENTRY_x_xx(kLocalI32, kLocalI32, kLocalVoid)}; 916 static const byte data[] = {SIG_ENTRY_x_xx(kLocalI32, kLocalI32, kLocalVoid)};
917 FunctionSig* sig = 917 FunctionSig* sig =
918 DecodeWasmSignatureForTesting(zone(), data, data + sizeof(data)); 918 DecodeWasmSignatureForTesting(zone(), data, data + sizeof(data));
919 EXPECT_EQ(nullptr, sig); 919 EXPECT_EQ(nullptr, sig);
920 } 920 }
921 921
922 class WasmFunctionVerifyTest : public TestWithIsolateAndZone {}; 922 class WasmFunctionVerifyTest : public TestWithIsolateAndZone {
Karl 2017/03/28 01:53:16 Added class fields to implement a dummy instance o
923 public:
924 WasmFunctionVerifyTest()
925 : instance(&module), env(&module, &instance, bytes) {}
926 virtual ~WasmFunctionVerifyTest() {}
927
928 ModuleBytesEnv* get_env() { return &env; }
929
930 private:
931 WasmModule module;
932 WasmInstance instance;
933 Vector<const byte> bytes;
934 ModuleBytesEnv env;
935 DISALLOW_COPY_AND_ASSIGN(WasmFunctionVerifyTest);
936 };
923 937
924 TEST_F(WasmFunctionVerifyTest, Ok_v_v_empty) { 938 TEST_F(WasmFunctionVerifyTest, Ok_v_v_empty) {
925 static const byte data[] = { 939 static const byte data[] = {
926 SIG_ENTRY_v_v, // signature entry 940 SIG_ENTRY_v_v, // signature entry
927 4, // locals 941 4, // locals
928 3, 942 3,
929 kLocalI32, // -- 943 kLocalI32, // --
930 4, 944 4,
931 kLocalI64, // -- 945 kLocalI64, // --
932 5, 946 5,
933 kLocalF32, // -- 947 kLocalF32, // --
934 6, 948 6,
935 kLocalF64, // -- 949 kLocalF64, // --
936 kExprEnd // body 950 kExprEnd // body
937 }; 951 };
938 952
939 FunctionResult result = 953 FunctionResult result = DecodeWasmFunction(isolate(), zone(), get_env(), data,
940 DecodeWasmFunction(isolate(), zone(), nullptr, data, data + sizeof(data)); 954 data + sizeof(data));
941 EXPECT_OK(result); 955 EXPECT_OK(result);
942 956
943 if (result.val && result.ok()) { 957 if (result.val && result.ok()) {
944 WasmFunction* function = result.val; 958 WasmFunction* function = result.val;
945 EXPECT_EQ(0u, function->sig->parameter_count()); 959 EXPECT_EQ(0u, function->sig->parameter_count());
946 EXPECT_EQ(0u, function->sig->return_count()); 960 EXPECT_EQ(0u, function->sig->return_count());
947 EXPECT_EQ(0u, function->name_offset); 961 EXPECT_EQ(0u, function->name_offset);
948 EXPECT_EQ(static_cast<uint32_t>(SIZEOF_SIG_ENTRY_v_v), 962 EXPECT_EQ(static_cast<uint32_t>(SIZEOF_SIG_ENTRY_v_v),
949 function->code_start_offset); 963 function->code_start_offset);
950 EXPECT_EQ(sizeof(data), function->code_end_offset); 964 EXPECT_EQ(sizeof(data), function->code_end_offset);
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
1615 {19, 20, 1, 21, 2, 4}, // -- 1629 {19, 20, 1, 21, 2, 4}, // --
1616 {29, 30, 5, 35, 2, 8}, // -- 1630 {29, 30, 5, 35, 2, 8}, // --
1617 }; 1631 };
1618 1632
1619 CheckSections(data, data + sizeof(data), expected, arraysize(expected)); 1633 CheckSections(data, data + sizeof(data), expected, arraysize(expected));
1620 } 1634 }
1621 1635
1622 } // namespace wasm 1636 } // namespace wasm
1623 } // namespace internal 1637 } // namespace internal
1624 } // namespace v8 1638 } // namespace v8
OLDNEW
« no previous file with comments | « src/wasm/wasm-module.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698