| Index: src/debug.cc
|
| diff --git a/src/debug.cc b/src/debug.cc
|
| index 01c4dba3cfeba41cc3a629e1e7c614c6355183ed..f6c4d6c8ed7ef28a4d868f740faa331a9bbbe6a3 100644
|
| --- a/src/debug.cc
|
| +++ b/src/debug.cc
|
| @@ -85,12 +85,6 @@ static void PrintLn(v8::Local<v8::Value> value) {
|
| }
|
|
|
|
|
| -static Handle<Code> ComputeCallDebugBreak(int argc, Code::Kind kind) {
|
| - Isolate* isolate = Isolate::Current();
|
| - return isolate->stub_cache()->ComputeCallDebugBreak(argc, kind);
|
| -}
|
| -
|
| -
|
| static Handle<Code> ComputeCallDebugPrepareStepIn(int argc, Code::Kind kind) {
|
| Isolate* isolate = Isolate::Current();
|
| return isolate->stub_cache()->ComputeCallDebugPrepareStepIn(argc, kind);
|
| @@ -1538,40 +1532,47 @@ bool Debug::IsBreakStub(Code* code) {
|
|
|
| // Find the builtin to use for invoking the debug break
|
| Handle<Code> Debug::FindDebugBreak(Handle<Code> code, RelocInfo::Mode mode) {
|
| + Isolate* isolate = Isolate::Current();
|
| +
|
| // Find the builtin debug break function matching the calling convention
|
| // used by the call site.
|
| if (code->is_inline_cache_stub()) {
|
| switch (code->kind()) {
|
| case Code::CALL_IC:
|
| case Code::KEYED_CALL_IC:
|
| - return ComputeCallDebugBreak(code->arguments_count(), code->kind());
|
| + return isolate->stub_cache()->ComputeCallDebugBreak(
|
| + code->arguments_count(), code->kind());
|
|
|
| case Code::LOAD_IC:
|
| - return Isolate::Current()->builtins()->LoadIC_DebugBreak();
|
| + return isolate->builtins()->LoadIC_DebugBreak();
|
|
|
| case Code::STORE_IC:
|
| - return Isolate::Current()->builtins()->StoreIC_DebugBreak();
|
| + return isolate->builtins()->StoreIC_DebugBreak();
|
|
|
| case Code::KEYED_LOAD_IC:
|
| - return Isolate::Current()->builtins()->KeyedLoadIC_DebugBreak();
|
| + return isolate->builtins()->KeyedLoadIC_DebugBreak();
|
|
|
| case Code::KEYED_STORE_IC:
|
| - return Isolate::Current()->builtins()->KeyedStoreIC_DebugBreak();
|
| + return isolate->builtins()->KeyedStoreIC_DebugBreak();
|
|
|
| default:
|
| UNREACHABLE();
|
| }
|
| }
|
| if (RelocInfo::IsConstructCall(mode)) {
|
| - Handle<Code> result =
|
| - Isolate::Current()->builtins()->ConstructCall_DebugBreak();
|
| - return result;
|
| + if (code->has_function_cache()) {
|
| + return isolate->builtins()->CallConstructStub_Recording_DebugBreak();
|
| + } else {
|
| + return isolate->builtins()->CallConstructStub_DebugBreak();
|
| + }
|
| }
|
| if (code->kind() == Code::STUB) {
|
| ASSERT(code->major_key() == CodeStub::CallFunction);
|
| - Handle<Code> result =
|
| - Isolate::Current()->builtins()->CallFunctionStub_DebugBreak();
|
| - return result;
|
| + if (code->has_function_cache()) {
|
| + return isolate->builtins()->CallFunctionStub_Recording_DebugBreak();
|
| + } else {
|
| + return isolate->builtins()->CallFunctionStub_DebugBreak();
|
| + }
|
| }
|
|
|
| UNREACHABLE();
|
|
|