| 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 #include "src/code-stubs.h" |
| 9 |
| 8 namespace v8 { | 10 namespace v8 { |
| 9 namespace internal { | 11 namespace internal { |
| 10 namespace compiler { | 12 namespace compiler { |
| 11 | 13 |
| 12 // TODO(titzer): replace uses of int with size_t in LinkageHelper. | 14 // TODO(titzer): replace uses of int with size_t in LinkageHelper. |
| 13 template <typename LinkageTraits> | 15 template <typename LinkageTraits> |
| 14 class LinkageHelper { | 16 class LinkageHelper { |
| 15 public: | 17 public: |
| 16 static const RegList kNoCalleeSaved = 0; | 18 static const RegList kNoCalleeSaved = 0; |
| 17 | 19 |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 js_parameter_count, // js_parameter_count | 124 js_parameter_count, // js_parameter_count |
| 123 properties, // properties | 125 properties, // properties |
| 124 kNoCalleeSaved, // callee-saved | 126 kNoCalleeSaved, // callee-saved |
| 125 flags, // flags | 127 flags, // flags |
| 126 function->name); // debug name | 128 function->name); // debug name |
| 127 } | 129 } |
| 128 | 130 |
| 129 | 131 |
| 130 // TODO(turbofan): cache call descriptors for code stub calls. | 132 // TODO(turbofan): cache call descriptors for code stub calls. |
| 131 static CallDescriptor* GetStubCallDescriptor( | 133 static CallDescriptor* GetStubCallDescriptor( |
| 132 Zone* zone, CallInterfaceDescriptor descriptor, int stack_parameter_count, | 134 Zone* zone, const CallInterfaceDescriptor& descriptor, |
| 133 CallDescriptor::Flags flags) { | 135 int stack_parameter_count, CallDescriptor::Flags flags) { |
| 134 const int register_parameter_count = | 136 const int register_parameter_count = |
| 135 descriptor.GetEnvironmentParameterCount(); | 137 descriptor.GetEnvironmentParameterCount(); |
| 136 const int js_parameter_count = | 138 const int js_parameter_count = |
| 137 register_parameter_count + stack_parameter_count; | 139 register_parameter_count + stack_parameter_count; |
| 138 const int context_count = 1; | 140 const int context_count = 1; |
| 139 const size_t return_count = 1; | 141 const size_t return_count = 1; |
| 140 const size_t parameter_count = | 142 const size_t parameter_count = |
| 141 static_cast<size_t>(js_parameter_count + context_count); | 143 static_cast<size_t>(js_parameter_count + context_count); |
| 142 | 144 |
| 143 LocationSignature::Builder locations(zone, return_count, parameter_count); | 145 LocationSignature::Builder locations(zone, return_count, parameter_count); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 static LinkageLocation stackloc(int i) { | 219 static LinkageLocation stackloc(int i) { |
| 218 DCHECK_LT(i, 0); | 220 DCHECK_LT(i, 0); |
| 219 return LinkageLocation(i); | 221 return LinkageLocation(i); |
| 220 } | 222 } |
| 221 }; | 223 }; |
| 222 } // namespace compiler | 224 } // namespace compiler |
| 223 } // namespace internal | 225 } // namespace internal |
| 224 } // namespace v8 | 226 } // namespace v8 |
| 225 | 227 |
| 226 #endif // V8_COMPILER_LINKAGE_IMPL_H_ | 228 #endif // V8_COMPILER_LINKAGE_IMPL_H_ |
| OLD | NEW |