OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 } | 211 } |
212 elements_[i] = target; | 212 elements_[i] = target; |
213 } else if (target.is_register() && !target.is_synced() && | 213 } else if (target.is_register() && !target.is_synced() && |
214 !source.is_memory()) { | 214 !source.is_memory()) { |
215 // If an element's target is a register that doesn't need to be | 215 // If an element's target is a register that doesn't need to be |
216 // synced, and the element is not in memory, then the sync state | 216 // synced, and the element is not in memory, then the sync state |
217 // of the element is irrelevant. We clear the sync bit. | 217 // of the element is irrelevant. We clear the sync bit. |
218 ASSERT(source.is_valid()); | 218 ASSERT(source.is_valid()); |
219 elements_[i].clear_sync(); | 219 elements_[i].clear_sync(); |
220 } | 220 } |
221 | |
222 elements_[i].clear_copied(); | |
223 if (elements_[i].is_copy()) { | |
224 elements_[elements_[i].index()].set_copied(); | |
225 } | |
226 | |
227 // No code needs to be generated to change the static type of an | 221 // No code needs to be generated to change the static type of an |
228 // element. | 222 // element. |
229 elements_[i].set_static_type(target.static_type()); | 223 elements_[i].set_static_type(target.static_type()); |
230 } | 224 } |
231 } | 225 } |
232 | 226 |
233 | 227 |
234 void VirtualFrame::PrepareForCall(int spilled_args, int dropped_args) { | 228 void VirtualFrame::PrepareForCall(int spilled_args, int dropped_args) { |
235 ASSERT(height() >= dropped_args); | 229 ASSERT(height() >= dropped_args); |
236 ASSERT(height() >= spilled_args); | 230 ASSERT(height() >= spilled_args); |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 // Specialization of List::ResizeAdd to non-inlined version for FrameElements. | 399 // Specialization of List::ResizeAdd to non-inlined version for FrameElements. |
406 // The function ResizeAdd becomes a real function, whose implementation is the | 400 // The function ResizeAdd becomes a real function, whose implementation is the |
407 // inlined ResizeAddInternal. | 401 // inlined ResizeAddInternal. |
408 template <> | 402 template <> |
409 void List<FrameElement, | 403 void List<FrameElement, |
410 FreeStoreAllocationPolicy>::ResizeAdd(const FrameElement& element) { | 404 FreeStoreAllocationPolicy>::ResizeAdd(const FrameElement& element) { |
411 ResizeAddInternal(element); | 405 ResizeAddInternal(element); |
412 } | 406 } |
413 | 407 |
414 } } // namespace v8::internal | 408 } } // namespace v8::internal |
OLD | NEW |