Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index 73aa9627b329e5402496309e54896ae4969ea7d4..5233045f1b7cc94263e3f752b1cb3553c2858cc3 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -777,7 +777,13 @@ Handle<Code> Pipeline::GenerateCode() { |
// TODO(mstarzinger): This is just a temporary hack to make TurboFan work, |
// the correct solution is to restore the context register after invoking |
// builtins from full-codegen. |
- if (isolate()->bootstrapper()->IsActive()) return Handle<Code>::null(); |
+ Handle<SharedFunctionInfo> shared = info()->shared_info(); |
+ if (isolate()->bootstrapper()->IsActive() || |
+ shared->disable_optimization_reason() == |
+ kBuiltinFunctionCannotBeOptimized) { |
+ shared->DisableOptimization(kBuiltinFunctionCannotBeOptimized); |
+ return Handle<Code>::null(); |
+ } |
ZonePool zone_pool(isolate()); |
SmartPointer<PipelineStatistics> pipeline_statistics; |