Bug 1310125 part 3 - Fix IsCacheableGetPropCallScripted perf regression. r=h4writer
authorJan de Mooij <jdemooij@mozilla.com>
Thu, 17 Nov 2016 12:00:15 +0100
changeset 323047 68b33d652efc4e502fc2f270026434cee7dc86a9
parent 323046 c5f032bd4cf861c3058f244140399f7fb2fea663
child 323048 49305a317143402c791b71d667c0b1ca9c512e0b
push id30967
push userphilringnalda@gmail.com
push dateFri, 18 Nov 2016 03:21:38 +0000
treeherdermozilla-central@8e476f8bd52d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersh4writer
bugs1310125
milestone53.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
Bug 1310125 part 3 - Fix IsCacheableGetPropCallScripted perf regression. r=h4writer
js/src/jit/IonCaches.cpp
--- a/js/src/jit/IonCaches.cpp
+++ b/js/src/jit/IonCaches.cpp
@@ -595,16 +595,19 @@ jit::IsCacheableGetPropCallScripted(JSOb
     if (!shape->getterValue().toObject().is<JSFunction>())
         return false;
 
     // See IsCacheableGetPropCallNative.
     if (IsWindow(obj))
         return false;
 
     JSFunction& getter = shape->getterValue().toObject().as<JSFunction>();
+    if (getter.isNative())
+        return false;
+
     if (!getter.hasJITCode()) {
         if (isTemporarilyUnoptimizable)
             *isTemporarilyUnoptimizable = true;
         return false;
     }
 
     return true;
 }