| Index: src/x64/macro-assembler-x64.cc
|
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
|
| index d58f94386e4ef0bc3d7359e60b1c4ef9adba8656..c3ea925034e74349c34f8a7ec6aa1eecc77bfe70 100644
|
| --- a/src/x64/macro-assembler-x64.cc
|
| +++ b/src/x64/macro-assembler-x64.cc
|
| @@ -1345,6 +1345,13 @@ void MacroAssembler::Push(Smi* source) {
|
| }
|
|
|
|
|
| +void MacroAssembler::Drop(int stack_elements) {
|
| + if (stack_elements > 0) {
|
| + addq(rsp, Immediate(stack_elements * kPointerSize));
|
| + }
|
| +}
|
| +
|
| +
|
| void MacroAssembler::Test(const Operand& src, Smi* source) {
|
| intptr_t smi = reinterpret_cast<intptr_t>(source);
|
| if (is_int32(smi)) {
|
| @@ -1431,6 +1438,14 @@ void MacroAssembler::PushTryHandler(CodeLocation try_location,
|
| }
|
|
|
|
|
| +void MacroAssembler::PopTryHandler() {
|
| + ASSERT_EQ(0, StackHandlerConstants::kNextOffset);
|
| + movq(kScratchRegister, ExternalReference(Top::k_handler_address));
|
| + pop(Operand(kScratchRegister, 0));
|
| + addq(rsp, Immediate(StackHandlerConstants::kSize - kPointerSize));
|
| +}
|
| +
|
| +
|
| void MacroAssembler::Ret() {
|
| ret(0);
|
| }
|
|
|