Revision: 5341
Author: [email protected]
Date: Wed Aug 25 05:51:27 2010
Log: Change code contains function to allow a return address just after the last instruction

Then patching the return sequence for debugger break at return a call is placed at the very end of the instruction stream causing the return address to be just after the actual instruction in the code object.
Review URL: http://codereview.chromium.org/3151037
http://code.google.com/p/v8/source/detail?r=5341

Modified:
 /branches/bleeding_edge/src/objects-inl.h
 /branches/bleeding_edge/test/cctest/cctest.status
 /branches/bleeding_edge/test/cctest/test-debug.cc

=======================================
--- /branches/bleeding_edge/src/objects-inl.h   Fri Aug 20 00:10:18 2010
+++ /branches/bleeding_edge/src/objects-inl.h   Wed Aug 25 05:51:27 2010
@@ -2936,7 +2936,7 @@

 bool Code::contains(byte* pc) {
   return (instruction_start() <= pc) &&
-      (pc < instruction_start() + instruction_size());
+      (pc <= instruction_start() + instruction_size());
 }


=======================================
--- /branches/bleeding_edge/test/cctest/cctest.status Fri Aug 20 06:00:22 2010 +++ /branches/bleeding_edge/test/cctest/cctest.status Wed Aug 25 05:51:27 2010
@@ -51,6 +51,10 @@
 # BUG(355): Test crashes on ARM.
 test-log/ProfLazyMode: SKIP

+# BUG(845)
+test-debug/GCDuringBreakPointProcessing: SKIP
+test-debug/BreakPointICCallWithGC: SKIP
+
 [ $arch == mips ]
 test-accessors: SKIP
 test-alloc: SKIP
=======================================
--- /branches/bleeding_edge/test/cctest/test-debug.cc Wed Aug 25 00:26:12 2010 +++ /branches/bleeding_edge/test/cctest/test-debug.cc Wed Aug 25 05:51:27 2010
@@ -870,7 +870,7 @@
       Heap::CollectGarbage(0, v8::internal::NEW_SPACE);
     } else {
       // Mark sweep (and perhaps compact).
-      Heap::CollectAllGarbage(false);
+      Heap::CollectAllGarbage(true);
     }
   }
 }

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to