[webkit-changes] [WebKit/WebKit] ad2e13: Print AIR in WASM BBQ disassembly
Justin Michaud
noreply at github.com
Tue Sep 6 14:04:04 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ad2e13b2a8e69c2ea538cdb8c7cb101a40555266
https://github.com/WebKit/WebKit/commit/ad2e13b2a8e69c2ea538cdb8c7cb101a40555266
Author: Justin Michaud <justin_michaud at apple.com>
Date: 2022-09-06 (Tue, 06 Sep 2022)
Changed paths:
M Source/JavaScriptCore/assembler/AbstractMacroAssembler.h
M Source/JavaScriptCore/assembler/LinkBuffer.cpp
M Source/JavaScriptCore/b3/B3Common.cpp
M Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp
M Source/JavaScriptCore/b3/B3Value.cpp
M Source/JavaScriptCore/b3/B3Value.h
M Source/JavaScriptCore/disassembler/X86Disassembler.cpp
M Source/JavaScriptCore/jit/AssemblyHelpers.cpp
M Source/JavaScriptCore/jit/AssemblyHelpersSpoolers.h
M Source/JavaScriptCore/jit/ScratchRegisterAllocator.cpp
M Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp
M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
M Source/JavaScriptCore/wasm/WasmBBQPlan.h
M Source/JavaScriptCore/wasm/WasmThunks.cpp
M Source/JavaScriptCore/wasm/generateWasmOpsHeader.py
M Source/JavaScriptCore/wasm/js/JSToWasm.cpp
M Source/WTF/wtf/Assertions.h
M Source/WTF/wtf/StackTrace.cpp
M Source/WTF/wtf/StackTrace.h
Log Message:
-----------
Print AIR in WASM BBQ disassembly
https://bugs.webkit.org/show_bug.cgi?id=244644
Reviewed by Yusuke Suzuki.
1) Print AIR in WASM disassembly
2) Add extra jit comments, notably the compiler backtrace where each patchpoint is constructed
3) Add support for multiple jit comments
4) Add support for printing jit comments on x86
* Source/JavaScriptCore/assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::linkComments):
* Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::generate):
* Source/JavaScriptCore/b3/B3Value.h:
* Source/JavaScriptCore/disassembler/X86Disassembler.cpp:
(JSC::tryToDisassemble):
* Source/JavaScriptCore/jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::restoreCalleeSavesFromEntryFrameCalleeSavesBuffer):
(JSC::AssemblyHelpers::restoreCalleeSavesFromVMEntryFrameCalleeSavesBufferImpl):
(JSC::AssemblyHelpers::loadWasmContextInstance):
(JSC::AssemblyHelpers::storeWasmContextInstance):
(JSC::AssemblyHelpers::debugCall):
(JSC::AssemblyHelpers::copyCalleeSavesToEntryFrameCalleeSavesBufferImpl):
(JSC::AssemblyHelpers::emitSave):
(JSC::AssemblyHelpers::emitRestore):
(JSC::AssemblyHelpers::emitSaveCalleeSavesFor):
(JSC::AssemblyHelpers::emitRestoreCalleeSavesFor):
* Source/JavaScriptCore/jit/AssemblyHelpersSpoolers.h:
(JSC::AssemblyHelpers::Spooler::execute):
* Source/JavaScriptCore/jit/ScratchRegisterAllocator.cpp:
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
(JSC::ScratchRegisterAllocator::preserveRegistersToStackForCall):
(JSC::ScratchRegisterAllocator::restoreRegistersFromStackForCall):
* Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addCall):
(JSC::Wasm::parseAndCompileAir):
* Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::didCompleteCompilation):
* Source/JavaScriptCore/wasm/WasmThunks.cpp:
(JSC::Wasm::throwExceptionFromWasmThunkGenerator):
(JSC::Wasm::throwStackOverflowFromWasmThunkGenerator):
(JSC::Wasm::triggerOMGEntryTierUpThunkGenerator):
* Source/JavaScriptCore/wasm/js/JSToWasm.cpp:
(JSC::Wasm::marshallJSResult):
(JSC::Wasm::createJSToWasmWrapper):
* Source/WTF/wtf/Assertions.h:
Canonical link: https://commits.webkit.org/254198@main
More information about the webkit-changes
mailing list