diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/ion/bug1607670-3.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug1607670-3.js b/js/src/jit-test/tests/ion/bug1607670-3.js new file mode 100644 index 0000000000..aaecb9cc8f --- /dev/null +++ b/js/src/jit-test/tests/ion/bug1607670-3.js @@ -0,0 +1,24 @@ +let c = 0; +function f1() { + c++; +} +function LoggingProxyHandlerWrapper(name, handler={}) { + return new Proxy(handler, { + get(x, id) { + return function (...args) { + return Reflect[id].apply(null, args); + }; + } + }); +} +function LoggingProxy(name, target) { + return new Proxy(f1, new LoggingProxyHandlerWrapper(name)); +} +function test() { + let proxy = new LoggingProxy("proto", {}); + for (let i = 0; i < 2000; i++) { + new proxy(); + } + assertEq(c, 2000); +} +test(); |