| Index: src/compiler.cc
|
| diff --git a/src/compiler.cc b/src/compiler.cc
|
| index 3d3a088ffd54c75624bf82d45d3cc8c4d1a9732b..07d4a5aee6adf95a91d1c35027128565b76d45f4 100644
|
| --- a/src/compiler.cc
|
| +++ b/src/compiler.cc
|
| @@ -501,6 +501,7 @@ void EnsureFeedbackVector(CompilationInfo* info) {
|
| }
|
|
|
| bool UseIgnition(CompilationInfo* info) {
|
| + if (info->is_debug()) return false;
|
| if (info->shared_info()->is_generator() && !FLAG_ignition_generators) {
|
| return false;
|
| }
|
| @@ -572,7 +573,7 @@ void InstallSharedScopeInfo(CompilationInfo* info,
|
| void InstallSharedCompilationResult(CompilationInfo* info,
|
| Handle<SharedFunctionInfo> shared) {
|
| // Assert that we are not overwriting (possibly patched) debug code.
|
| - DCHECK(!shared->HasDebugCode());
|
| + DCHECK(!shared->HasDebugInfo());
|
| DCHECK(!info->code().is_null());
|
| shared->ReplaceCode(*info->code());
|
| if (info->has_bytecode_array()) {
|
| @@ -1326,6 +1327,11 @@ bool Compiler::EnsureDeoptimizationSupport(CompilationInfo* info) {
|
| DCHECK_NOT_NULL(info->literal());
|
| DCHECK_NOT_NULL(info->scope());
|
| Handle<SharedFunctionInfo> shared = info->shared_info();
|
| + if (shared->HasBytecodeArray() &&
|
| + HasInterpreterActivations(info->isolate(), *shared)) {
|
| + // Do not tier up from here if we have bytecode on the stack.
|
| + return false;
|
| + }
|
| if (!shared->has_deoptimization_support()) {
|
| Zone zone(info->isolate()->allocator());
|
| CompilationInfo unoptimized(info->parse_info(), info->closure());
|
|
|