OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 Code* code = StubCache::FindCallInitialize(target->arguments_count()); | 230 Code* code = StubCache::FindCallInitialize(target->arguments_count()); |
231 SetTargetAtAddress(address, code); | 231 SetTargetAtAddress(address, code); |
232 } | 232 } |
233 | 233 |
234 | 234 |
235 void KeyedLoadIC::Clear(Address address, Code* target) { | 235 void KeyedLoadIC::Clear(Address address, Code* target) { |
236 if (target->ic_state() == UNINITIALIZED) return; | 236 if (target->ic_state() == UNINITIALIZED) return; |
237 // Make sure to also clear the map used in inline fast cases. If we | 237 // Make sure to also clear the map used in inline fast cases. If we |
238 // do not clear these maps, cached code can keep objects alive | 238 // do not clear these maps, cached code can keep objects alive |
239 // through the embedded maps. | 239 // through the embedded maps. |
240 PatchInlinedMapCheck(address, Heap::null_value()); | 240 ClearInlinedVersion(address); |
241 SetTargetAtAddress(address, initialize_stub()); | 241 SetTargetAtAddress(address, initialize_stub()); |
242 } | 242 } |
243 | 243 |
244 | 244 |
245 void LoadIC::Clear(Address address, Code* target) { | 245 void LoadIC::Clear(Address address, Code* target) { |
246 if (target->ic_state() == UNINITIALIZED) return; | 246 if (target->ic_state() == UNINITIALIZED) return; |
247 SetTargetAtAddress(address, initialize_stub()); | 247 SetTargetAtAddress(address, initialize_stub()); |
248 } | 248 } |
249 | 249 |
250 | 250 |
(...skipping 961 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1212 #undef ADDR | 1212 #undef ADDR |
1213 }; | 1213 }; |
1214 | 1214 |
1215 | 1215 |
1216 Address IC::AddressFromUtilityId(IC::UtilityId id) { | 1216 Address IC::AddressFromUtilityId(IC::UtilityId id) { |
1217 return IC_utilities[id]; | 1217 return IC_utilities[id]; |
1218 } | 1218 } |
1219 | 1219 |
1220 | 1220 |
1221 } } // namespace v8::internal | 1221 } } // namespace v8::internal |
OLD | NEW |