| Index: src/full-codegen/x87/full-codegen-x87.cc
|
| diff --git a/src/full-codegen/x87/full-codegen-x87.cc b/src/full-codegen/x87/full-codegen-x87.cc
|
| index d7403fa42761452642953df46cb1e39aae25a916..df010fbb4a45f2f309d0d6c0482fd2df00e86052 100644
|
| --- a/src/full-codegen/x87/full-codegen-x87.cc
|
| +++ b/src/full-codegen/x87/full-codegen-x87.cc
|
| @@ -2917,54 +2917,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());
|
|
|