| 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);
|
|
|