Index: runtime/vm/intrinsifier_x64.cc |
diff --git a/runtime/vm/intrinsifier_x64.cc b/runtime/vm/intrinsifier_x64.cc |
index d71abc34533c153fb955d3e848198792cdce3e10..e48901261802913e89660834110017d20bb12967 100644 |
--- a/runtime/vm/intrinsifier_x64.cc |
+++ b/runtime/vm/intrinsifier_x64.cc |
@@ -1599,11 +1599,11 @@ void Intrinsifier::StringBaseCharAt(Assembler* assembler) { |
__ movq(RCX, Address(RSP, + 1 * kWordSize)); // Index. |
__ movq(RAX, Address(RSP, + 2 * kWordSize)); // String. |
__ testq(RCX, Immediate(kSmiTagMask)); |
- __ j(NOT_ZERO, &fall_through, Assembler::kNearJump); // Non-smi index. |
+ __ j(NOT_ZERO, &fall_through); // Non-smi index. |
// Range check. |
__ cmpq(RCX, FieldAddress(RAX, String::length_offset())); |
// Runtime throws exception. |
- __ j(ABOVE_EQUAL, &fall_through, Assembler::kNearJump); |
+ __ j(ABOVE_EQUAL, &fall_through); |
__ CompareClassId(RAX, kOneByteStringCid); |
__ j(NOT_EQUAL, &try_two_byte_string, Assembler::kNearJump); |
__ SmiUntag(RCX); |
@@ -1619,7 +1619,7 @@ void Intrinsifier::StringBaseCharAt(Assembler* assembler) { |
__ Bind(&try_two_byte_string); |
__ CompareClassId(RAX, kTwoByteStringCid); |
- __ j(NOT_EQUAL, &fall_through, Assembler::kNearJump); |
+ __ j(NOT_EQUAL, &fall_through); |
ASSERT(kSmiTagShift == 1); |
__ movzxw(RCX, FieldAddress(RAX, RCX, TIMES_1, OneByteString::data_offset())); |
__ cmpq(RCX, Immediate(Symbols::kNumberOfOneCharCodeSymbols)); |
@@ -1963,6 +1963,7 @@ void Intrinsifier::JSRegExp_ExecuteMatch(Assembler* assembler) { |
__ xorq(RCX, RCX); |
// Tail-call the function. |
+ __ movq(CODE_REG, FieldAddress(RAX, Function::code_offset())); |
__ movq(RDI, FieldAddress(RAX, Function::entry_point_offset())); |
__ jmp(RDI); |
} |