| 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 240 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  251 // for incoming parameters and return value(s) as well as the outgoing calling |  251 // for incoming parameters and return value(s) as well as the outgoing calling | 
|  252 // convention for any kind of call. Linkage is generally architecture-specific. |  252 // convention for any kind of call. Linkage is generally architecture-specific. | 
|  253 // |  253 // | 
|  254 // Can be used to translate {arg_index} (i.e. index of the call node input) as |  254 // Can be used to translate {arg_index} (i.e. index of the call node input) as | 
|  255 // well as {param_index} (i.e. as stored in parameter nodes) into an operator |  255 // well as {param_index} (i.e. as stored in parameter nodes) into an operator | 
|  256 // representing the architecture-specific location. The following call node |  256 // representing the architecture-specific location. The following call node | 
|  257 // layouts are supported (where {n} is the number value inputs): |  257 // layouts are supported (where {n} is the number value inputs): | 
|  258 // |  258 // | 
|  259 //                  #0          #1     #2     #3     [...]             #n |  259 //                  #0          #1     #2     #3     [...]             #n | 
|  260 // Call[CodeStub]   code,       arg 1, arg 2, arg 3, [...],            context |  260 // Call[CodeStub]   code,       arg 1, arg 2, arg 3, [...],            context | 
|  261 // Call[JSFunction] function,   rcvr,  arg 1, arg 2, [...],            context |  261 // Call[JSFunction] function,   rcvr,  arg 1, arg 2, [...],      #arg, context | 
|  262 // Call[Runtime]    CEntryStub, arg 1, arg 2, arg 3, [...], fun, #arg, context |  262 // Call[Runtime]    CEntryStub, arg 1, arg 2, arg 3, [...], fun, #arg, context | 
|  263 class Linkage : public ZoneObject { |  263 class Linkage : public ZoneObject { | 
|  264  public: |  264  public: | 
|  265   explicit Linkage(CallDescriptor* incoming) : incoming_(incoming) {} |  265   explicit Linkage(CallDescriptor* incoming) : incoming_(incoming) {} | 
|  266  |  266  | 
|  267   static CallDescriptor* ComputeIncoming(Zone* zone, CompilationInfo* info); |  267   static CallDescriptor* ComputeIncoming(Zone* zone, CompilationInfo* info); | 
|  268  |  268  | 
|  269   // The call descriptor for this compilation unit describes the locations |  269   // The call descriptor for this compilation unit describes the locations | 
|  270   // of incoming parameters and the outgoing return value(s). |  270   // of incoming parameters and the outgoing return value(s). | 
|  271   CallDescriptor* GetIncomingDescriptor() const { return incoming_; } |  271   CallDescriptor* GetIncomingDescriptor() const { return incoming_; } | 
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  347   CallDescriptor* const incoming_; |  347   CallDescriptor* const incoming_; | 
|  348  |  348  | 
|  349   DISALLOW_COPY_AND_ASSIGN(Linkage); |  349   DISALLOW_COPY_AND_ASSIGN(Linkage); | 
|  350 }; |  350 }; | 
|  351  |  351  | 
|  352 }  // namespace compiler |  352 }  // namespace compiler | 
|  353 }  // namespace internal |  353 }  // namespace internal | 
|  354 }  // namespace v8 |  354 }  // namespace v8 | 
|  355  |  355  | 
|  356 #endif  // V8_COMPILER_LINKAGE_H_ |  356 #endif  // V8_COMPILER_LINKAGE_H_ | 
| OLD | NEW |