| Index: runtime/vm/stub_code_x64.cc
|
| ===================================================================
|
| --- runtime/vm/stub_code_x64.cc (revision 22469)
|
| +++ runtime/vm/stub_code_x64.cc (working copy)
|
| @@ -14,6 +14,7 @@
|
| #include "vm/object_store.h"
|
| #include "vm/resolver.h"
|
| #include "vm/scavenger.h"
|
| +#include "vm/stack_frame.h"
|
| #include "vm/stub_code.h"
|
|
|
|
|
| @@ -729,8 +730,9 @@
|
|
|
| // Save the top exit frame info. Use RAX as a temporary register.
|
| // StackFrameIterator reads the top exit frame info saved in this frame.
|
| - // The constant kExitLinkOffsetInEntryFrame must be kept in sync with the
|
| - // code below: kExitLinkOffsetInEntryFrame = -8 * kWordSize.
|
| + // The constant kExitLinkSlotFromEntryFp must be kept in sync with the
|
| + // code below.
|
| + ASSERT(kExitLinkSlotFromEntryFp == -8);
|
| __ movq(RAX, Address(R8, Isolate::top_exit_frame_info_offset()));
|
| __ pushq(RAX);
|
| __ movq(Address(R8, Isolate::top_exit_frame_info_offset()), Immediate(0));
|
| @@ -738,10 +740,11 @@
|
| // Save the old Context pointer. Use RAX as a temporary register.
|
| // Note that VisitObjectPointers will find this saved Context pointer during
|
| // GC marking, since it traverses any information between SP and
|
| - // FP - kExitLinkOffsetInEntryFrame.
|
| + // FP - kExitLinkSlotFromEntryFp * kWordSize.
|
| // EntryFrame::SavedContext reads the context saved in this frame.
|
| - // The constant kSavedContextOffsetInEntryFrame must be kept in sync with
|
| - // the code below: kSavedContextOffsetInEntryFrame = -9 * kWordSize.
|
| + // The constant kSavedContextSlotFromEntryFp must be kept in sync with
|
| + // the code below.
|
| + ASSERT(kSavedContextSlotFromEntryFp == -9);
|
| __ movq(RAX, Address(R8, Isolate::top_context_offset()));
|
| __ pushq(RAX);
|
|
|
|
|