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; |