OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 } | 117 } |
118 masm_->set_has_frame(old_has_frame_); | 118 masm_->set_has_frame(old_has_frame_); |
119 } | 119 } |
120 | 120 |
121 // Normally we generate the leave-frame code when this object goes | 121 // Normally we generate the leave-frame code when this object goes |
122 // out of scope. Sometimes we may need to generate the code somewhere else | 122 // out of scope. Sometimes we may need to generate the code somewhere else |
123 // in addition. Calling this will achieve that, but the object stays in | 123 // in addition. Calling this will achieve that, but the object stays in |
124 // scope, the MacroAssembler is still marked as being in a frame scope, and | 124 // scope, the MacroAssembler is still marked as being in a frame scope, and |
125 // the code will be generated again when it goes out of scope. | 125 // the code will be generated again when it goes out of scope. |
126 void GenerateLeaveFrame() { | 126 void GenerateLeaveFrame() { |
| 127 ASSERT(type_ != StackFrame::MANUAL && type_ != StackFrame::NONE); |
127 masm_->LeaveFrame(type_); | 128 masm_->LeaveFrame(type_); |
128 } | 129 } |
129 | 130 |
130 private: | 131 private: |
131 MacroAssembler* masm_; | 132 MacroAssembler* masm_; |
132 StackFrame::Type type_; | 133 StackFrame::Type type_; |
133 bool old_has_frame_; | 134 bool old_has_frame_; |
134 }; | 135 }; |
135 | 136 |
136 | 137 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 isolate); | 206 isolate); |
206 } | 207 } |
207 return ExternalReference::new_space_allocation_limit_address(isolate); | 208 return ExternalReference::new_space_allocation_limit_address(isolate); |
208 } | 209 } |
209 }; | 210 }; |
210 | 211 |
211 | 212 |
212 } } // namespace v8::internal | 213 } } // namespace v8::internal |
213 | 214 |
214 #endif // V8_MACRO_ASSEMBLER_H_ | 215 #endif // V8_MACRO_ASSEMBLER_H_ |
OLD | NEW |