| 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 --allow-natives-syntax | 5 // Flags: --expose-wasm --allow-natives-syntax | 
| 6 | 6 | 
| 7 load("test/mjsunit/wasm/wasm-constants.js"); | 7 load("test/mjsunit/wasm/wasm-constants.js"); | 
| 8 load("test/mjsunit/wasm/wasm-module-builder.js"); | 8 load("test/mjsunit/wasm/wasm-module-builder.js"); | 
| 9 | 9 | 
| 10 function testCallFFI(func, check) { | 10 function testCallFFI(func, check) { | 
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 87   main_for_constructor_test = builder.instantiate({func: C}).exports.main; | 87   main_for_constructor_test = builder.instantiate({func: C}).exports.main; | 
| 88 | 88 | 
| 89   assertThrows("main_for_constructor_test(12, 43)", TypeError); | 89   assertThrows("main_for_constructor_test(12, 43)", TypeError); | 
| 90 }) (); | 90 }) (); | 
| 91 | 91 | 
| 92 print("Native function"); | 92 print("Native function"); | 
| 93 (function test_ffi_call_to_native() { | 93 (function test_ffi_call_to_native() { | 
| 94 | 94 | 
| 95   var builder = new WasmModuleBuilder(); | 95   var builder = new WasmModuleBuilder(); | 
| 96 | 96 | 
| 97   var sig_index = builder.addType(kSig_d); | 97   var sig_index = builder.addType(kSig_d_v); | 
| 98   builder.addImport("func", sig_index); | 98   builder.addImport("func", sig_index); | 
| 99   builder.addFunction("main", sig_index) | 99   builder.addFunction("main", sig_index) | 
| 100     .addBody([ | 100     .addBody([ | 
| 101       kExprCallFunction, 0  // -- | 101       kExprCallFunction, 0  // -- | 
| 102     ])        // -- | 102     ])        // -- | 
| 103     .exportFunc(); | 103     .exportFunc(); | 
| 104 | 104 | 
| 105   var main = builder.instantiate({func: Object.prototype.toString}).exports.main
     ; | 105   var main = builder.instantiate({func: Object.prototype.toString}).exports.main
     ; | 
| 106   // The result of the call to Object.prototype.toString should be | 106   // The result of the call to Object.prototype.toString should be | 
| 107   // [object Undefined]. However, we cannot test for this result because wasm | 107   // [object Undefined]. However, we cannot test for this result because wasm | 
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 308       kExprCallFunction, 1   // -- | 308       kExprCallFunction, 1   // -- | 
| 309     ])                       // -- | 309     ])                       // -- | 
| 310     .exportFunc() | 310     .exportFunc() | 
| 311 | 311 | 
| 312   var main = builder.instantiate({print: print}).exports.main; | 312   var main = builder.instantiate({print: print}).exports.main; | 
| 313   for (var i = -9; i < 900; i += 6.125) main(i); | 313   for (var i = -9; i < 900; i += 6.125) main(i); | 
| 314 } | 314 } | 
| 315 | 315 | 
| 316 testCallPrint(); | 316 testCallPrint(); | 
| 317 testCallPrint(); | 317 testCallPrint(); | 
| OLD | NEW | 
|---|