Bug 800568 - Remove spurious use of potentially-nonexistant pushedTypes in callGetter IC code. (r=nbp)
authorKannan Vijayan <kvijayan@mozilla.com>
Fri, 26 Oct 2012 21:01:15 -0400
changeset 111726 2d4af8375b3a8102672cb2f5a84ea0ae9bcdaddb
parent 111725 265427a0694d7ce60f068ca323c88327744b8c58
child 111727 e7aebe2c45efac8d1d2fdf59b4ae7f7ff861d204
push id93
push usernmatsakis@mozilla.com
push dateWed, 31 Oct 2012 21:26:57 +0000
reviewersnbp
bugs800568
milestone19.0a1
Bug 800568 - Remove spurious use of potentially-nonexistant pushedTypes in callGetter IC code. (r=nbp)
js/src/ion/IonCaches.cpp
--- a/js/src/ion/IonCaches.cpp
+++ b/js/src/ion/IonCaches.cpp
@@ -268,17 +268,17 @@ struct GetNativePropertyStub
         } else {
             masm.bind(failures);
         }
     }
 
     bool generateCallGetter(JSContext *cx, MacroAssembler &masm, JSObject *obj,
                             PropertyName *propName, JSObject *holder, const Shape *shape,
                             RegisterSet &liveRegs, Register object, TypedOrValueRegister output,
-                            types::TypeSet *outputTypes, void *returnAddr, jsbytecode *pc,
+                            void *returnAddr, jsbytecode *pc,
                             RepatchLabel *failures, Label *nonRepatchFailures = NULL)
     {
         // Initial shape check.
         Label stubFailure;
         masm.branchPtr(Assembler::NotEqual, Address(object, JSObject::offsetOfShape()),
                        ImmGCPtr(obj->lastProperty()), &stubFailure);
 
         // If this is a stub for a ListBase object, guard the following:
@@ -580,23 +580,19 @@ IonCacheGetProperty::attachCallGetter(JS
 
     JS_ASSERT(!idempotent());
     JS_ASSERT(allowGetters());
 
     // Need to set correct framePushed on the masm so that exit frame descriptors are
     // properly constructed.
     masm.setFramePushed(ion->frameSize());
 
-    // Generating a call getter may need the pushed typeset.
-    types::StackTypeSet *outputTypes = script->analysis()->pushedTypes(pc, 0);
-
     GetNativePropertyStub getprop;
     if (!getprop.generateCallGetter(cx, masm, obj, name(), holder, shape, liveRegs,
-                                    object(), output(), outputTypes, returnAddr, pc,
-                                    &failures))
+                                    object(), output(), returnAddr, pc, &failures))
     {
          return false;
     }
 
     Linker linker(masm);
     IonCode *code = linker.newCode(cx);
     if (!code)
         return false;