| Index: src/debug.cc
|
| ===================================================================
|
| --- src/debug.cc (revision 2468)
|
| +++ src/debug.cc (working copy)
|
| @@ -334,11 +334,8 @@
|
| rinfo()->set_target_address(stub->entry());
|
| }
|
| } else {
|
| - // Step in through construct call requires no changes to the running code.
|
| - // Step in through getters/setters should already be prepared as well
|
| - // because caller of this function (Debug::PrepareStep) is expected to
|
| - // flood the top frame's function with one shot breakpoints.
|
| - ASSERT(RelocInfo::IsConstructCall(rmode()) || code->is_inline_cache_stub());
|
| + // Step in through constructs call requires no changes to the running code.
|
| + ASSERT(RelocInfo::IsConstructCall(rmode()));
|
| }
|
| }
|
|
|
| @@ -1090,18 +1087,10 @@
|
|
|
| // Compute whether or not the target is a call target.
|
| bool is_call_target = false;
|
| - bool is_load_or_store = false;
|
| - bool is_inline_cache_stub = false;
|
| if (RelocInfo::IsCodeTarget(it.rinfo()->rmode())) {
|
| Address target = it.rinfo()->target_address();
|
| Code* code = Code::GetCodeFromTargetAddress(target);
|
| - if (code->is_call_stub()) {
|
| - is_call_target = true;
|
| - }
|
| - if (code->is_inline_cache_stub()) {
|
| - is_inline_cache_stub = true;
|
| - is_load_or_store = !is_call_target;
|
| - }
|
| + if (code->is_call_stub()) is_call_target = true;
|
| }
|
|
|
| // If this is the last break code target step out is the only possibility.
|
| @@ -1114,8 +1103,8 @@
|
| JSFunction* function = JSFunction::cast(frames_it.frame()->function());
|
| FloodWithOneShot(Handle<SharedFunctionInfo>(function->shared()));
|
| }
|
| - } else if (!(is_inline_cache_stub || RelocInfo::IsConstructCall(it.rmode()))
|
| - || step_action == StepNext || step_action == StepMin) {
|
| + } else if (!(is_call_target || RelocInfo::IsConstructCall(it.rmode())) ||
|
| + step_action == StepNext || step_action == StepMin) {
|
| // Step next or step min.
|
|
|
| // Fill the current function with one-shot break points.
|
| @@ -1128,20 +1117,9 @@
|
| } else {
|
| // Fill the current function with one-shot break points even for step in on
|
| // a call target as the function called might be a native function for
|
| - // which step in will not stop. It also prepares for stepping in
|
| - // getters/setters.
|
| + // which step in will not stop.
|
| FloodWithOneShot(shared);
|
|
|
| - if (is_load_or_store) {
|
| - // Remember source position and frame to handle step in getter/setter. If
|
| - // there is a custom getter/setter it will be handled in
|
| - // Object::Get/SetPropertyWithCallback, otherwise the step action will be
|
| - // propagated on the next Debug::Break.
|
| - thread_local_.last_statement_position_ =
|
| - debug_info->code()->SourceStatementPosition(frame->pc());
|
| - thread_local_.last_fp_ = frame->fp();
|
| - }
|
| -
|
| // Step in or Step in min
|
| it.PrepareStepIn();
|
| ActivateStepIn(frame);
|
|
|