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

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

Issue 1980543002: [wasm] Remove renumbering of local variables from asm->wasm. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@wasm_renumber
Patch Set: Fix memory leak by using a zone Created 4 years, 7 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 | « test/cctest/wasm/wasm-run-utils.h ('k') | test/unittests/wasm/encoder-unittest.cc » ('j') | 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/v8.h" 7 #include "src/v8.h"
8 8
9 #include "test/cctest/wasm/test-signatures.h" 9 #include "test/cctest/wasm/test-signatures.h"
10 10
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 #define VERIFY(...) \ 61 #define VERIFY(...) \
62 do { \ 62 do { \
63 static const byte code[] = {__VA_ARGS__}; \ 63 static const byte code[] = {__VA_ARGS__}; \
64 Verify(kSuccess, sigs.v_i(), code, code + sizeof(code)); \ 64 Verify(kSuccess, sigs.v_i(), code, code + sizeof(code)); \
65 } while (false) 65 } while (false)
66 66
67 class AstDecoderTest : public TestWithZone { 67 class AstDecoderTest : public TestWithZone {
68 public: 68 public:
69 typedef std::pair<uint32_t, LocalType> LocalsDecl; 69 typedef std::pair<uint32_t, LocalType> LocalsDecl;
70 70
71 AstDecoderTest() : module(nullptr) {} 71 AstDecoderTest() : module(nullptr), local_decls(zone()) {}
72
72 TestSignatures sigs; 73 TestSignatures sigs;
73 ModuleEnv* module; 74 ModuleEnv* module;
74 LocalDeclEncoder local_decls; 75 LocalDeclEncoder local_decls;
75 76
76 void AddLocals(LocalType type, uint32_t count) { 77 void AddLocals(LocalType type, uint32_t count) {
77 local_decls.AddLocals(count, type); 78 local_decls.AddLocals(count, type);
78 } 79 }
79 80
80 // Prepends local variable declarations and renders nice error messages for 81 // Prepends local variable declarations and renders nice error messages for
81 // verification failures. 82 // verification failures.
(...skipping 2332 matching lines...) Expand 10 before | Expand all | Expand 10 after
2414 pos = ExpectRun(map, pos, kAstF64, d); 2415 pos = ExpectRun(map, pos, kAstF64, d);
2415 } 2416 }
2416 } 2417 }
2417 } 2418 }
2418 } 2419 }
2419 } 2420 }
2420 2421
2421 TEST_F(LocalDeclDecoderTest, UseEncoder) { 2422 TEST_F(LocalDeclDecoderTest, UseEncoder) {
2422 const byte* data = nullptr; 2423 const byte* data = nullptr;
2423 const byte* end = nullptr; 2424 const byte* end = nullptr;
2424 LocalDeclEncoder local_decls; 2425 LocalDeclEncoder local_decls(zone());
2425 2426
2426 local_decls.AddLocals(5, kAstF32); 2427 local_decls.AddLocals(5, kAstF32);
2427 local_decls.AddLocals(1337, kAstI32); 2428 local_decls.AddLocals(1337, kAstI32);
2428 local_decls.AddLocals(212, kAstI64); 2429 local_decls.AddLocals(212, kAstI64);
2429 local_decls.Prepend(&data, &end); 2430 local_decls.Prepend(&data, &end);
2430 2431
2431 AstLocalDecls decls(zone()); 2432 AstLocalDecls decls(zone());
2432 bool result = DecodeLocalDecls(decls, data, end); 2433 bool result = DecodeLocalDecls(decls, data, end);
2433 EXPECT_TRUE(result); 2434 EXPECT_TRUE(result);
2434 EXPECT_EQ(5 + 1337 + 212, decls.total_local_count); 2435 EXPECT_EQ(5 + 1337 + 212, decls.total_local_count);
2435 2436
2436 LocalTypeMap map = Expand(decls); 2437 LocalTypeMap map = Expand(decls);
2437 size_t pos = 0; 2438 size_t pos = 0;
2438 pos = ExpectRun(map, pos, kAstF32, 5); 2439 pos = ExpectRun(map, pos, kAstF32, 5);
2439 pos = ExpectRun(map, pos, kAstI32, 1337); 2440 pos = ExpectRun(map, pos, kAstI32, 1337);
2440 pos = ExpectRun(map, pos, kAstI64, 212); 2441 pos = ExpectRun(map, pos, kAstI64, 212);
2441 delete[] data; 2442 delete[] data;
2442 } 2443 }
2443 2444
2444 } // namespace wasm 2445 } // namespace wasm
2445 } // namespace internal 2446 } // namespace internal
2446 } // namespace v8 2447 } // namespace v8
OLDNEW
« no previous file with comments | « test/cctest/wasm/wasm-run-utils.h ('k') | test/unittests/wasm/encoder-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698