 Chromium Code Reviews
 Chromium Code Reviews Issue 1146963002:
  Add %GetCallerJSFunction intrinsic  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@master
    
  
    Issue 1146963002:
  Add %GetCallerJSFunction intrinsic  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@master| OLD | NEW | 
|---|---|
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "src/v8.h" | 5 #include "src/v8.h" | 
| 6 | 6 | 
| 7 #include "src/arguments.h" | 7 #include "src/arguments.h" | 
| 8 #include "src/bootstrapper.h" | 8 #include "src/bootstrapper.h" | 
| 9 #include "src/debug.h" | 9 #include "src/debug.h" | 
| 10 #include "src/messages.h" | 10 #include "src/messages.h" | 
| (...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 409 return isolate->heap()->ToBoolean(FLAG_harmony_tostring); | 409 return isolate->heap()->ToBoolean(FLAG_harmony_tostring); | 
| 410 } | 410 } | 
| 411 | 411 | 
| 412 | 412 | 
| 413 RUNTIME_FUNCTION(Runtime_GetTypeFeedbackVector) { | 413 RUNTIME_FUNCTION(Runtime_GetTypeFeedbackVector) { | 
| 414 SealHandleScope shs(isolate); | 414 SealHandleScope shs(isolate); | 
| 415 DCHECK(args.length() == 1); | 415 DCHECK(args.length() == 1); | 
| 416 CONVERT_ARG_CHECKED(JSFunction, function, 0); | 416 CONVERT_ARG_CHECKED(JSFunction, function, 0); | 
| 417 return function->shared()->feedback_vector(); | 417 return function->shared()->feedback_vector(); | 
| 418 } | 418 } | 
| 419 | |
| 420 | |
| 421 RUNTIME_FUNCTION(Runtime_GetCallerJSFunction) { | |
| 422 SealHandleScope shs(isolate); | |
| 423 StackFrameIterator it(isolate); | |
| 424 if (it.frame()->type() != StackFrame::STUB) { | |
| 
Michael Starzinger
2015/06/05 11:21:56
nit: Let's use RUNTIME_ASSERT(it.frame()->type() =
 
danno
2015/06/05 11:49:59
Done.
 | |
| 425 return isolate->ThrowIllegalOperation(); | |
| 426 } | |
| 427 it.Advance(); | |
| 428 if (it.frame()->type() != StackFrame::JAVA_SCRIPT) { | |
| 
Michael Starzinger
2015/06/05 11:21:56
nit: Let's use RUNTIME_ASSERT(it.frame()->type() =
 
danno
2015/06/05 11:49:59
Done.
 | |
| 429 return isolate->ThrowIllegalOperation(); | |
| 430 } | |
| 431 return JavaScriptFrame::cast(it.frame())->function(); | |
| 432 } | |
| 419 } // namespace internal | 433 } // namespace internal | 
| 420 } // namespace v8 | 434 } // namespace v8 | 
| OLD | NEW |