Chromium Code Reviews| Index: src/x64/macro-assembler-x64.cc |
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
| index b0971663a03fc44bae2863826cb49db67c8d9cf7..3d023db26ad8bbd871b778a11b4f7051d93a30a9 100644 |
| --- a/src/x64/macro-assembler-x64.cc |
| +++ b/src/x64/macro-assembler-x64.cc |
| @@ -788,10 +788,10 @@ void MacroAssembler::GetBuiltinEntry(Register target, Builtins::JavaScript id) { |
| void MacroAssembler::Set(Register dst, int64_t x) { |
| if (x == 0) { |
| xorl(dst, dst); |
| - } else if (is_int32(x)) { |
| - movq(dst, Immediate(static_cast<int32_t>(x))); |
| } else if (is_uint32(x)) { |
| movl(dst, Immediate(static_cast<uint32_t>(x))); |
| + } else if (is_int32(x)) { |
| + movq(dst, Immediate(static_cast<int32_t>(x))); |
| } else { |
| movq(dst, x, RelocInfo::NONE); |
| } |
| @@ -801,7 +801,7 @@ void MacroAssembler::Set(const Operand& dst, int64_t x) { |
| if (is_int32(x)) { |
| movq(dst, Immediate(static_cast<int32_t>(x))); |
| } else { |
| - movq(kScratchRegister, x, RelocInfo::NONE); |
| + Set(kScratchRegister, x); |
| movq(dst, kScratchRegister); |
| } |
| } |
| @@ -1814,7 +1814,7 @@ void MacroAssembler::ThrowUncatchable(UncatchableExceptionType type, |
| // Set external caught exception to false. |
| ExternalReference external_caught( |
| Isolate::k_external_caught_exception_address, isolate()); |
| - movq(rax, Immediate(false)); |
| + Set(rax, static_cast<int64_t>(false)); |
| Store(external_caught, rax); |
| // Set pending exception and rax to out of memory exception. |
| @@ -2002,7 +2002,7 @@ void MacroAssembler::TryGetFunctionPrototype(Register function, |
| void MacroAssembler::SetCounter(StatsCounter* counter, int value) { |
| if (FLAG_native_code_counters && counter->Enabled()) { |
| Operand counter_operand = ExternalOperand(ExternalReference(counter)); |
| - movq(counter_operand, Immediate(value)); |
| + movl(counter_operand, Immediate(value)); |
|
William Hesse
2011/04/12 13:04:59
Is this really safe? Are we sure that counter_ope
Lasse Reichstein
2011/04/12 13:19:07
The counter is of type int*. I think this is actua
|
| } |
| } |
| @@ -2220,7 +2220,7 @@ void MacroAssembler::EnterExitFrameEpilogue(int arg_stack_space, |
| const int kFrameAlignment = OS::ActivationFrameAlignment(); |
| if (kFrameAlignment > 0) { |
| ASSERT(IsPowerOf2(kFrameAlignment)); |
| - movq(kScratchRegister, Immediate(-kFrameAlignment)); |
| + Set(kScratchRegister, -kFrameAlignment); |
|
William Hesse
2011/04/12 13:04:59
How about or_(rsp, kFrameAlignment - 1);
Lasse Reichstein
2011/04/12 13:19:07
Not really, -kFrameAlignment should be an imm8.
We
|
| and_(rsp, kScratchRegister); |
| } |