Title: [158882] branches/safari-537.60-branch/Source/_javascript_Core
Revision
158882
Author
[email protected]
Date
2013-11-07 15:40:44 -0800 (Thu, 07 Nov 2013)

Log Message

Rollout part of r146669 which caused a performance regression.
<rdar://problem/15265457>.

Rubberstamped by Filip Pizlo.

* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):

Modified Paths

Diff

Modified: branches/safari-537.60-branch/Source/_javascript_Core/ChangeLog (158881 => 158882)


--- branches/safari-537.60-branch/Source/_javascript_Core/ChangeLog	2013-11-07 23:34:47 UTC (rev 158881)
+++ branches/safari-537.60-branch/Source/_javascript_Core/ChangeLog	2013-11-07 23:40:44 UTC (rev 158882)
@@ -1,3 +1,13 @@
+2013-11-07  Roger Fong  <[email protected]>
+
+        Rollout part of r146669 which caused a performance regression.
+        <rdar://problem/15265457>.
+
+        Rubberstamped by Filip Pizlo.
+
+        * jit/JITStubs.cpp:
+        (JSC::DEFINE_STUB_FUNCTION):
+
 2013-10-28  Lucas Forschler  <[email protected]>
 
         Merge r156302

Modified: branches/safari-537.60-branch/Source/_javascript_Core/jit/JITStubs.cpp (158881 => 158882)


--- branches/safari-537.60-branch/Source/_javascript_Core/jit/JITStubs.cpp	2013-11-07 23:34:47 UTC (rev 158881)
+++ branches/safari-537.60-branch/Source/_javascript_Core/jit/JITStubs.cpp	2013-11-07 23:40:44 UTC (rev 158882)
@@ -1522,8 +1522,10 @@
     stackFrame.args[0].jsValue().put(callFrame, ident, stackFrame.args[2].jsValue(), slot);
     
     if (accessType == static_cast<AccessType>(stubInfo->accessType)) {
-        stubInfo->setSeen();
-        tryCachePutByID(callFrame, codeBlock, STUB_RETURN_ADDRESS, stackFrame.args[0].jsValue(), slot, stubInfo, false);
+        if (!stubInfo->seenOnce()) 
+            stubInfo->setSeen();
+        else
+            tryCachePutByID(callFrame, codeBlock, STUB_RETURN_ADDRESS, stackFrame.args[0].jsValue(), slot, stubInfo, false);
     }
     
     CHECK_FOR_EXCEPTION_AT_END();
@@ -1546,8 +1548,10 @@
     asObject(baseValue)->putDirect(callFrame->vm(), ident, stackFrame.args[2].jsValue(), slot);
     
     if (accessType == static_cast<AccessType>(stubInfo->accessType)) {
-        stubInfo->setSeen();
-        tryCachePutByID(callFrame, codeBlock, STUB_RETURN_ADDRESS, stackFrame.args[0].jsValue(), slot, stubInfo, true);
+        if (!stubInfo->seenOnce()) 
+            stubInfo->setSeen();
+        else
+            tryCachePutByID(callFrame, codeBlock, STUB_RETURN_ADDRESS, stackFrame.args[0].jsValue(), slot, stubInfo, true);
     }
     
     CHECK_FOR_EXCEPTION_AT_END();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to