Title: [183753] trunk/Source/_javascript_Core
- Revision
- 183753
- Author
- [email protected]
- Date
- 2015-05-04 11:45:40 -0700 (Mon, 04 May 2015)
Log Message
Make ExecState::vm() branchless in release builds.
<https://webkit.org/b/144586>
Reviewed by Geoffrey Garen.
Avoid null checking the ExecState's callee() before getting the
VM from it. The code was already dereferencing it anyway, since we
know it's not gonna be null.
* runtime/JSCellInlines.h:
(JSC::ExecState::vm):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (183752 => 183753)
--- trunk/Source/_javascript_Core/ChangeLog 2015-05-04 18:37:58 UTC (rev 183752)
+++ trunk/Source/_javascript_Core/ChangeLog 2015-05-04 18:45:40 UTC (rev 183753)
@@ -1,3 +1,17 @@
+2015-05-04 Andreas Kling <[email protected]>
+
+ Make ExecState::vm() branchless in release builds.
+ <https://webkit.org/b/144586>
+
+ Reviewed by Geoffrey Garen.
+
+ Avoid null checking the ExecState's callee() before getting the
+ VM from it. The code was already dereferencing it anyway, since we
+ know it's not gonna be null.
+
+ * runtime/JSCellInlines.h:
+ (JSC::ExecState::vm):
+
2015-05-04 Basile Clement <[email protected]>
Object allocation not sinking properly through CheckStructure
Modified: trunk/Source/_javascript_Core/runtime/JSCellInlines.h (183752 => 183753)
--- trunk/Source/_javascript_Core/runtime/JSCellInlines.h 2015-05-04 18:37:58 UTC (rev 183752)
+++ trunk/Source/_javascript_Core/runtime/JSCellInlines.h 2015-05-04 18:45:40 UTC (rev 183753)
@@ -120,8 +120,9 @@
inline VM& ExecState::vm() const
{
+ ASSERT(callee());
ASSERT(callee()->vm());
- return *callee()->vm();
+ return *calleeAsValue().asCell()->vm();
}
template<typename T>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes