Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4f54300b848acb86f95da242cbd1d7538c5d0cf9
https://github.com/WebKit/WebKit/commit/4f54300b848acb86f95da242cbd1d7538c5d0cf9
Author: Kai Tamkun <[email protected]>
Date: 2026-07-29 (Wed, 29 Jul 2026)
Changed paths:
M Source/JavaScriptCore/heap/BlockDirectory.cpp
M Source/JavaScriptCore/heap/BlockDirectory.h
M Source/JavaScriptCore/heap/LocalAllocator.cpp
M Source/JavaScriptCore/heap/LocalAllocator.h
M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
M Source/JavaScriptCore/runtime/JSCJSValue.h
M Source/JavaScriptCore/runtime/JSCJSValuePropertyInlines.h
M Source/JavaScriptCore/runtime/JSObject.cpp
M Source/JavaScriptCore/runtime/JSObject.h
Log Message:
-----------
[JSC] Assemble diagnostic data when getDirect returns an all-zero JSValue
during llint_slow_path_get_by_id
https://bugs.webkit.org/show_bug.cgi?id=320240
rdar://183368480
Reviewed by Mark Lam.
In a case where we'd crash anyway, stuff some useful data into
registers first to make debugging easier in the absence of a repro.
No new tests because we don't have a repro that can trigger this path.
* Source/JavaScriptCore/heap/BlockDirectory.cpp:
(JSC::BlockDirectory::isFreeListedCell):
* Source/JavaScriptCore/heap/BlockDirectory.h:
* Source/JavaScriptCore/heap/LocalAllocator.cpp:
(JSC::LocalAllocator::isFreeListedCell const):
* Source/JavaScriptCore/heap/LocalAllocator.h:
* Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::performLLIntGetByID):
* Source/JavaScriptCore/runtime/JSCJSValue.h:
* Source/JavaScriptCore/runtime/JSCJSValuePropertyInlines.h:
(JSC::JSValue::get const):
(JSC::JSValue::getPropertySlot const):
* Source/JavaScriptCore/runtime/JSObject.cpp:
(JSC::saturate):
(JSC::EmptyValueCrashLayout::nibbleShift):
(JSC::JSObject::crashDueToEmptyValueAtValidOffset):
* Source/JavaScriptCore/runtime/JSObject.h:
(JSC::JSObject::getOwnNonIndexPropertySlot):
(JSC::JSObject::getPropertySlot):
Canonical link: https://commits.webkit.org/318194@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications