Index: src/compiler/linkage.h |
diff --git a/src/compiler/linkage.h b/src/compiler/linkage.h |
index 61efb9bd8f9234dfe5dd4aee2e039254044fff42..4e7492470440e3caedd97c53c4ed567fc36ea7ea 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(V8_EMBEDDED_CONSTANT_POOL); |
+ return ForCalleeFrameSlot((StandardFrameConstants::kCallerPCOffset - |
+ StandardFrameConstants::kConstantPoolOffset) / |
+ kPointerSize); |
+ } |
+ |
static LinkageLocation ConvertToTailCallerLocation( |
LinkageLocation caller_location, int stack_param_delta) { |
if (!caller_location.IsRegister()) { |