Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 29ccacf42138c66421b81bd8c3fa2c489e8fe040..b3e79f2c88e622b3185efffaa6a380c74ed8762a 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -7871,14 +7871,17 @@ void SharedFunctionInfo::AttachInitialMap(Map* map) { |
void SharedFunctionInfo::ResetForNewContext(int new_ic_age) { |
code()->ClearInlineCaches(); |
- code()->set_profiler_ticks(0); |
set_ic_age(new_ic_age); |
- if (optimization_disabled() && opt_count() >= Compiler::kDefaultMaxOptCount) { |
- // Re-enable optimizations if they were disabled due to opt_count limit. |
- set_optimization_disabled(false); |
- code()->set_optimizable(true); |
+ if (code()->kind() == Code::FUNCTION) { |
+ code()->set_profiler_ticks(0); |
+ if (optimization_disabled() && |
+ opt_count() >= Compiler::kDefaultMaxOptCount) { |
+ // Re-enable optimizations if they were disabled due to opt_count limit. |
+ set_optimization_disabled(false); |
+ code()->set_optimizable(true); |
+ } |
+ set_opt_count(0); |
} |
- set_opt_count(0); |
} |