| 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_X64_LITHIUM_CODEGEN_X64_H_ | 5 #ifndef V8_X64_LITHIUM_CODEGEN_X64_H_ |
| 6 #define V8_X64_LITHIUM_CODEGEN_X64_H_ | 6 #define V8_X64_LITHIUM_CODEGEN_X64_H_ |
| 7 | 7 |
| 8 #include "src/x64/lithium-x64.h" | 8 #include "src/x64/lithium-x64.h" |
| 9 | 9 |
| 10 #include "src/base/logging.h" | 10 #include "src/base/logging.h" |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 CallRuntime(function, num_arguments, instr); | 181 CallRuntime(function, num_arguments, instr); |
| 182 } | 182 } |
| 183 | 183 |
| 184 void CallRuntimeFromDeferred(Runtime::FunctionId id, | 184 void CallRuntimeFromDeferred(Runtime::FunctionId id, |
| 185 int argc, | 185 int argc, |
| 186 LInstruction* instr, | 186 LInstruction* instr, |
| 187 LOperand* context); | 187 LOperand* context); |
| 188 | 188 |
| 189 void LoadContextFromDeferred(LOperand* context); | 189 void LoadContextFromDeferred(LOperand* context); |
| 190 | 190 |
| 191 enum RDIState { | |
| 192 RDI_UNINITIALIZED, | |
| 193 RDI_CONTAINS_TARGET | |
| 194 }; | |
| 195 | |
| 196 // Generate a direct call to a known function. Expects the function | 191 // Generate a direct call to a known function. Expects the function |
| 197 // to be in rdi. | 192 // to be in rdi. |
| 198 void CallKnownFunction(Handle<JSFunction> function, | 193 void CallKnownFunction(Handle<JSFunction> function, |
| 199 int formal_parameter_count, | 194 int formal_parameter_count, int arity, |
| 200 int arity, | 195 LInstruction* instr); |
| 201 LInstruction* instr, | |
| 202 RDIState rdi_state); | |
| 203 | 196 |
| 204 void RecordSafepointWithLazyDeopt(LInstruction* instr, | 197 void RecordSafepointWithLazyDeopt(LInstruction* instr, |
| 205 SafepointMode safepoint_mode, | 198 SafepointMode safepoint_mode, |
| 206 int argc); | 199 int argc); |
| 207 void RegisterEnvironmentForDeoptimization(LEnvironment* environment, | 200 void RegisterEnvironmentForDeoptimization(LEnvironment* environment, |
| 208 Safepoint::DeoptMode mode); | 201 Safepoint::DeoptMode mode); |
| 209 void DeoptimizeIf(Condition cc, LInstruction* instr, const char* detail, | 202 void DeoptimizeIf(Condition cc, LInstruction* instr, const char* detail, |
| 210 Deoptimizer::BailoutType bailout_type); | 203 Deoptimizer::BailoutType bailout_type); |
| 211 void DeoptimizeIf(Condition cc, LInstruction* instr, const char* detail); | 204 void DeoptimizeIf(Condition cc, LInstruction* instr, const char* detail); |
| 212 | 205 |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 Label entry_; | 387 Label entry_; |
| 395 Label exit_; | 388 Label exit_; |
| 396 Label done_; | 389 Label done_; |
| 397 Label* external_exit_; | 390 Label* external_exit_; |
| 398 int instruction_index_; | 391 int instruction_index_; |
| 399 }; | 392 }; |
| 400 | 393 |
| 401 } } // namespace v8::internal | 394 } } // namespace v8::internal |
| 402 | 395 |
| 403 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ | 396 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ |
| OLD | NEW |