New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JSC] Stop nulling out the CodeBlock spot inside the call frame inside WebAssembly #7991
Conversation
8460d97
to
da1743a
Compare
EWS run on previous version of this PR (hash da1743a)
|
da1743a
to
0a9fc34
Compare
EWS run on previous version of this PR (hash 0a9fc34)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me
75f373a
to
d2475d6
Compare
EWS run on previous version of this PR (hash d2475d6)
|
EWS run on previous version of this PR (hash 75f373a)
|
4744d66
to
d1cceeb
Compare
EWS run on previous version of this PR (hash d1cceeb)
|
EWS run on previous version of this PR (hash 4744d66)
|
d1cceeb
to
8041770
Compare
EWS run on current version of this PR (hash 8041770)
|
β¦e WebAssembly https://bugs.webkit.org/show_bug.cgi?id=165321 rdar://103618930 Reviewed by Mark Lam. We are putting nullptr unnecessarily to CodeBlock slot while Callee information is enough to say this CallFrame is wasm frame or not. This patch removes it, and fixing places getting CodeBlock from CallFrame with the assumption that it can be nullptr when it is wasm frame. This allows to drop unnecessary zero fill for *all* wasm functions, which is bad. * Source/JavaScriptCore/bytecode/CodeBlock.cpp: (JSC::CodeBlock::noticeIncomingCall): * Source/JavaScriptCore/bytecode/Repatch.cpp: (JSC::linkMonomorphicCall): (JSC::linkDirectCall): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::scope): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): * Source/JavaScriptCore/dfg/DFGDoesGCCheck.cpp: (JSC::DFG::DoesGCCheck::verifyCanGC): * Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::functionName): * Source/JavaScriptCore/interpreter/CallFrameInlines.h: (JSC::CallFrame::codeBlock const): * Source/JavaScriptCore/interpreter/Interpreter.cpp: (JSC::Interpreter::unwind): * Source/JavaScriptCore/interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * Source/JavaScriptCore/interpreter/StackVisitor.cpp: (JSC::StackVisitor::readNonInlinedFrame): * Source/JavaScriptCore/jit/JITExceptions.cpp: (JSC::genericUnwind): * Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp: (JSC::getCallerCodeBlock): * Source/JavaScriptCore/runtime/VM.cpp: (JSC::VM::throwException): * Source/JavaScriptCore/runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): * Source/JavaScriptCore/tools/VMInspector.cpp: (JSC::VMInspector::dumpRegisters): * Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h: (JSC::Wasm::ExpressionType>::AirIRGeneratorBase): * Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::B3IRGenerator): * Source/JavaScriptCore/wasm/js/JSToWasm.cpp: (JSC::Wasm::createJSToWasmWrapper): * Source/JavaScriptCore/wasm/js/WasmToJS.cpp: (JSC::Wasm::wasmToJS): Canonical link: https://commits.webkit.org/258233@main
8041770
to
5f73a3c
Compare
Committed 258233@main (5f73a3c): https://commits.webkit.org/258233@main Reviewed commits have been landed. Closing PR #7991 and removing active labels. |
5f73a3c
8041770
π π§ͺ winπ§ͺ ios-wk2π§ͺ api-macπ§ͺ gtk-wk2π§ͺ api-iosπ§ͺ mac-wk1π§ͺ api-gtkπ tvπ§ͺ mac-wk2π§ͺ mac-AS-debug-wk2π watch