| Index: src/x64/macro-assembler-x64.cc
|
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
|
| index f7db250f9ec64b11dab52563cb93baf28c432e2c..db1b6af29ba2d1d5e5c5c9db742ea7f2edc10e3a 100644
|
| --- a/src/x64/macro-assembler-x64.cc
|
| +++ b/src/x64/macro-assembler-x64.cc
|
| @@ -150,6 +150,20 @@ int MacroAssembler::LoadAddressSize(ExternalReference source) {
|
| }
|
|
|
|
|
| +void MacroAssembler::PushAddress(ExternalReference source) {
|
| + int64_t address = reinterpret_cast<int64_t>(source.address());
|
| + if (is_int32(address) && !Serializer::enabled()) {
|
| + if (emit_debug_code()) {
|
| + movq(kScratchRegister, BitCast<int64_t>(kZapValue), RelocInfo::NONE);
|
| + }
|
| + push(Immediate(static_cast<int32_t>(address)));
|
| + return;
|
| + }
|
| + LoadAddress(kScratchRegister, source);
|
| + push(kScratchRegister);
|
| +}
|
| +
|
| +
|
| void MacroAssembler::LoadRoot(Register destination, Heap::RootListIndex index) {
|
| ASSERT(root_array_available_);
|
| movq(destination, Operand(kRootRegister,
|
|
|