Index: src/full-codegen/ia32/full-codegen-ia32.cc |
diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc |
index 760a818552473422b979d392f1bd0252daa4a519..a9af39a21f70657df2d2057beae16627f6dd3c56 100644 |
--- a/src/full-codegen/ia32/full-codegen-ia32.cc |
+++ b/src/full-codegen/ia32/full-codegen-ia32.cc |
@@ -2925,54 +2925,6 @@ void FullCodeGenerator::EmitStringCharCodeAt(CallRuntime* expr) { |
} |
-void FullCodeGenerator::EmitStringCharAt(CallRuntime* expr) { |
- ZoneList<Expression*>* args = expr->arguments(); |
- DCHECK(args->length() == 2); |
- |
- VisitForStackValue(args->at(0)); |
- VisitForAccumulatorValue(args->at(1)); |
- |
- Register object = ebx; |
- Register index = eax; |
- Register scratch = edx; |
- Register result = eax; |
- |
- PopOperand(object); |
- |
- Label need_conversion; |
- Label index_out_of_range; |
- Label done; |
- StringCharAtGenerator generator(object, |
- index, |
- scratch, |
- 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. |
- __ Move(result, Immediate(isolate()->factory()->empty_string())); |
- __ jmp(&done); |
- |
- __ bind(&need_conversion); |
- // Move smi zero into the result register, which will trigger |
- // conversion. |
- __ Move(result, Immediate(Smi::FromInt(0))); |
- __ jmp(&done); |
- |
- NopRuntimeCallHelper call_helper; |
- generator.GenerateSlow(masm_, NOT_PART_OF_IC_HANDLER, call_helper); |
- |
- __ bind(&done); |
- context()->Plug(result); |
-} |
- |
- |
void FullCodeGenerator::EmitCall(CallRuntime* expr) { |
ZoneList<Expression*>* args = expr->arguments(); |
DCHECK_LE(2, args->length()); |