| OLD | NEW | 
|---|
| 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 // Flags: --expose-wasm --expose-gc --allow-natives-syntax | 5 // Flags: --expose-wasm --expose-gc --allow-natives-syntax | 
| 6 | 6 | 
| 7 load("test/mjsunit/wasm/wasm-constants.js"); | 7 load("test/mjsunit/wasm/wasm-constants.js"); | 
| 8 | 8 | 
| 9 function makeFFI(func) { | 9 function makeFFI(func) { | 
| 10   var kBodySize = 6; | 10   var kBodySize = 7; | 
| 11   var kNameFunOffset = kHeaderSize + 24 + kBodySize + 1; | 11   var kNameFunOffset = kHeaderSize + 24 + kBodySize + 1; | 
| 12   var kNameMainOffset = kNameFunOffset + 4; | 12   var kNameMainOffset = kNameFunOffset + 4; | 
| 13 | 13 | 
| 14   var ffi = new Object(); | 14   var ffi = new Object(); | 
| 15   ffi.fun = func; | 15   ffi.fun = func; | 
| 16 | 16 | 
| 17   var data = bytesWithHeader( | 17   var data = bytesWithHeader( | 
| 18     // signatures | 18     // signatures | 
| 19     kDeclSignatures, 1, | 19     kDeclSignatures, 1, | 
| 20     2, kAstI32, kAstF64, kAstF64, // (f64,f64) -> int | 20     2, kAstI32, kAstF64, kAstF64, // (f64,f64) -> int | 
| 21     // -- foreign function | 21     // -- foreign function | 
| 22     kDeclFunctions, 2, | 22     kDeclFunctions, 2, | 
| 23     kDeclFunctionName | kDeclFunctionImport, | 23     kDeclFunctionName | kDeclFunctionImport, | 
| 24     0, 0, | 24     0, 0, | 
| 25     kNameFunOffset, 0, 0, 0,    // name offset | 25     kNameFunOffset, 0, 0, 0,    // name offset | 
| 26     // -- main function | 26     // -- main function | 
| 27     kDeclFunctionName | kDeclFunctionExport, | 27     kDeclFunctionName | kDeclFunctionExport, | 
| 28     0, 0, | 28     0, 0, | 
| 29     kNameMainOffset, 0, 0, 0,   // name offset | 29     kNameMainOffset, 0, 0, 0,   // name offset | 
| 30     kBodySize, 0, | 30     kBodySize, 0, | 
| 31     // main body | 31     // main body | 
|  | 32     kDeclNoLocals, | 
| 32     kExprCallFunction, 0,       // -- | 33     kExprCallFunction, 0,       // -- | 
| 33     kExprGetLocal, 0,           // -- | 34     kExprGetLocal, 0,           // -- | 
| 34     kExprGetLocal, 1,           // -- | 35     kExprGetLocal, 1,           // -- | 
| 35     // names | 36     // names | 
| 36     kDeclEnd, | 37     kDeclEnd, | 
| 37     'f', 'u', 'n', 0,           //  -- | 38     'f', 'u', 'n', 0,           //  -- | 
| 38     'm', 'a', 'i', 'n', 0       //  -- | 39     'm', 'a', 'i', 'n', 0       //  -- | 
| 39   ); | 40   ); | 
| 40 | 41 | 
| 41   var module = _WASMEXP_.instantiateModule(data, ffi); | 42   var module = _WASMEXP_.instantiateModule(data, ffi); | 
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 126   var gcer = builder(dogc); | 127   var gcer = builder(dogc); | 
| 127   gcer(7, 7); | 128   gcer(7, 7); | 
| 128 | 129 | 
| 129   for (var i = 0; i < 9; i++) { | 130   for (var i = 0; i < 9; i++) { | 
| 130     gcer(8, 8); | 131     gcer(8, 8); | 
| 131   } | 132   } | 
| 132 } | 133 } | 
| 133 | 134 | 
| 134 runTest(makeReentrantFFI); | 135 runTest(makeReentrantFFI); | 
| 135 runTest(makeFFI); | 136 runTest(makeFFI); | 
| OLD | NEW | 
|---|