| 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 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 | 164 |
| 165 // Get the callee-saved FP registers, if any, across this call. | 165 // Get the callee-saved FP registers, if any, across this call. |
| 166 RegList CalleeSavedFPRegisters() const { return callee_saved_fp_registers_; } | 166 RegList CalleeSavedFPRegisters() const { return callee_saved_fp_registers_; } |
| 167 | 167 |
| 168 const char* debug_name() const { return debug_name_; } | 168 const char* debug_name() const { return debug_name_; } |
| 169 | 169 |
| 170 bool UsesOnlyRegisters() const; | 170 bool UsesOnlyRegisters() const; |
| 171 | 171 |
| 172 bool HasSameReturnLocationsAs(const CallDescriptor* other) const; | 172 bool HasSameReturnLocationsAs(const CallDescriptor* other) const; |
| 173 | 173 |
| 174 bool CanTailCall(const Node* call) const; | 174 bool CanTailCall(const Node* call, size_t* stack_parameters_in, |
| 175 size_t* preserved_stack_parameters_in, |
| 176 size_t* stack_parameters_out, |
| 177 size_t* register_parameters_out) const; |
| 175 | 178 |
| 176 private: | 179 private: |
| 177 friend class Linkage; | 180 friend class Linkage; |
| 178 | 181 |
| 179 const Kind kind_; | 182 const Kind kind_; |
| 180 const MachineType target_type_; | 183 const MachineType target_type_; |
| 181 const LinkageLocation target_loc_; | 184 const LinkageLocation target_loc_; |
| 182 const MachineSignature* const machine_sig_; | 185 const MachineSignature* const machine_sig_; |
| 183 const LocationSignature* const location_sig_; | 186 const LocationSignature* const location_sig_; |
| 184 const size_t js_param_count_; | 187 const size_t js_param_count_; |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 CallDescriptor* const incoming_; | 291 CallDescriptor* const incoming_; |
| 289 | 292 |
| 290 DISALLOW_COPY_AND_ASSIGN(Linkage); | 293 DISALLOW_COPY_AND_ASSIGN(Linkage); |
| 291 }; | 294 }; |
| 292 | 295 |
| 293 } // namespace compiler | 296 } // namespace compiler |
| 294 } // namespace internal | 297 } // namespace internal |
| 295 } // namespace v8 | 298 } // namespace v8 |
| 296 | 299 |
| 297 #endif // V8_COMPILER_LINKAGE_H_ | 300 #endif // V8_COMPILER_LINKAGE_H_ |
| OLD | NEW |