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
-~----------~----~----~----~------~----~------~--~---

Reply via email to