Index: src/ia32/stub-cache-ia32.cc |
diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc |
index 33cbf2b2cc31422148f783f1abab986148a714bd..28f4028c525946a809eef6f49b24abb7b9a95a70 100644 |
--- a/src/ia32/stub-cache-ia32.cc |
+++ b/src/ia32/stub-cache-ia32.cc |
@@ -1274,6 +1274,20 @@ Handle<Code> StoreStubCompiler::CompileStoreInterceptor( |
} |
+void StoreStubCompiler::GenerateStoreArrayLength() { |
+ // Prepare tail call to StoreIC_ArrayLength. |
+ __ pop(scratch1()); // remove the return address |
+ __ push(receiver()); |
+ __ push(value()); |
+ __ push(scratch1()); // restore return address |
+ |
+ ExternalReference ref = |
+ ExternalReference(IC_Utility(IC::kStoreIC_ArrayLength), |
+ masm()->isolate()); |
+ __ TailCallExternalReference(ref, 2, 1); |
+} |
+ |
+ |
Handle<Code> KeyedStoreStubCompiler::CompileStorePolymorphic( |
MapHandleList* receiver_maps, |
CodeHandleList* handler_stubs, |