Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3652a40de64f5a836eea07d7d54810cd9c587f4a
https://github.com/WebKit/WebKit/commit/3652a40de64f5a836eea07d7d54810cd9c587f4a
Author: Yijia Huang <[email protected]>
Date: 2026-03-03 (Tue, 03 Mar 2026)
Changed paths:
M Tools/lldb/lldb_webkit.py
Log Message:
-----------
Fix JSValueMirror assertion crash when displaying EncodedJSValue variables
https://bugs.webkit.org/show_bug.cgi?id=309013
rdar://171561777
Reviewed by Keith Miller and Yusuke Suzuki.
JSValueMirror.__init__ asserted that valobj must have type "JSC::JSValue" or
"JSC::EncodedJSValue". However, EncodedJSValue is typedef'd as int64_t, so
LLDB resolves it to the underlying canonical type and GetTypeName() never
returns "JSC::EncodedJSValue". This caused an AssertionError whenever LLDB
tried to summarize an EncodedJSValue variable.
The type guard is only meaningful when bits are not provided, i.e. when
JSValueMirror needs to walk the JSValue struct layout to extract the bits
itself. When bits are passed explicitly by the caller (as
SummarizeEncodedJSValue
already does), the type check is redundant. Relax the assertion to skip the
type name check in that case.
Canonical link: https://commits.webkit.org/308574@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications