diff options
Diffstat (limited to 'js/src/jit-test/tests/cacheir/dom-call.js')
-rw-r--r-- | js/src/jit-test/tests/cacheir/dom-call.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/cacheir/dom-call.js b/js/src/jit-test/tests/cacheir/dom-call.js new file mode 100644 index 0000000000..e796bbbadd --- /dev/null +++ b/js/src/jit-test/tests/cacheir/dom-call.js @@ -0,0 +1,29 @@ +function simple() { + var obj = new FakeDOMObject(); + for (var i = 0; i < 10; i++) { + assertEq(obj.doFoo(0, 0, 0), 3); + } +} + +function wrongThis() { + var obj = new FakeDOMObject(); + var wrong = {doFoo: obj.doFoo}; + + for (var i = 0; i < 100; i++) { + assertEq(obj.doFoo(0, 0), i <= 50 ? 2 : undefined); + if (i == 50) { + obj = wrong; + } + } +} + +function spread() { + var obj = new FakeDOMObject(); + for (var i = 0; i < 10; i++) { + assertEq(obj.doFoo(...[1, 2, 3, 4]), 4); + } +} + +simple(); +wrongThis(); +spread();
\ No newline at end of file |