Author: [email protected]
Date: Wed Jul 15 02:45:06 2009
New Revision: 2469
Removed:
branches/bleeding_edge/test/mjsunit/debug-stepin-accessor.js
Modified:
branches/bleeding_edge/src/debug.cc
branches/bleeding_edge/src/objects.cc
branches/bleeding_edge/test/mjsunit/mjsunit.status
Log:
Reverting 2458 to see if it makes Builder Webkit Mac (V8-Latest) happy.
Review URL: http://codereview.chromium.org/149672
Modified: branches/bleeding_edge/src/debug.cc
==============================================================================
--- branches/bleeding_edge/src/debug.cc (original)
+++ branches/bleeding_edge/src/debug.cc Wed Jul 15 02:45:06 2009
@@ -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,19 +1117,8 @@
} 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();
Modified: branches/bleeding_edge/src/objects.cc
==============================================================================
--- branches/bleeding_edge/src/objects.cc (original)
+++ branches/bleeding_edge/src/objects.cc Wed Jul 15 02:45:06 2009
@@ -216,12 +216,6 @@
HandleScope scope;
Handle<JSFunction> fun(JSFunction::cast(getter));
Handle<Object> self(receiver);
-#ifdef ENABLE_DEBUGGER_SUPPORT
- // Handle stepping into a getter if step into is active.
- if (Debug::StepInActive()) {
- Debug::HandleStepIn(fun, Handle<Object>::null(), 0, false);
- }
-#endif
bool has_pending_exception;
Handle<Object> result =
Execution::Call(fun, self, 0, NULL, &has_pending_exception);
@@ -1630,12 +1624,6 @@
Handle<Object> value_handle(value);
Handle<JSFunction> fun(JSFunction::cast(setter));
Handle<JSObject> self(this);
-#ifdef ENABLE_DEBUGGER_SUPPORT
- // Handle stepping into a setter if step into is active.
- if (Debug::StepInActive()) {
- Debug::HandleStepIn(fun, Handle<Object>::null(), 0, false);
- }
-#endif
bool has_pending_exception;
Object** argv[] = { value_handle.location() };
Execution::Call(fun, self, 1, argv, &has_pending_exception);
Modified: branches/bleeding_edge/test/mjsunit/mjsunit.status
==============================================================================
--- branches/bleeding_edge/test/mjsunit/mjsunit.status (original)
+++ branches/bleeding_edge/test/mjsunit/mjsunit.status Wed Jul 15 02:45:06
2009
@@ -58,7 +58,6 @@
debug-multiple-breakpoints: CRASH || FAIL
debug-setbreakpoint: CRASH || FAIL || PASS
debug-step-stub-callfunction: SKIP
-debug-stepin-accessor: CRASH || FAIL
debug-stepin-constructor: CRASH, FAIL
debug-stepin-function-call: CRASH || FAIL
debug-step: SKIP
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---