| Index: src/runtime/runtime-debug.cc
|
| diff --git a/src/runtime/runtime-debug.cc b/src/runtime/runtime-debug.cc
|
| index 281ba29695d54ebd8d26aba7376706641180dbc9..b96235f1793158ec1fbb2a7aaa3e6714f8a57824 100644
|
| --- a/src/runtime/runtime-debug.cc
|
| +++ b/src/runtime/runtime-debug.cc
|
| @@ -5,6 +5,7 @@
|
| #include "src/runtime/runtime-utils.h"
|
|
|
| #include "src/arguments.h"
|
| +#include "src/compiler.h"
|
| #include "src/debug/debug-evaluate.h"
|
| #include "src/debug/debug-frames.h"
|
| #include "src/debug/debug-scopes.h"
|
| @@ -1857,6 +1858,21 @@ RUNTIME_FUNCTION(Runtime_DebugPrepareStepInIfStepping) {
|
| return isolate->heap()->undefined_value();
|
| }
|
|
|
| +// Perform %DebugPrepareStepInIfStepping and a read-only check.
|
| +RUNTIME_FUNCTION(Runtime_DebugOnFunctionCall) {
|
| + HandleScope scope(isolate);
|
| + DCHECK_EQ(1, args.length());
|
| + CONVERT_ARG_HANDLE_CHECKED(JSFunction, fun, 0);
|
| + if (isolate->debug()->last_step_action() >= StepIn) {
|
| + isolate->debug()->PrepareStepIn(fun);
|
| + }
|
| + if (isolate->debug()->needs_side_effect_check() &&
|
| + !isolate->debug()->PerformSideEffectCheck(fun)) {
|
| + return isolate->heap()->exception();
|
| + }
|
| + return isolate->heap()->undefined_value();
|
| +}
|
| +
|
| // Set one shot breakpoints for the suspended generator object.
|
| RUNTIME_FUNCTION(Runtime_DebugPrepareStepInSuspendedGenerator) {
|
| HandleScope scope(isolate);
|
|
|