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

Side by Side Diff: test/mjsunit/wasm/ffi.js

Issue 2595733003: [wasm] Remove non-standard kExprI8Const bytecode (Closed)
Patch Set: Remove regression test Created 3 years, 11 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
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 // 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 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 }}}; 240 }}};
241 241
242 var builder = new WasmModuleBuilder(); 242 var builder = new WasmModuleBuilder();
243 243
244 builder.addImport("", "func", makeSig_v_xx(type)); 244 builder.addImport("", "func", makeSig_v_xx(type));
245 builder.addFunction("main", makeSig_r_xx(kWasmI32, type)) 245 builder.addFunction("main", makeSig_r_xx(kWasmI32, type))
246 .addBody([ 246 .addBody([
247 kExprGetLocal, 0, // -- 247 kExprGetLocal, 0, // --
248 kExprGetLocal, 1, // -- 248 kExprGetLocal, 1, // --
249 kExprCallFunction, 0, // -- 249 kExprCallFunction, 0, // --
250 kExprI8Const, 99 // -- 250 kExprI32Const, 33 // --
251 ]) // -- 251 ]) // --
252 .exportFunc() 252 .exportFunc()
253 253
254 var main = builder.instantiate(ffi).exports.main; 254 var main = builder.instantiate(ffi).exports.main;
255 255
256 print("testCallBinopVoid", type); 256 print("testCallBinopVoid", type);
257 257
258 for (var i = 0; i < 100000; i += 10003.1) { 258 for (var i = 0; i < 100000; i += 10003.1) {
259 var a = 22.5 + i, b = 10.5 + i; 259 var a = 22.5 + i, b = 10.5 + i;
260 var r = main(a, b); 260 var r = main(a, b);
261 assertEquals(99, r); 261 assertEquals(33, r);
262 assertEquals(2, passed_length); 262 assertEquals(2, passed_length);
263 var expected_a, expected_b; 263 var expected_a, expected_b;
264 switch (type) { 264 switch (type) {
265 case kWasmI32: { 265 case kWasmI32: {
266 expected_a = a | 0; 266 expected_a = a | 0;
267 expected_b = b | 0; 267 expected_b = b | 0;
268 break; 268 break;
269 } 269 }
270 case kWasmF32: { 270 case kWasmF32: {
271 expected_a = Math.fround(a); 271 expected_a = Math.fround(a);
(...skipping 20 matching lines...) Expand all
292 testCallBinopVoid(kWasmF32); 292 testCallBinopVoid(kWasmF32);
293 testCallBinopVoid(kWasmF64); 293 testCallBinopVoid(kWasmF64);
294 294
295 (function testCallPrint() { 295 (function testCallPrint() {
296 var builder = new WasmModuleBuilder(); 296 var builder = new WasmModuleBuilder();
297 297
298 builder.addImport("", "print", makeSig_v_x(kWasmI32)); 298 builder.addImport("", "print", makeSig_v_x(kWasmI32));
299 builder.addImport("", "print", makeSig_v_x(kWasmF64)); 299 builder.addImport("", "print", makeSig_v_x(kWasmF64));
300 builder.addFunction("main", makeSig_v_x(kWasmF64)) 300 builder.addFunction("main", makeSig_v_x(kWasmF64))
301 .addBody([ 301 .addBody([
302 kExprI8Const, 97, // -- 302 kExprI32Const, 37, // --
303 kExprCallFunction, 0, // -- 303 kExprCallFunction, 0, // --
304 kExprGetLocal, 0, // -- 304 kExprGetLocal, 0, // --
305 kExprCallFunction, 1 // -- 305 kExprCallFunction, 1 // --
306 ]) // -- 306 ]) // --
307 .exportFunc() 307 .exportFunc()
308 308
309 var main = builder.instantiate({"": {print: print}}).exports.main; 309 var main = builder.instantiate({"": {print: print}}).exports.main;
310 for (var i = -9; i < 900; i += 6.125) main(i); 310 for (var i = -9; i < 900; i += 6.125) main(i);
311 })(); 311 })();
312 312
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 .exportFunc(); 378 .exportFunc();
379 var num_valueOf = 0; 379 var num_valueOf = 0;
380 function Foo() {} 380 function Foo() {}
381 Foo.prototype.valueOf = () => ++num_valueOf; 381 Foo.prototype.valueOf = () => ++num_valueOf;
382 var func = () => new Foo(); 382 var func = () => new Foo();
383 var main = builder.instantiate({"": {func: func}}).exports.main; 383 var main = builder.instantiate({"": {func: func}}).exports.main;
384 main(); 384 main();
385 main(); 385 main();
386 assertEquals(0, num_valueOf); 386 assertEquals(0, num_valueOf);
387 })(); 387 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698