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/operator.h" | 10 #include "src/compiler/operator.h" |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 } | 362 } |
363 | 363 |
364 bool ParameterHasSecondaryLocation(int index) const; | 364 bool ParameterHasSecondaryLocation(int index) const; |
365 LinkageLocation GetParameterSecondaryLocation(int index) const; | 365 LinkageLocation GetParameterSecondaryLocation(int index) const; |
366 | 366 |
367 static int FrameStateInputCount(Runtime::FunctionId function); | 367 static int FrameStateInputCount(Runtime::FunctionId function); |
368 | 368 |
369 // Get the location where an incoming OSR value is stored. | 369 // Get the location where an incoming OSR value is stored. |
370 LinkageLocation GetOsrValueLocation(int index) const; | 370 LinkageLocation GetOsrValueLocation(int index) const; |
371 | 371 |
| 372 // A special {Parameter} index for Stub Calls that represents context. |
| 373 static int GetStubCallContextParamIndex(int parameter_count) { |
| 374 return parameter_count + 0; // Parameter (arity + 0) is special. |
| 375 } |
| 376 |
372 // A special {Parameter} index for JSCalls that represents the new target. | 377 // A special {Parameter} index for JSCalls that represents the new target. |
373 static int GetJSCallNewTargetParamIndex(int parameter_count) { | 378 static int GetJSCallNewTargetParamIndex(int parameter_count) { |
374 return parameter_count + 0; // Parameter (arity + 0) is special. | 379 return parameter_count + 0; // Parameter (arity + 0) is special. |
375 } | 380 } |
376 | 381 |
377 // A special {Parameter} index for JSCalls that represents the argument count. | 382 // A special {Parameter} index for JSCalls that represents the argument count. |
378 static int GetJSCallArgCountParamIndex(int parameter_count) { | 383 static int GetJSCallArgCountParamIndex(int parameter_count) { |
379 return parameter_count + 1; // Parameter (arity + 1) is special. | 384 return parameter_count + 1; // Parameter (arity + 1) is special. |
380 } | 385 } |
381 | 386 |
(...skipping 21 matching lines...) Expand all Loading... |
403 CallDescriptor* const incoming_; | 408 CallDescriptor* const incoming_; |
404 | 409 |
405 DISALLOW_COPY_AND_ASSIGN(Linkage); | 410 DISALLOW_COPY_AND_ASSIGN(Linkage); |
406 }; | 411 }; |
407 | 412 |
408 } // namespace compiler | 413 } // namespace compiler |
409 } // namespace internal | 414 } // namespace internal |
410 } // namespace v8 | 415 } // namespace v8 |
411 | 416 |
412 #endif // V8_COMPILER_LINKAGE_H_ | 417 #endif // V8_COMPILER_LINKAGE_H_ |
OLD | NEW |