| 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/code-stubs.h" | 9 #include "src/code-stubs.h" |
| 10 #include "src/compiler/frame.h" | 10 #include "src/compiler/frame.h" |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 LocationSignature* location_sig_; | 136 LocationSignature* location_sig_; |
| 137 size_t js_param_count_; | 137 size_t js_param_count_; |
| 138 Operator::Properties properties_; | 138 Operator::Properties properties_; |
| 139 RegList callee_saved_registers_; | 139 RegList callee_saved_registers_; |
| 140 Flags flags_; | 140 Flags flags_; |
| 141 const char* debug_name_; | 141 const char* debug_name_; |
| 142 }; | 142 }; |
| 143 | 143 |
| 144 DEFINE_OPERATORS_FOR_FLAGS(CallDescriptor::Flags) | 144 DEFINE_OPERATORS_FOR_FLAGS(CallDescriptor::Flags) |
| 145 | 145 |
| 146 OStream& operator<<(OStream& os, const CallDescriptor& d); | 146 std::ostream& operator<<(std::ostream& os, const CallDescriptor& d); |
| 147 OStream& operator<<(OStream& os, const CallDescriptor::Kind& k); | 147 std::ostream& operator<<(std::ostream& os, const CallDescriptor::Kind& k); |
| 148 | 148 |
| 149 // Defines the linkage for a compilation, including the calling conventions | 149 // Defines the linkage for a compilation, including the calling conventions |
| 150 // for incoming parameters and return value(s) as well as the outgoing calling | 150 // for incoming parameters and return value(s) as well as the outgoing calling |
| 151 // convention for any kind of call. Linkage is generally architecture-specific. | 151 // convention for any kind of call. Linkage is generally architecture-specific. |
| 152 // | 152 // |
| 153 // Can be used to translate {arg_index} (i.e. index of the call node input) as | 153 // Can be used to translate {arg_index} (i.e. index of the call node input) as |
| 154 // well as {param_index} (i.e. as stored in parameter nodes) into an operator | 154 // well as {param_index} (i.e. as stored in parameter nodes) into an operator |
| 155 // representing the architecture-specific location. The following call node | 155 // representing the architecture-specific location. The following call node |
| 156 // layouts are supported (where {n} is the number value inputs): | 156 // layouts are supported (where {n} is the number value inputs): |
| 157 // | 157 // |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 private: | 223 private: |
| 224 CompilationInfo* info_; | 224 CompilationInfo* info_; |
| 225 CallDescriptor* incoming_; | 225 CallDescriptor* incoming_; |
| 226 }; | 226 }; |
| 227 | 227 |
| 228 } // namespace compiler | 228 } // namespace compiler |
| 229 } // namespace internal | 229 } // namespace internal |
| 230 } // namespace v8 | 230 } // namespace v8 |
| 231 | 231 |
| 232 #endif // V8_COMPILER_LINKAGE_H_ | 232 #endif // V8_COMPILER_LINKAGE_H_ |
| OLD | NEW |