diff options
Diffstat (limited to 'js/src/jit-test/tests/basic/metadata-hook.js')
-rw-r--r-- | js/src/jit-test/tests/basic/metadata-hook.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/metadata-hook.js b/js/src/jit-test/tests/basic/metadata-hook.js new file mode 100644 index 000000000..2b251ab8c --- /dev/null +++ b/js/src/jit-test/tests/basic/metadata-hook.js @@ -0,0 +1,30 @@ + +enableShellAllocationMetadataBuilder(); + +function Foo() { + this.x = 0; + this.y = 1; +} + +function hello() { + function there() { + w = new Foo(); + x = [1,2,3]; + y = [2,3,5]; + z = {a:0,b:1}; + } + callee = there; + callee(); +} +hello(); + +var wc = getAllocationMetadata(w).index; +var xc = getAllocationMetadata(x).index; +var yc = getAllocationMetadata(y).index; +var zc = getAllocationMetadata(z).index; + +assertEq(xc > wc, true); +assertEq(yc > xc, true); +assertEq(zc > yc, true); +assertEq(getAllocationMetadata(x).stack[0], callee); +assertEq(getAllocationMetadata(x).stack[1], hello); |