Remove obsolete distance switch in SubStringStub::Generate.

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/72073004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
mstarzinger@chromium.org 2013-11-14 16:03:55 +00:00
parent 31493412c4
commit 883a5c803c

View File

@ -4224,15 +4224,9 @@ void SubStringStub::Generate(MacroAssembler* masm) {
STATIC_ASSERT((kStringEncodingMask & kOneByteStringTag) != 0);
STATIC_ASSERT((kStringEncodingMask & kTwoByteStringTag) == 0);
__ testb(rbx, Immediate(kStringEncodingMask));
// Make long jumps when allocations tracking is on due to
// RecordObjectAllocation inside MacroAssembler::Allocate.
Label::Distance jump_distance =
masm->isolate()->heap_profiler()->is_tracking_allocations()
? Label::kFar
: Label::kNear;
__ j(zero, &two_byte_slice, jump_distance);
__ j(zero, &two_byte_slice, Label::kNear);
__ AllocateAsciiSlicedString(rax, rbx, r14, &runtime);
__ jmp(&set_slice_header, jump_distance);
__ jmp(&set_slice_header, Label::kNear);
__ bind(&two_byte_slice);
__ AllocateTwoByteSlicedString(rax, rbx, r14, &runtime);
__ bind(&set_slice_header);