Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index a2bc186d61a622b1f2f32aff6072c638360131b1..cca4d6a29556dfb492bdb068d64e27b88bde0b00 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -45,6 +45,7 @@ |
#include "deoptimizer.h" |
#include "date.h" |
#include "execution.h" |
+#include "feedbackslots.h" |
#include "full-codegen.h" |
#include "global-handles.h" |
#include "isolate-inl.h" |
@@ -8472,7 +8473,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ClearFunctionTypeFeedback) { |
Code* unoptimized = function->shared()->code(); |
if (unoptimized->kind() == Code::FUNCTION) { |
unoptimized->ClearInlineCaches(); |
- unoptimized->ClearTypeFeedbackCells(isolate->heap()); |
+ unoptimized->ClearTypeFeedbackInfo(isolate->heap()); |
} |
return isolate->heap()->undefined_value(); |
} |
@@ -11766,14 +11767,16 @@ class ScopeIterator { |
info.MarkAsEval(); |
info.SetContext(Handle<Context>(function_->context())); |
} |
- if (Parser::Parse(&info) && Scope::Analyze(&info)) { |
+ if (Parser::Parse(&info) && Scope::Analyze(&info) && |
+ FeedbackSlotAllocator::Run(&info)) { |
scope = info.function()->scope(); |
} |
RetrieveScopeChain(scope, shared_info); |
} else { |
// Function code |
CompilationInfoWithZone info(shared_info); |
- if (Parser::Parse(&info) && Scope::Analyze(&info)) { |
+ if (Parser::Parse(&info) && Scope::Analyze(&info) && |
+ FeedbackSlotAllocator::Run(&info)) { |
scope = info.function()->scope(); |
} |
RetrieveScopeChain(scope, shared_info); |