| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_COMPILER_LINKAGE_IMPL_H_ | 5 #ifndef V8_COMPILER_LINKAGE_IMPL_H_ |
| 6 #define V8_COMPILER_LINKAGE_IMPL_H_ | 6 #define V8_COMPILER_LINKAGE_IMPL_H_ |
| 7 | 7 |
| 8 namespace v8 { | 8 namespace v8 { |
| 9 namespace internal { | 9 namespace internal { |
| 10 namespace compiler { | 10 namespace compiler { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 | 56 |
| 57 // TODO(titzer): refactor TurboFan graph to consider context a value input. | 57 // TODO(titzer): refactor TurboFan graph to consider context a value input. |
| 58 return new (zone) | 58 return new (zone) |
| 59 CallDescriptor(CallDescriptor::kCallJSFunction, // kind | 59 CallDescriptor(CallDescriptor::kCallJSFunction, // kind |
| 60 return_count, // return_count | 60 return_count, // return_count |
| 61 parameter_count, // parameter_count | 61 parameter_count, // parameter_count |
| 62 input_count - context_count, // input_count | 62 input_count - context_count, // input_count |
| 63 locations, // locations | 63 locations, // locations |
| 64 Operator::kNoProperties, // properties | 64 Operator::kNoProperties, // properties |
| 65 kNoCalleeSaved, // callee-saved registers | 65 kNoCalleeSaved, // callee-saved registers |
| 66 CallDescriptor::kLazyDeoptimization); // flags | 66 CallDescriptor::kNeedsFrameState); // flags |
| 67 } | 67 } |
| 68 | 68 |
| 69 | 69 |
| 70 // TODO(turbofan): cache call descriptors for runtime calls. | 70 // TODO(turbofan): cache call descriptors for runtime calls. |
| 71 template <typename LinkageTraits> | 71 template <typename LinkageTraits> |
| 72 static CallDescriptor* GetRuntimeCallDescriptor( | 72 static CallDescriptor* GetRuntimeCallDescriptor( |
| 73 Zone* zone, Runtime::FunctionId function_id, int parameter_count, | 73 Zone* zone, Runtime::FunctionId function_id, int parameter_count, |
| 74 Operator::Property properties, CallDescriptor::Flags flags) { | 74 Operator::Property properties, CallDescriptor::Flags flags) { |
| 75 const int code_count = 1; | 75 const int code_count = 1; |
| 76 const int function_count = 1; | 76 const int function_count = 1; |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 Operator::kNoProperties, LinkageTraits::CCalleeSaveRegisters(), | 194 Operator::kNoProperties, LinkageTraits::CCalleeSaveRegisters(), |
| 195 CallDescriptor::kNoFlags); // TODO(jarin) should deoptimize! | 195 CallDescriptor::kNoFlags); // TODO(jarin) should deoptimize! |
| 196 } | 196 } |
| 197 }; | 197 }; |
| 198 | 198 |
| 199 } // namespace compiler | 199 } // namespace compiler |
| 200 } // namespace internal | 200 } // namespace internal |
| 201 } // namespace v8 | 201 } // namespace v8 |
| 202 | 202 |
| 203 #endif // V8_COMPILER_LINKAGE_IMPL_H_ | 203 #endif // V8_COMPILER_LINKAGE_IMPL_H_ |
| OLD | NEW |