Don't try to generate getter ICs when fusing GETPROP, bug 557358.
authorBrian Hackett <bhackett1024@gmail.com>
Thu, 08 Sep 2011 09:36:55 -0700
changeset 78366 b68281262e15166ebdf7c0085c1637e101bb571d
parent 78365 3330521cfa4a072446e80f26e1461325448b8961
child 78367 cc669ae63634a25e03f44523e02816ea720c0579
push id78
push userclegnitto@mozilla.com
push dateFri, 16 Dec 2011 17:32:24 +0000
treeherdermozilla-release@79d24e644fdd [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs557358
milestone9.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Don't try to generate getter ICs when fusing GETPROP, bug 557358.
js/src/methodjit/Compiler.cpp
--- a/js/src/methodjit/Compiler.cpp
+++ b/js/src/methodjit/Compiler.cpp
@@ -4449,17 +4449,17 @@ mjit::Compiler::jsop_getprop(JSAtom *ato
     /*
      * If this access has been on a shape with a getter hook, make preparations
      * so that we can generate a stub to call the hook directly (rather than be
      * forced to make a stub call). Sync the stack up front and kill all
      * registers so that PIC stubs can contain calls, and always generate a
      * type barrier if inference is enabled (known property types do not
      * reflect properties with getter hooks).
      */
-    pic.canCallHook = usePropCache && analysis->getCode(PC).accessGetter;
+    pic.canCallHook = usePropCache && JSOp(*PC) == JSOP_GETPROP && analysis->getCode(PC).accessGetter;
     if (pic.canCallHook)
         frame.syncAndKillEverything();
 
     pic.shapeReg = shapeReg;
     pic.atom = atom;
 
     /* Guard on shape. */
     masm.loadShape(objReg, shapeReg);