Index: src/x64/code-stubs-x64.cc |
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
index ad33a8c6319b7a0a5919b7be75458068a1d1f929..087711a9adbf7ed2e471b6b8dccfa5fd2db4fda3 100644 |
--- a/src/x64/code-stubs-x64.cc |
+++ b/src/x64/code-stubs-x64.cc |
@@ -5234,9 +5234,11 @@ void SubStringStub::Generate(MacroAssembler* masm) { |
STATIC_ASSERT((kStringEncodingMask & kOneByteStringTag) != 0); |
STATIC_ASSERT((kStringEncodingMask & kTwoByteStringTag) == 0); |
__ testb(rbx, Immediate(kStringEncodingMask)); |
- __ j(zero, &two_byte_slice, Label::kNear); |
+ // Make a long jump due to RecordObjectAllocation inside |
+ // MacroAssembler::Allocate |
+ __ j(zero, &two_byte_slice); |
__ AllocateAsciiSlicedString(rax, rbx, r14, &runtime); |
- __ jmp(&set_slice_header, Label::kNear); |
+ __ jmp(&set_slice_header); |
__ bind(&two_byte_slice); |
__ AllocateTwoByteSlicedString(rax, rbx, r14, &runtime); |
__ bind(&set_slice_header); |