Index: runtime/vm/intrinsifier_x64.cc |
diff --git a/runtime/vm/intrinsifier_x64.cc b/runtime/vm/intrinsifier_x64.cc |
index 96fe7bca00e0cb229675496543ce48cf21153768..79c0844c76e965941eb156a22d9f8e93be1e2423 100644 |
--- a/runtime/vm/intrinsifier_x64.cc |
+++ b/runtime/vm/intrinsifier_x64.cc |
@@ -1237,9 +1237,9 @@ static void TestLastArgumentIsDouble(Assembler* assembler, |
Label* not_double_smi) { |
__ movq(RAX, Address(RSP, + 1 * kWordSize)); |
__ testq(RAX, Immediate(kSmiTagMask)); |
- __ j(ZERO, is_smi, Assembler::kNearJump); // Jump if Smi. |
+ __ j(ZERO, is_smi, Assembler::kFarJump); // Jump if Smi. |
__ CompareClassId(RAX, kDoubleCid); |
- __ j(NOT_EQUAL, not_double_smi, Assembler::kNearJump); |
+ __ j(NOT_EQUAL, not_double_smi, Assembler::kFarJump); |
srdjan
2015/07/10 20:07:15
Just remove argument (default is FarJump), since t
Cutch
2015/07/10 20:09:59
Done here: https://codereview.chromium.org/1234443
|
// Fall through if double. |
} |
@@ -1319,7 +1319,7 @@ static void DoubleArithmeticOperations(Assembler* assembler, Token::Kind kind) { |
Isolate::Current()->object_store()->double_class()); |
__ TryAllocate(double_class, |
&fall_through, |
- Assembler::kNearJump, |
+ Assembler::kFarJump, |
RAX, // Result register. |
kNoRegister); // Pool pointer might not be loaded. |
__ movsd(FieldAddress(RAX, Double::value_offset()), XMM0); |
@@ -1353,7 +1353,7 @@ void Intrinsifier::Double_mulFromInteger(Assembler* assembler) { |
// Only smis allowed. |
__ movq(RAX, Address(RSP, + 1 * kWordSize)); |
__ testq(RAX, Immediate(kSmiTagMask)); |
- __ j(NOT_ZERO, &fall_through, Assembler::kNearJump); |
+ __ j(NOT_ZERO, &fall_through, Assembler::kFarJump); |
// Is Smi. |
__ SmiUntag(RAX); |
__ cvtsi2sdq(XMM1, RAX); |
@@ -1364,7 +1364,7 @@ void Intrinsifier::Double_mulFromInteger(Assembler* assembler) { |
Isolate::Current()->object_store()->double_class()); |
__ TryAllocate(double_class, |
&fall_through, |
- Assembler::kNearJump, |
+ Assembler::kFarJump, |
RAX, // Result register. |
kNoRegister); // Pool pointer might not be loaded. |
__ movsd(FieldAddress(RAX, Double::value_offset()), XMM0); |
@@ -1378,7 +1378,7 @@ void Intrinsifier::DoubleFromInteger(Assembler* assembler) { |
Label fall_through; |
__ movq(RAX, Address(RSP, +1 * kWordSize)); |
__ testq(RAX, Immediate(kSmiTagMask)); |
- __ j(NOT_ZERO, &fall_through, Assembler::kNearJump); |
+ __ j(NOT_ZERO, &fall_through, Assembler::kFarJump); |
// Is Smi. |
__ SmiUntag(RAX); |
__ cvtsi2sdq(XMM0, RAX); |
@@ -1386,7 +1386,7 @@ void Intrinsifier::DoubleFromInteger(Assembler* assembler) { |
Isolate::Current()->object_store()->double_class()); |
__ TryAllocate(double_class, |
&fall_through, |
- Assembler::kNearJump, |
+ Assembler::kFarJump, |
RAX, // Result register. |
kNoRegister); // Pool pointer might not be loaded. |
__ movsd(FieldAddress(RAX, Double::value_offset()), XMM0); |
@@ -1460,7 +1460,7 @@ void Intrinsifier::MathSqrt(Assembler* assembler) { |
Isolate::Current()->object_store()->double_class()); |
__ TryAllocate(double_class, |
&fall_through, |
- Assembler::kNearJump, |
+ Assembler::kFarJump, |
RAX, // Result register. |
kNoRegister); // Pool pointer might not be loaded. |
__ movsd(FieldAddress(RAX, Double::value_offset()), XMM0); |