Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f5716c3f9c9a8b19d82c02df456588ea62767c1e
https://github.com/WebKit/WebKit/commit/f5716c3f9c9a8b19d82c02df456588ea62767c1e
Author: Keith Miller <[email protected]>
Date: 2024-08-05 (Mon, 05 Aug 2024)
Changed paths:
M JSTests/wasm/wabt-wrapper.js
M Source/JavaScriptCore/bytecode/ExitKind.cpp
M Source/JavaScriptCore/bytecode/ExitKind.h
M Source/JavaScriptCore/bytecode/ExpressionInfo.cpp
M Source/JavaScriptCore/bytecode/ExpressionInfo.h
M Source/JavaScriptCore/bytecode/Watchpoint.h
M Source/JavaScriptCore/dfg/DFGArrayMode.cpp
M Source/JavaScriptCore/dfg/DFGArrayMode.h
M Source/JavaScriptCore/dfg/DFGBranchDirection.h
M Source/JavaScriptCore/dfg/DFGOSRExit.cpp
M Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
M Source/JavaScriptCore/heap/AbstractSlotVisitor.h
M Source/JavaScriptCore/heap/AlignedMemoryAllocator.h
M Source/JavaScriptCore/heap/GCLogging.cpp
M Source/JavaScriptCore/heap/GCLogging.h
M Source/JavaScriptCore/heap/GigacageAlignedMemoryAllocator.cpp
M Source/JavaScriptCore/jit/JITOpaqueByproduct.h
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/profiler/ProfilerOSRExit.cpp
M Source/JavaScriptCore/runtime/BufferMemoryHandle.cpp
M Source/JavaScriptCore/runtime/BufferMemoryHandle.h
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/wasm/WasmWorklist.cpp
M Source/JavaScriptCore/wasm/WasmWorklist.h
M Source/WTF/wtf/EnumTraits.h
M Source/WTF/wtf/Gigacage.h
M Source/WTF/wtf/PrintStream.h
M Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig
M Tools/TestWebKitAPI/Tests/WTF/EnumTraits.cpp
Log Message:
-----------
Add mechanism to automatically convert Enums to Strings for printing
https://bugs.webkit.org/show_bug.cgi?id=271967
rdar://125723369
Reviewed by Yusuke Suzuki.
This patch adds support a set of new functions that return a `std::span<const
char>`
with the stringification of an enum's type or members. Members are determined by
reflecting on the compiler's result for `__PRETTY_FUNCTION__`. This doesn't
seem to
significantly increase compile times as a Debug build of JSC was 272.5s with
this
change vs 268.8s without (~1% compile time increase).
In order to limit compile time overhead, the number of enum values stringified
is
limited to 256 by default.
This patch also integrates this new name reflection into `dataLog` so it will
automatically print the enum's value strigified into the log. There's also a
`ScopedEnumDump` that includes the enum's name and `EnumDumpWithDefault` that
takes a default string if a stringification for the enum value can't be deduced.
* JSTests/wasm/wabt-wrapper.js:
* Source/JavaScriptCore/bytecode/ExitKind.cpp:
(JSC::exitKindToString): Deleted.
(WTF::printInternal): Deleted.
* Source/JavaScriptCore/bytecode/ExitKind.h:
* Source/JavaScriptCore/bytecode/ExpressionInfo.cpp:
(WTF::printInternal): Deleted.
* Source/JavaScriptCore/bytecode/ExpressionInfo.h:
* Source/JavaScriptCore/dfg/DFGArrayMode.cpp:
(WTF::printInternal):
(JSC::DFG::arrayActionToString): Deleted.
(JSC::DFG::arrayTypeToString): Deleted.
(JSC::DFG::arrayClassToString): Deleted.
(JSC::DFG::arraySpeculationToString): Deleted.
(JSC::DFG::arrayConversionToString): Deleted.
* Source/JavaScriptCore/dfg/DFGArrayMode.h:
* Source/JavaScriptCore/dfg/DFGBranchDirection.h:
(JSC::DFG::branchDirectionToString): Deleted.
(WTF::printInternal): Deleted.
* Source/JavaScriptCore/dfg/DFGOSRExit.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* Source/JavaScriptCore/heap/GCLogging.cpp:
(JSC::GCLogging::levelAsString): Deleted.
* Source/JavaScriptCore/heap/GCLogging.h:
* Source/JavaScriptCore/jsc.cpp:
(CommandLine::parseArguments):
* Source/JavaScriptCore/profiler/ProfilerOSRExit.cpp:
(JSC::Profiler::OSRExit::toJSON const):
* Source/JavaScriptCore/runtime/BufferMemoryHandle.cpp:
(JSC::BufferMemoryResult::dump const):
(JSC::BufferMemoryManager::tryAllocatePhysicalBytes):
(JSC::BufferMemoryResult::toString): Deleted.
* Source/JavaScriptCore/runtime/BufferMemoryHandle.h:
* Source/JavaScriptCore/runtime/Options.cpp:
(JSC::OptionsHelper::Option::dump const):
* Source/JavaScriptCore/wasm/WasmWorklist.cpp:
(JSC::Wasm::Worklist::priorityString): Deleted.
* Source/JavaScriptCore/wasm/WasmWorklist.h:
* Source/WTF/wtf/EnumTraits.h:
(WTF::enumTypeNameImpl):
(WTF::enumTypeName):
(WTF::enumNameImpl):
(WTF::enumName):
(WTF::detail::for_constexpr):
(WTF::enumNames):
* Source/WTF/wtf/Gigacage.h:
(Gigacage::name): Deleted.
* Source/WTF/wtf/PrintStream.h:
(WTF::printInternal):
(WTF::ScopedEnumDump::ScopedEnumDump):
(WTF::ScopedEnumDump::dump const):
(WTF::EnumDumpMayBeUnknown::EnumDumpMayBeUnknown):
(WTF::EnumDumpMayBeUnknown::dump const):
(WTF::requires):
Canonical link: https://commits.webkit.org/281831@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