OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 10181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10192 ASSERT_EQ(builtins->builtin(Builtins::kJSConstructStubGeneric), | 10192 ASSERT_EQ(builtins->builtin(Builtins::kJSConstructStubGeneric), |
10193 *RawField(this, kConstructStubOffset)); | 10193 *RawField(this, kConstructStubOffset)); |
10194 set_construct_stub(builtins->builtin(Builtins::kJSConstructStubCountdown)); | 10194 set_construct_stub(builtins->builtin(Builtins::kJSConstructStubCountdown)); |
10195 // The map survived the gc, so there may be objects referencing it. | 10195 // The map survived the gc, so there may be objects referencing it. |
10196 set_live_objects_may_exist(true); | 10196 set_live_objects_may_exist(true); |
10197 } | 10197 } |
10198 | 10198 |
10199 | 10199 |
10200 void SharedFunctionInfo::ResetForNewContext(int new_ic_age) { | 10200 void SharedFunctionInfo::ResetForNewContext(int new_ic_age) { |
10201 code()->ClearInlineCaches(); | 10201 code()->ClearInlineCaches(); |
| 10202 // If we clear ICs, we need to clear the type feedback vector too, since |
| 10203 // CallICs are synced with a feedback vector slot. |
| 10204 code()->ClearTypeFeedbackInfo(map()->GetHeap()); |
10202 set_ic_age(new_ic_age); | 10205 set_ic_age(new_ic_age); |
10203 if (code()->kind() == Code::FUNCTION) { | 10206 if (code()->kind() == Code::FUNCTION) { |
10204 code()->set_profiler_ticks(0); | 10207 code()->set_profiler_ticks(0); |
10205 if (optimization_disabled() && | 10208 if (optimization_disabled() && |
10206 opt_count() >= FLAG_max_opt_count) { | 10209 opt_count() >= FLAG_max_opt_count) { |
10207 // Re-enable optimizations if they were disabled due to opt_count limit. | 10210 // Re-enable optimizations if they were disabled due to opt_count limit. |
10208 set_optimization_disabled(false); | 10211 set_optimization_disabled(false); |
10209 code()->set_optimizable(true); | 10212 code()->set_optimizable(true); |
10210 } | 10213 } |
10211 set_opt_count(0); | 10214 set_opt_count(0); |
(...skipping 6274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16486 #define ERROR_MESSAGES_TEXTS(C, T) T, | 16489 #define ERROR_MESSAGES_TEXTS(C, T) T, |
16487 static const char* error_messages_[] = { | 16490 static const char* error_messages_[] = { |
16488 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) | 16491 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) |
16489 }; | 16492 }; |
16490 #undef ERROR_MESSAGES_TEXTS | 16493 #undef ERROR_MESSAGES_TEXTS |
16491 return error_messages_[reason]; | 16494 return error_messages_[reason]; |
16492 } | 16495 } |
16493 | 16496 |
16494 | 16497 |
16495 } } // namespace v8::internal | 16498 } } // namespace v8::internal |
OLD | NEW |