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 |