OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_IA32_LITHIUM_CODEGEN_IA32_H_ | 5 #ifndef V8_IA32_LITHIUM_CODEGEN_IA32_H_ |
6 #define V8_IA32_LITHIUM_CODEGEN_IA32_H_ | 6 #define V8_IA32_LITHIUM_CODEGEN_IA32_H_ |
7 | 7 |
8 #include "src/ia32/lithium-ia32.h" | 8 #include "src/ia32/lithium-ia32.h" |
9 | 9 |
10 #include "src/base/logging.h" | 10 #include "src/base/logging.h" |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 CallRuntime(function, argc, instr); | 184 CallRuntime(function, argc, instr); |
185 } | 185 } |
186 | 186 |
187 void CallRuntimeFromDeferred(Runtime::FunctionId id, | 187 void CallRuntimeFromDeferred(Runtime::FunctionId id, |
188 int argc, | 188 int argc, |
189 LInstruction* instr, | 189 LInstruction* instr, |
190 LOperand* context); | 190 LOperand* context); |
191 | 191 |
192 void LoadContextFromDeferred(LOperand* context); | 192 void LoadContextFromDeferred(LOperand* context); |
193 | 193 |
194 enum EDIState { | 194 // Generate a direct call to a known function. Expects the function |
195 EDI_UNINITIALIZED, | |
196 EDI_CONTAINS_TARGET | |
197 }; | |
198 | |
199 // Generate a direct call to a known function. Expects the function | |
200 // to be in edi. | 195 // to be in edi. |
201 void CallKnownFunction(Handle<JSFunction> function, | 196 void CallKnownFunction(Handle<JSFunction> function, |
202 int formal_parameter_count, | 197 int formal_parameter_count, int arity, |
203 int arity, | 198 LInstruction* instr); |
204 LInstruction* instr, | |
205 EDIState edi_state); | |
206 | 199 |
207 void RecordSafepointWithLazyDeopt(LInstruction* instr, | 200 void RecordSafepointWithLazyDeopt(LInstruction* instr, |
208 SafepointMode safepoint_mode); | 201 SafepointMode safepoint_mode); |
209 | 202 |
210 void RegisterEnvironmentForDeoptimization(LEnvironment* environment, | 203 void RegisterEnvironmentForDeoptimization(LEnvironment* environment, |
211 Safepoint::DeoptMode mode); | 204 Safepoint::DeoptMode mode); |
212 void DeoptimizeIf(Condition cc, LInstruction* instr, const char* detail, | 205 void DeoptimizeIf(Condition cc, LInstruction* instr, const char* detail, |
213 Deoptimizer::BailoutType bailout_type); | 206 Deoptimizer::BailoutType bailout_type); |
214 void DeoptimizeIf(Condition cc, LInstruction* instr, const char* detail); | 207 void DeoptimizeIf(Condition cc, LInstruction* instr, const char* detail); |
215 | 208 |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 Label entry_; | 400 Label entry_; |
408 Label exit_; | 401 Label exit_; |
409 Label* external_exit_; | 402 Label* external_exit_; |
410 Label done_; | 403 Label done_; |
411 int instruction_index_; | 404 int instruction_index_; |
412 }; | 405 }; |
413 | 406 |
414 } } // namespace v8::internal | 407 } } // namespace v8::internal |
415 | 408 |
416 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_ | 409 #endif // V8_IA32_LITHIUM_CODEGEN_IA32_H_ |
OLD | NEW |