Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 58a34634a7ffc4842ac7a6fa6114002cacdca85b..d99338cbcff22df1ab574f0991df1094a8384063 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -7869,14 +7869,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) { |
ulan
2012/04/02 12:52:30
Another kind that can appear here is Code::BUILTIN
|
+ 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); |
} |