Revision: 11802
Author:   [email protected]
Date:     Wed Jun 13 07:07:50 2012
Log:      Remove faster ticks for debug mode.

This solves the problem that code runs very slow when the debugger is enabled.

BUG=v8:2179
TEST=

Review URL: https://chromiumcodereview.appspot.com/10544135
http://code.google.com/p/v8/source/detail?r=11802

Modified:
 /branches/bleeding_edge/src/arm/full-codegen-arm.cc
 /branches/bleeding_edge/src/ia32/full-codegen-ia32.cc
 /branches/bleeding_edge/src/mips/full-codegen-mips.cc
 /branches/bleeding_edge/src/x64/full-codegen-x64.cc

=======================================
--- /branches/bleeding_edge/src/arm/full-codegen-arm.cc Tue Jun 12 10:26:28 2012 +++ /branches/bleeding_edge/src/arm/full-codegen-arm.cc Wed Jun 13 07:07:50 2012
@@ -328,7 +328,7 @@
   }
   if (isolate()->IsDebuggerActive()) {
     // Detect debug break requests as soon as possible.
-    reset_value = 10;
+    reset_value = FLAG_interrupt_budget >> 4;
   }
   __ mov(r2, Operand(profiling_counter_));
   __ mov(r3, Operand(Smi::FromInt(reset_value)));
=======================================
--- /branches/bleeding_edge/src/ia32/full-codegen-ia32.cc Mon Jun 11 06:18:05 2012 +++ /branches/bleeding_edge/src/ia32/full-codegen-ia32.cc Wed Jun 13 07:07:50 2012
@@ -317,10 +317,6 @@
     // Self-optimization is a one-off thing: if it fails, don't try again.
     reset_value = Smi::kMaxValue;
   }
-  if (isolate()->IsDebuggerActive()) {
-    // Detect debug break requests as soon as possible.
-    reset_value = 10;
-  }
   __ mov(ebx, Immediate(profiling_counter_));
   __ mov(FieldOperand(ebx, JSGlobalPropertyCell::kValueOffset),
          Immediate(Smi::FromInt(reset_value)));
=======================================
--- /branches/bleeding_edge/src/mips/full-codegen-mips.cc Mon Jun 11 23:43:13 2012 +++ /branches/bleeding_edge/src/mips/full-codegen-mips.cc Wed Jun 13 07:07:50 2012
@@ -332,7 +332,7 @@
   }
   if (isolate()->IsDebuggerActive()) {
     // Detect debug break requests as soon as possible.
-    reset_value = 10;
+    reset_value = FLAG_interrupt_budget >> 4;
   }
   __ li(a2, Operand(profiling_counter_));
   __ li(a3, Operand(Smi::FromInt(reset_value)));
=======================================
--- /branches/bleeding_edge/src/x64/full-codegen-x64.cc Mon Jun 11 06:18:05 2012 +++ /branches/bleeding_edge/src/x64/full-codegen-x64.cc Wed Jun 13 07:07:50 2012
@@ -310,10 +310,6 @@
     // Self-optimization is a one-off thing; if it fails, don't try again.
     reset_value = Smi::kMaxValue;
   }
-  if (isolate()->IsDebuggerActive()) {
-    // Detect debug break requests as soon as possible.
-    reset_value = 10;
-  }
   __ movq(rbx, profiling_counter_, RelocInfo::EMBEDDED_OBJECT);
   __ movq(kScratchRegister,
           reinterpret_cast<uint64_t>(Smi::FromInt(reset_value)),

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

Reply via email to