Index: src/isolate.cc |
diff --git a/src/isolate.cc b/src/isolate.cc |
index d54654f9c6f607c30b9d0b73718c0bf4e5e7ead8..afe09ba08bc3b14865d241898d2311b5f38b4998 100644 |
--- a/src/isolate.cc |
+++ b/src/isolate.cc |
@@ -2901,10 +2901,9 @@ Map* Isolate::get_initial_js_array_map(ElementsKind kind) { |
return nullptr; |
} |
- |
-bool Isolate::use_crankshaft() const { |
+bool Isolate::use_crankshaft() { |
return FLAG_opt && FLAG_crankshaft && !serializer_enabled_ && |
- CpuFeatures::SupportsCrankshaft(); |
+ CpuFeatures::SupportsCrankshaft() && !IsCodeCoverageEnabled(); |
} |
bool Isolate::NeedsSourcePositionsForProfiling() const { |
@@ -2913,6 +2912,15 @@ bool Isolate::NeedsSourcePositionsForProfiling() const { |
debug_->is_active() || logger_->is_logging(); |
} |
+bool Isolate::IsCodeCoverageEnabled() { |
+ return heap()->code_coverage_list()->IsArrayList(); |
+} |
+ |
+void Isolate::SetCodeCoverageList(Object* value) { |
+ DCHECK(value->IsUndefined(this) || value->IsArrayList()); |
+ heap()->set_code_coverage_list(value); |
+} |
+ |
bool Isolate::IsArrayOrObjectPrototype(Object* object) { |
Object* context = heap()->native_contexts_list(); |
while (!context->IsUndefined(this)) { |