Index: src/ic-arm.cc |
=================================================================== |
--- src/ic-arm.cc (revision 415) |
+++ src/ic-arm.cc (working copy) |
@@ -539,9 +539,6 @@ |
} |
-// Defined in ic.cc. |
-Object* StoreIC_Miss(Arguments args); |
- |
void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { |
// ----------- S t a t e ------------- |
// -- r0 : value |
@@ -560,6 +557,22 @@ |
} |
+void StoreIC::GenerateExtendStorage(MacroAssembler* masm) { |
+ // ----------- S t a t e ------------- |
+ // -- r0 : value |
+ // -- r2 : name |
+ // -- lr : return address |
+ // -- [sp] : receiver |
+ // ----------------------------------- |
+ |
+ __ ldr(r3, MemOperand(sp)); // copy receiver |
+ __ stm(db_w, sp, r0.bit() | r2.bit() | r3.bit()); |
+ |
+ // Perform tail call to the entry. |
+ __ TailCallRuntime(ExternalReference(IC_Utility(kStoreIC_ExtendStorage)), 3); |
+} |
+ |
+ |
void StoreIC::Generate(MacroAssembler* masm, const ExternalReference& f) { |
// ----------- S t a t e ------------- |
// -- r0 : value |