Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 73422ab1e1b7e6abc80c2ed414d16a337fe081f5
https://github.com/WebKit/WebKit/commit/73422ab1e1b7e6abc80c2ed414d16a337fe081f5
Author: Yusuke Suzuki <[email protected]>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M
Source/JavaScriptCore/bytecode/AdaptiveInferredPropertyValueWatchpointBase.cpp
M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
M Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.cpp
M Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.h
M Source/JavaScriptCore/dfg/DFGFinalizer.cpp
M Source/JavaScriptCore/dfg/DFGFinalizer.h
M Source/JavaScriptCore/dfg/DFGJITCode.cpp
M Source/JavaScriptCore/dfg/DFGJITCode.h
M Source/JavaScriptCore/dfg/DFGJITFinalizer.h
M Source/JavaScriptCore/dfg/DFGPlan.cpp
M Source/JavaScriptCore/dfg/DFGPlan.h
M Source/JavaScriptCore/ftl/FTLJITCode.cpp
M Source/JavaScriptCore/ftl/FTLJITCode.h
M Source/JavaScriptCore/ftl/FTLJITFinalizer.cpp
M Source/JavaScriptCore/ftl/FTLJITFinalizer.h
M Source/JavaScriptCore/ftl/FTLLink.cpp
M Source/JavaScriptCore/jit/JITCode.cpp
M Source/JavaScriptCore/jit/JITCode.h
Log Message:
-----------
[JSC] Simplify DFG finalization in the main thread more
https://bugs.webkit.org/show_bug.cgi?id=272577
rdar://126333191
Reviewed by Justin Michaud.
This patch further simplifies DFG main thread finalization since it turned out
this is costly.
1. AdaptiveInferredPropertyValueWatchpointBase::install's check should be
ASSERT since it is huge cost.
2. Most of ConcurrentJSLock in DesiredWatchpoints are unnecessary. Removed.
3. Materialize FixedVector of watchpoints in the concurrent compiler thread
instead of main thread.
4. JITCode shrinking should be done in the concurrent compiler thread.
*
Source/JavaScriptCore/bytecode/AdaptiveInferredPropertyValueWatchpointBase.cpp:
(JSC::AdaptiveInferredPropertyValueWatchpointBase::install):
* Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::parseBlock):
* Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.cpp:
(JSC::DFG::ArrayBufferViewWatchpointAdaptor::add):
(JSC::DFG::SymbolTableAdaptor::add):
(JSC::DFG::FunctionExecutableAdaptor::add):
(JSC::DFG::AdaptiveStructureWatchpointAdaptor::add):
(JSC::DFG::DesiredWatchpoints::addLazily):
(JSC::DFG::DesiredWatchpoints::countWatchpoints):
(JSC::DFG::DesiredWatchpoints::reallyAdd):
(JSC::DFG::WatchpointCollector::finalize): Deleted.
* Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.h:
* Source/JavaScriptCore/dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::shrinkToFit):
* Source/JavaScriptCore/dfg/DFGJITCode.h:
* Source/JavaScriptCore/dfg/DFGPlan.cpp:
(JSC::DFG::Plan::finalizeInThread):
(JSC::DFG::Plan::finalize):
* Source/JavaScriptCore/ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::shrinkToFit):
* Source/JavaScriptCore/ftl/FTLJITCode.h:
* Source/JavaScriptCore/jit/JITCode.cpp:
(JSC::JITCode::shrinkToFit):
* Source/JavaScriptCore/jit/JITCode.h:
Canonical link: https://commits.webkit.org/277457@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes