Chromium Code Reviews| Index: src/compiler/linkage.h |
| diff --git a/src/compiler/linkage.h b/src/compiler/linkage.h |
| index 61efb9bd8f9234dfe5dd4aee2e039254044fff42..e1b7d4b58645c83626dc8ab6c5bf01b29c82851a 100644 |
| --- a/src/compiler/linkage.h |
| +++ b/src/compiler/linkage.h |
| @@ -57,6 +57,25 @@ class LinkageLocation { |
| return LinkageLocation(STACK_SLOT, slot); |
| } |
| + static LinkageLocation ForSavedCallerReturnAddress() { |
| + return ForCalleeFrameSlot((StandardFrameConstants::kCallerPCOffset - |
| + StandardFrameConstants::kCallerPCOffset) / |
| + kPointerSize); |
| + } |
| + |
| + static LinkageLocation ForSavedCallerFramePtr() { |
| + return ForCalleeFrameSlot((StandardFrameConstants::kCallerPCOffset - |
| + StandardFrameConstants::kCallerFPOffset) / |
| + kPointerSize); |
| + } |
| + |
| + static LinkageLocation ForSavedCallerConstantPool() { |
| + DCHECK(FLAG_enable_embedded_constant_pool); |
|
Benedikt Meurer
2015/11/20 10:06:43
This use of FLAG_something worries me. Can we some
danno
2015/11/20 14:43:23
Done.
|
| + return ForCalleeFrameSlot((StandardFrameConstants::kCallerPCOffset - |
| + StandardFrameConstants::kConstantPoolOffset) / |
| + kPointerSize); |
| + } |
| + |
| static LinkageLocation ConvertToTailCallerLocation( |
| LinkageLocation caller_location, int stack_param_delta) { |
| if (!caller_location.IsRegister()) { |