Index: src/compiler.h |
diff --git a/src/compiler.h b/src/compiler.h |
index e50b42dd29b936c343f8f76b7dea0427a2bc619b..7bedcad25b2629fc2df46a66e48fea164e12c13d 100644 |
--- a/src/compiler.h |
+++ b/src/compiler.h |
@@ -208,7 +208,11 @@ class CompilationInfo { |
// Compiles marked as debug produce unoptimized code with debug break slots. |
// Inner functions that cannot be compiled w/o context are compiled eagerly. |
- void MarkAsDebug() { SetFlag(kDebug); } |
+ // Always include deoptimization support to avoid having to recompile again. |
+ void MarkAsDebug() { |
+ SetFlag(kDebug); |
+ SetFlag(kDeoptimizationSupport); |
+ } |
bool is_debug() const { return GetFlag(kDebug); } |
@@ -271,10 +275,6 @@ class CompilationInfo { |
} |
void SetCode(Handle<Code> code) { code_ = code; } |
- void MarkNonOptimizable() { |
- SetMode(CompilationInfo::NONOPT); |
- } |
- |
bool ShouldTrapOnDeopt() const { |
return (FLAG_trap_on_deopt && IsOptimizing()) || |
(FLAG_trap_on_stub_deopt && IsStub()); |
@@ -425,12 +425,9 @@ class CompilationInfo { |
// Compilation mode. |
// BASE is generated by the full codegen, optionally prepared for bailouts. |
// OPTIMIZE is optimized code generated by the Hydrogen-based backend. |
- // NONOPT is generated by the full codegen and is not prepared for |
- // recompilation/bailouts. These functions are never recompiled. |
enum Mode { |
BASE, |
OPTIMIZE, |
- NONOPT, |
STUB |
}; |