Revision: 22375
Author:   yang...@chromium.org
Date:     Mon Jul 14 13:13:41 2014 UTC
Log:      Version 3.27.34.6 (merged r22029)

Compile optimized code with active debugger but no break points.

BUG=386492
LOG=N
R=machenb...@chromium.org

Review URL: https://codereview.chromium.org/388233002
http://code.google.com/p/v8/source/detail?r=22375

Added:
 /branches/3.27/test/mjsunit/debug-compile-optimized.js
Modified:
 /branches/3.27/src/codegen.cc
 /branches/3.27/src/compiler.cc
 /branches/3.27/src/objects.h
 /branches/3.27/src/version.cc
 /branches/3.27/test/cctest/cctest.status

=======================================
--- /dev/null
+++ /branches/3.27/test/mjsunit/debug-compile-optimized.js Mon Jul 14 13:13:41 2014 UTC
@@ -0,0 +1,18 @@
+// Copyright 2014 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --expose-debug-as debug --allow-natives-syntax --crankshaft
+
+Debug = debug.Debug;
+
+Debug.setListener(function() {});
+
+function f() {}
+f();
+f();
+%OptimizeFunctionOnNextCall(f);
+f();
+assertOptimized(f);
+
+Debug.setListener(null);
=======================================
--- /branches/3.27/src/codegen.cc       Wed Jun  4 00:06:13 2014 UTC
+++ /branches/3.27/src/codegen.cc       Mon Jul 14 13:13:41 2014 UTC
@@ -151,7 +151,7 @@
       isolate->factory()->NewCode(desc, flags, masm->CodeObject(),
                                   false, is_crankshafted,
                                   info->prologue_offset(),
-                                  info->is_debug());
+                                  info->is_debug() && !is_crankshafted);
   isolate->counters()->total_compiled_code_size()->Increment(
       code->instruction_size());
   isolate->heap()->IncrementCodeGeneratedBytes(is_crankshafted,
=======================================
--- /branches/3.27/src/compiler.cc      Wed Jun 18 14:15:57 2014 UTC
+++ /branches/3.27/src/compiler.cc      Mon Jul 14 13:13:41 2014 UTC
@@ -297,8 +297,10 @@
   // generated code for this from the shared function object.
   if (FLAG_always_full_compiler) return AbortOptimization();

-  // Do not use crankshaft if compiling for debugging.
-  if (info()->is_debug()) return AbortOptimization(kDebuggerIsActive);
+  // Do not use crankshaft if we need to be able to set break points.
+  if (isolate()->DebuggerHasBreakPoints()) {
+    return AbortOptimization(kDebuggerHasBreakPoints);
+  }

   // Limit the number of times we re-compile a functions with
   // the optimizing compiler.
=======================================
--- /branches/3.27/src/objects.h        Wed Jun 18 14:15:57 2014 UTC
+++ /branches/3.27/src/objects.h        Mon Jul 14 13:13:41 2014 UTC
@@ -1036,7 +1036,7 @@
V(kCopyBuffersOverlap, "Copy buffers overlap") \ V(kCouldNotGenerateZero, "Could not generate +0.0") \ V(kCouldNotGenerateNegativeZero, "Could not generate -0.0") \ - V(kDebuggerIsActive, "Debugger is active") \ + V(kDebuggerHasBreakPoints, "Debugger has break points") \ V(kDebuggerStatement, "DebuggerStatement") \ V(kDeclarationInCatchContext, "Declaration in catch context") \ V(kDeclarationInWithContext, "Declaration in with context") \
=======================================
--- /branches/3.27/src/version.cc       Tue Jul  8 08:50:03 2014 UTC
+++ /branches/3.27/src/version.cc       Mon Jul 14 13:13:41 2014 UTC
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     27
 #define BUILD_NUMBER      34
-#define PATCH_LEVEL       5
+#define PATCH_LEVEL       6
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0
=======================================
--- /branches/3.27/test/cctest/cctest.status    Wed Jun 11 00:05:05 2014 UTC
+++ /branches/3.27/test/cctest/cctest.status    Mon Jul 14 13:13:41 2014 UTC
@@ -75,6 +75,9 @@
   # BUG(3287). (test-cpu-profiler/SampleWhenFrameIsNotSetup)
   'test-cpu-profiler/*': [PASS, FLAKY],

+  # BUG(crbug/386492). This will be fixed by r22029.
+  'test-debug/ThreadedDebugging': [PASS, FAIL],
+
############################################################################
   # Slow tests.
   'test-api/Threading1': [PASS, ['mode == debug', SLOW]],

--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to