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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
108 // Spill all values from the frame to memory. | 108 // Spill all values from the frame to memory. |
109 void SpillAll(); | 109 void SpillAll(); |
110 | 110 |
111 // Spill all occurrences of a specific register from the frame. | 111 // Spill all occurrences of a specific register from the frame. |
112 void Spill(Register reg); | 112 void Spill(Register reg); |
113 | 113 |
114 // Spill all occurrences of an arbitrary register if possible. Return the | 114 // Spill all occurrences of an arbitrary register if possible. Return the |
115 // register spilled or no_reg if it was not possible to free any register | 115 // register spilled or no_reg if it was not possible to free any register |
116 // (ie, they all have frame-external references). | 116 // (ie, they all have frame-external references). |
117 Register SpillAnyRegister(); | 117 Register SpillAnyRegister(); |
118 | 118 |
William Hesse
2009/05/15 07:45:51
How about:
// Remove copies and constants from the
Kevin Millikin (Chromium)
2009/05/15 08:03:35
Seems misleading. The arbitrary frame could diffe
| |
119 // Make this frame so that an arbitrary frame of the same height can | |
120 // be merged to it. Copies and constants are removed from the | |
121 // topmost mergable_elements elements of the frame. A | |
122 // mergable_elements of JumpTarget::kAllElements indicates constants | |
123 // and copies are not allowed anywhere in the frame. | |
124 void MakeMergable(int mergable_elements); | |
125 | |
119 // Prepare this virtual frame for merging to an expected frame by | 126 // Prepare this virtual frame for merging to an expected frame by |
120 // performing some state changes that do not require generating | 127 // performing some state changes that do not require generating |
121 // code. It is guaranteed that no code will be generated. | 128 // code. It is guaranteed that no code will be generated. |
122 void PrepareMergeTo(VirtualFrame* expected); | 129 void PrepareMergeTo(VirtualFrame* expected); |
123 | 130 |
124 // Make this virtual frame have a state identical to an expected virtual | 131 // Make this virtual frame have a state identical to an expected virtual |
125 // frame. As a side effect, code may be emitted to make this frame match | 132 // frame. As a side effect, code may be emitted to make this frame match |
126 // the expected one. | 133 // the expected one. |
127 void MergeTo(VirtualFrame* expected); | 134 void MergeTo(VirtualFrame* expected); |
128 | 135 |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
484 Result RawCallCodeObject(Handle<Code> code, RelocInfo::Mode rmode); | 491 Result RawCallCodeObject(Handle<Code> code, RelocInfo::Mode rmode); |
485 | 492 |
486 bool Equals(VirtualFrame* other); | 493 bool Equals(VirtualFrame* other); |
487 | 494 |
488 friend class JumpTarget; | 495 friend class JumpTarget; |
489 }; | 496 }; |
490 | 497 |
491 } } // namespace v8::internal | 498 } } // namespace v8::internal |
492 | 499 |
493 #endif // V8_IA32_VIRTUAL_FRAME_IA32_H_ | 500 #endif // V8_IA32_VIRTUAL_FRAME_IA32_H_ |
OLD | NEW |