Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b0bf5bc7500a53126e9c9fb1f9ee1d978db07c7c
https://github.com/WebKit/WebKit/commit/b0bf5bc7500a53126e9c9fb1f9ee1d978db07c7c
Author: Keith Miller <[email protected]>
Date: 2023-10-11 (Wed, 11 Oct 2023)
Changed paths:
A JSTests/wasm/stress/multi-tuple.js
M Source/JavaScriptCore/b3/B3Type.h
M Source/JavaScriptCore/b3/B3Validate.cpp
M Source/JavaScriptCore/b3/air/AirCustom.cpp
Log Message:
-----------
B3 should use isTuple rather than `== Tuple`
https://bugs.webkit.org/show_bug.cgi?id=261467
rdar://115283700
Reviewed by Yusuke Suzuki.
Recently we switched to using the default operator== for many JSC classes
(https://commits.webkit.org/267645@main).
This however revealed a subtle inconsistency where we would allow Tuple
TypeKinds to be compared to Types but
didn't check the tuple index. Now that we use the default operator== we started
checking the tuple index, which
causes assertion failures in validation.
To fix this validation should use `isTuple()` rather than `== Tuple`. Also, to
prevent others from making the
same mistake, we now `ASSERT` the implicit `Type` constructor isn't receiving a
`Tuple`.
* JSTests/wasm/stress/multi-tuple.js: Added.
(type.1.call.1.call.0.return.export.string_appeared_here.func.2.async test):
* Source/JavaScriptCore/b3/B3Type.h:
(JSC::B3::Type::Type):
* Source/JavaScriptCore/b3/B3Validate.cpp:
* Source/JavaScriptCore/b3/air/AirCustom.cpp:
(JSC::B3::Air::CCallCustom::isValidForm):
Canonical link: https://commits.webkit.org/269216@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes