Chromium Code Reviews| Index: test/mjsunit/get-caller-js-function.js |
| diff --git a/test/mjsunit/get-caller-js-function.js b/test/mjsunit/get-caller-js-function.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8d27fb232929446ec849d55005cda04c305401b5 |
| --- /dev/null |
| +++ b/test/mjsunit/get-caller-js-function.js |
| @@ -0,0 +1,20 @@ |
| +// Copyright 2015 the V8 project authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +// Flags: --allow-natives-syntax --always-opt --turbo-filter=* --nostress-opt |
| + |
| +// Test that for fully optimized but non inlined code, GetCallerJSFunction walks |
| +// up a single stack frame to get the calling function. Full optimization elides |
| +// the check in the runtime version of the intrinsic that would throw since the |
| +// caller isn't a stub. It's a bit of a hack, but allows minimal testing of the |
| +// intrinsic without writing a full-blown cctest. |
| +(function() { |
| + var a = function() { |
| + return %_GetCallerJSFunction(); |
| + } |
|
Michael Starzinger
2015/06/05 11:21:56
If we add %OptimizeFunctionOnNextCall(a), could we
danno
2015/06/05 11:49:59
Done.
|
| + var b = function() { |
| + return a(); |
| + } |
| + assertEquals(b, b()); |
| +}()); |