| Index: src/x64/code-stubs-x64.cc
|
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
|
| index b11072c69cf365b6e2db444866f343fecd542147..ca78236aa2157eef69c4b9838d6272fd22ee2b4e 100644
|
| --- a/src/x64/code-stubs-x64.cc
|
| +++ b/src/x64/code-stubs-x64.cc
|
| @@ -4909,60 +4909,6 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void StringCharAtStub::Generate(MacroAssembler* masm) {
|
| - // Expects two arguments (object, index) on the stack:
|
| -
|
| - // Stack frame on entry.
|
| - // rsp[0]: return address
|
| - // rsp[8]: index
|
| - // rsp[16]: object
|
| -
|
| - Register object = rbx;
|
| - Register index = rax;
|
| - Register scratch1 = rcx;
|
| - Register scratch2 = rdx;
|
| - Register result = rax;
|
| -
|
| - __ pop(scratch1); // Return address.
|
| - __ pop(index);
|
| - __ pop(object);
|
| - __ push(scratch1);
|
| -
|
| - Label need_conversion;
|
| - Label index_out_of_range;
|
| - Label done;
|
| - StringCharAtGenerator generator(object,
|
| - index,
|
| - scratch1,
|
| - scratch2,
|
| - result,
|
| - &need_conversion,
|
| - &need_conversion,
|
| - &index_out_of_range,
|
| - STRING_INDEX_IS_NUMBER);
|
| - generator.GenerateFast(masm);
|
| - __ jmp(&done);
|
| -
|
| - __ bind(&index_out_of_range);
|
| - // When the index is out of range, the spec requires us to return
|
| - // the empty string.
|
| - __ LoadRoot(result, Heap::kEmptyStringRootIndex);
|
| - __ jmp(&done);
|
| -
|
| - __ bind(&need_conversion);
|
| - // Move smi zero into the result register, which will trigger
|
| - // conversion.
|
| - __ Move(result, Smi::FromInt(0));
|
| - __ jmp(&done);
|
| -
|
| - StubRuntimeCallHelper call_helper;
|
| - generator.GenerateSlow(masm, call_helper);
|
| -
|
| - __ bind(&done);
|
| - __ ret(0);
|
| -}
|
| -
|
| -
|
| void ICCompareStub::GenerateSmis(MacroAssembler* masm) {
|
| ASSERT(state_ == CompareIC::SMIS);
|
| NearLabel miss;
|
|
|