Title: [138651] trunk/Source/_javascript_Core
Revision
138651
Author
fpi...@apple.com
Date
2013-01-02 14:41:07 -0800 (Wed, 02 Jan 2013)

Log Message

DFG should not use the InlineCallFrame's callee when it could have used the executable istead
https://bugs.webkit.org/show_bug.cgi?id=105947

Reviewed by Mark Hahnenberg.
        
We shouldn't use the callee to get the executable when we have the executable already. Not only
does this make the logic more clear, but it also allows for a world where the executable is known
but the callee isn't.

* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::strictModeFor):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (138650 => 138651)


--- trunk/Source/_javascript_Core/ChangeLog	2013-01-02 22:34:04 UTC (rev 138650)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-01-02 22:41:07 UTC (rev 138651)
@@ -1,5 +1,19 @@
 2013-01-02  Filip Pizlo  <fpi...@apple.com>
 
+        DFG should not use the InlineCallFrame's callee when it could have used the executable istead
+        https://bugs.webkit.org/show_bug.cgi?id=105947
+
+        Reviewed by Mark Hahnenberg.
+        
+        We shouldn't use the callee to get the executable when we have the executable already. Not only
+        does this make the logic more clear, but it also allows for a world where the executable is known
+        but the callee isn't.
+
+        * dfg/DFGAssemblyHelpers.h:
+        (JSC::DFG::AssemblyHelpers::strictModeFor):
+
+2013-01-02  Filip Pizlo  <fpi...@apple.com>
+
         DFG inliner should not use the callee's bytecode variable for resolving references to the callee in inlined code
         https://bugs.webkit.org/show_bug.cgi?id=105938
 

Modified: trunk/Source/_javascript_Core/dfg/DFGAssemblyHelpers.h (138650 => 138651)


--- trunk/Source/_javascript_Core/dfg/DFGAssemblyHelpers.h	2013-01-02 22:34:04 UTC (rev 138650)
+++ trunk/Source/_javascript_Core/dfg/DFGAssemblyHelpers.h	2013-01-02 22:41:07 UTC (rev 138651)
@@ -310,7 +310,7 @@
     {
         if (!codeOrigin.inlineCallFrame)
             return codeBlock()->isStrictMode();
-        return codeOrigin.inlineCallFrame->callee->jsExecutable()->isStrictMode();
+        return jsCast<FunctionExecutable*>(codeOrigin.inlineCallFrame->executable.get())->isStrictMode();
     }
     
     ExecutableBase* executableFor(const CodeOrigin& codeOrigin);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to