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_H_ | 5 #ifndef V8_COMPILER_LINKAGE_H_ |
6 #define V8_COMPILER_LINKAGE_H_ | 6 #define V8_COMPILER_LINKAGE_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/compiler/frame.h" | 9 #include "src/compiler/frame.h" |
10 #include "src/compiler/machine-type.h" | 10 #include "src/compiler/machine-type.h" |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
266 static CallDescriptor* ComputeIncoming(Zone* zone, CompilationInfo* info); | 266 static CallDescriptor* ComputeIncoming(Zone* zone, CompilationInfo* info); |
267 | 267 |
268 // The call descriptor for this compilation unit describes the locations | 268 // The call descriptor for this compilation unit describes the locations |
269 // of incoming parameters and the outgoing return value(s). | 269 // of incoming parameters and the outgoing return value(s). |
270 CallDescriptor* GetIncomingDescriptor() const { return incoming_; } | 270 CallDescriptor* GetIncomingDescriptor() const { return incoming_; } |
271 static CallDescriptor* GetJSCallDescriptor(Zone* zone, bool is_osr, | 271 static CallDescriptor* GetJSCallDescriptor(Zone* zone, bool is_osr, |
272 int parameter_count, | 272 int parameter_count, |
273 CallDescriptor::Flags flags); | 273 CallDescriptor::Flags flags); |
274 static CallDescriptor* GetRuntimeCallDescriptor( | 274 static CallDescriptor* GetRuntimeCallDescriptor( |
275 Zone* zone, Runtime::FunctionId function, int parameter_count, | 275 Zone* zone, Runtime::FunctionId function, int parameter_count, |
276 Operator::Properties properties); | 276 Operator::Properties properties, bool needs_frame_state = true); |
rmcilroy
2015/09/10 11:16:34
nit - could you make this an enum instead of a boo
Benedikt Meurer
2015/09/10 11:26:51
Mhm, I think that is a bit overkill for the one ca
| |
277 | 277 |
278 static CallDescriptor* GetStubCallDescriptor( | 278 static CallDescriptor* GetStubCallDescriptor( |
279 Isolate* isolate, Zone* zone, const CallInterfaceDescriptor& descriptor, | 279 Isolate* isolate, Zone* zone, const CallInterfaceDescriptor& descriptor, |
280 int stack_parameter_count, CallDescriptor::Flags flags, | 280 int stack_parameter_count, CallDescriptor::Flags flags, |
281 Operator::Properties properties = Operator::kNoProperties, | 281 Operator::Properties properties = Operator::kNoProperties, |
282 MachineType return_type = kMachAnyTagged); | 282 MachineType return_type = kMachAnyTagged); |
283 | 283 |
284 // Creates a call descriptor for simplified C calls that is appropriate | 284 // Creates a call descriptor for simplified C calls that is appropriate |
285 // for the host platform. This simplified calling convention only supports | 285 // for the host platform. This simplified calling convention only supports |
286 // integers and pointers of one word size each, i.e. no floating point, | 286 // integers and pointers of one word size each, i.e. no floating point, |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
341 CallDescriptor* const incoming_; | 341 CallDescriptor* const incoming_; |
342 | 342 |
343 DISALLOW_COPY_AND_ASSIGN(Linkage); | 343 DISALLOW_COPY_AND_ASSIGN(Linkage); |
344 }; | 344 }; |
345 | 345 |
346 } // namespace compiler | 346 } // namespace compiler |
347 } // namespace internal | 347 } // namespace internal |
348 } // namespace v8 | 348 } // namespace v8 |
349 | 349 |
350 #endif // V8_COMPILER_LINKAGE_H_ | 350 #endif // V8_COMPILER_LINKAGE_H_ |
OLD | NEW |