Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index 2f3cbdd4d57999dd6ea908b9a38b116104287ee9..0335607754a984cf82795698df0d99aa950cc5ae 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -59,16 +59,6 @@ void ToNumberStub::InitializeInterfaceDescriptor( |
} |
-void NumberToStringStub::InitializeInterfaceDescriptor( |
- Isolate* isolate, |
- CodeStubInterfaceDescriptor* descriptor) { |
- static Register registers[] = { r0 }; |
- descriptor->register_param_count_ = 1; |
- descriptor->register_params_ = registers; |
- descriptor->deoptimization_handler_ = NULL; |
-} |
- |
- |
void FastCloneShallowArrayStub::InitializeInterfaceDescriptor( |
Isolate* isolate, |
CodeStubInterfaceDescriptor* descriptor) { |
@@ -982,6 +972,22 @@ static void EmitCheckForInternalizedStringsOrObjects(MacroAssembler* masm, |
} |
+void NumberToStringStub::Generate(MacroAssembler* masm) { |
+ Label runtime; |
+ |
+ __ ldr(r1, MemOperand(sp, 0)); |
+ |
+ // Generate code to lookup number in the number string cache. |
+ __ LookupNumberStringCache(r1, r0, r2, r3, r4, &runtime); |
+ __ add(sp, sp, Operand(1 * kPointerSize)); |
+ __ Ret(); |
+ |
+ __ bind(&runtime); |
+ // Handle number to string in the runtime system if not found in the cache. |
+ __ TailCallRuntime(Runtime::kNumberToStringSkipCache, 1, 1); |
+} |
+ |
+ |
static void ICCompareStub_CheckInputType(MacroAssembler* masm, |
Register input, |
Register scratch, |