1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/xdr/trivial.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,38 @@ 1.4 +load(libdir + 'bytecode-cache.js'); 1.5 +var test = ""; 1.6 + 1.7 +// code a constant. 1.8 +test = "1;"; 1.9 +evalWithCache(test, { assertEqBytecode: true, assertEqResult : true }); 1.10 + 1.11 +// code a string constant. 1.12 +test = "'string';"; 1.13 +evalWithCache(test, { assertEqBytecode: true, assertEqResult : true }); 1.14 + 1.15 +// code a global variable access. 1.16 +test = "generation;"; 1.17 +evalWithCache(test, { assertEqBytecode: true }); 1.18 + 1.19 +// code an object constant. 1.20 +test = "var obj = { a: 1, b: 2 };"; 1.21 +evalWithCache(test, { assertEqBytecode: true, assertEqResult : true }); 1.22 + 1.23 +// code object literal with mutations. 1.24 +test = "var obj = { a: 1, b: 2 }; obj.a++; assertEq(obj.a, 2);"; 1.25 +evalWithCache(test, { assertEqBytecode: true, assertEqResult : true }); 1.26 + 1.27 +// code object literals with mutations. 1.28 +test = "var obj = { a: 1, b: { c: 3, d: 4 } }; obj.b.c++; assertEq(obj.b.c, 4);"; 1.29 +evalWithCache(test, { assertEqBytecode: true, assertEqResult : true }); 1.30 + 1.31 +// code a function which is used. 1.32 +test = "function f() { return 1; }; f();"; 1.33 +evalWithCache(test, { assertEqBytecode: true, assertEqResult : true }); 1.34 + 1.35 +// code a function which is not used. 1.36 +test = "function f() { return 1; }; 1;"; 1.37 +evalWithCache(test, { assertEqBytecode: true, assertEqResult : true }); 1.38 + 1.39 +// code a function which has an object literal. 1.40 +test = "function f() { return { x: 2 }; }; f();"; 1.41 +evalWithCache(test, { assertEqBytecode: true });