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 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 void AddDeferredCode(LDeferredCode* code) { deferred_.Add(code, zone()); } | 220 void AddDeferredCode(LDeferredCode* code) { deferred_.Add(code, zone()); } |
221 | 221 |
222 // Code generation passes. Returns true if code generation should | 222 // Code generation passes. Returns true if code generation should |
223 // continue. | 223 // continue. |
224 bool GeneratePrologue(); | 224 bool GeneratePrologue(); |
225 bool GenerateBody(); | 225 bool GenerateBody(); |
226 bool GenerateDeferredCode(); | 226 bool GenerateDeferredCode(); |
227 bool GenerateDeoptJumpTable(); | 227 bool GenerateDeoptJumpTable(); |
228 bool GenerateSafepointTable(); | 228 bool GenerateSafepointTable(); |
229 | 229 |
| 230 // Generates the custom OSR entrypoint and sets the osr_pc_offset. |
| 231 void GenerateOsrPrologue(); |
| 232 |
230 enum SafepointMode { | 233 enum SafepointMode { |
231 RECORD_SIMPLE_SAFEPOINT, | 234 RECORD_SIMPLE_SAFEPOINT, |
232 RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS | 235 RECORD_SAFEPOINT_WITH_REGISTERS_AND_NO_ARGUMENTS |
233 }; | 236 }; |
234 | 237 |
235 void CallCode( | 238 void CallCode( |
236 Handle<Code> code, | 239 Handle<Code> code, |
237 RelocInfo::Mode mode, | 240 RelocInfo::Mode mode, |
238 LInstruction* instr, | 241 LInstruction* instr, |
239 TargetAddressStorageMode storage_mode = CAN_INLINE_TARGET_ADDRESS); | 242 TargetAddressStorageMode storage_mode = CAN_INLINE_TARGET_ADDRESS); |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 LCodeGen* codegen_; | 495 LCodeGen* codegen_; |
493 Label entry_; | 496 Label entry_; |
494 Label exit_; | 497 Label exit_; |
495 Label* external_exit_; | 498 Label* external_exit_; |
496 int instruction_index_; | 499 int instruction_index_; |
497 }; | 500 }; |
498 | 501 |
499 } } // namespace v8::internal | 502 } } // namespace v8::internal |
500 | 503 |
501 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ | 504 #endif // V8_ARM_LITHIUM_CODEGEN_ARM_H_ |
OLD | NEW |