Title: [199861] trunk/Source/_javascript_Core
- Revision
- 199861
- Author
- fpi...@apple.com
- Date
- 2016-04-21 18:25:50 -0700 (Thu, 21 Apr 2016)
Log Message
JSC virtual call thunk shouldn't do a structure->classInfo lookup
https://bugs.webkit.org/show_bug.cgi?id=156874
Reviewed by Keith Miller.
This lookup was unnecessary because we can just test the inlined type field.
But also, this meant that we were exempting JSBoundFunction from the virtual call optimization.
That's pretty bad.
* jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (199860 => 199861)
--- trunk/Source/_javascript_Core/ChangeLog 2016-04-22 01:23:00 UTC (rev 199860)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-04-22 01:25:50 UTC (rev 199861)
@@ -1,3 +1,18 @@
+2016-04-21 Filip Pizlo <fpi...@apple.com>
+
+ JSC virtual call thunk shouldn't do a structure->classInfo lookup
+ https://bugs.webkit.org/show_bug.cgi?id=156874
+
+ Reviewed by Keith Miller.
+
+ This lookup was unnecessary because we can just test the inlined type field.
+
+ But also, this meant that we were exempting JSBoundFunction from the virtual call optimization.
+ That's pretty bad.
+
+ * jit/ThunkGenerators.cpp:
+ (JSC::virtualThunkFor):
+
2016-04-21 Joseph Pecoraro <pecor...@apple.com>
Web Inspector: sourceMappingURL not loaded in generated script
Modified: trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp (199860 => 199861)
--- trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp 2016-04-22 01:23:00 UTC (rev 199860)
+++ trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp 2016-04-22 01:25:50 UTC (rev 199861)
@@ -189,12 +189,7 @@
CCallHelpers::NotEqual, GPRInfo::regT1,
CCallHelpers::TrustedImm32(JSValue::CellTag)));
#endif
- jit.emitLoadStructure(GPRInfo::regT0, GPRInfo::regT4, GPRInfo::regT1);
- slowCase.append(
- jit.branchPtr(
- CCallHelpers::NotEqual,
- CCallHelpers::Address(GPRInfo::regT4, Structure::classInfoOffset()),
- CCallHelpers::TrustedImmPtr(JSFunction::info())));
+ slowCase.append(jit.branchIfNotType(GPRInfo::regT0, JSFunctionType));
// Now we know we have a JSFunction.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes