text: // 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 --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();
    };
    var b = function() {
      return a();
    };
    %OptimizeFunctionOnNextCall(a);
    assertEquals(b, b());
  }());
  