Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1246)

Unified Diff: runtime/vm/intrinsifier_x64.cc

Issue 1231083004: Fix X64 build by switching from near jumps to far jumps (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698