Repository navigation
Commit 3f0a357
[JSC] Avoid $vm dictionary transitions on Wasm GC objects
https://bugs.webkit.org/show_bug.cgi?id=320759
Reviewed by Keith Miller.
$vm.toCacheableDictionary and $vm.toUncacheableDictionary passed any
JSObject into structure dictionary transitions. Wasm GC objects have no
butterfly, so that hit RELEASE_ASSERT on WebAssemblyGCStructure. Only
convert JSObjectWithButterfly, same as ensureArrayStorage.
* Source/JavaScriptCore/tools/JSDollarVM.cpp:
(JSC::functionToCacheableDictionary):
(JSC::functionToUncacheableDictionary):
* JSTests/wasm/gc/no-gc-structure-transition.js:
(testDollarVMDictionaryHelpers):
Canonical link: https://commits.webkit.org/318552@main1 parent 00309e0 commit 3f0a357
2 files changed
Lines changed: 25 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
719 | 719 | | |
720 | 720 | | |
721 | 721 | | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
722 | 740 | | |
723 | 741 | | |
724 | 742 | | |
| |||
755 | 773 | | |
756 | 774 | | |
757 | 775 | | |
| 776 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4230 | 4230 | | |
4231 | 4231 | | |
4232 | 4232 | | |
4233 | | - | |
4234 | | - | |
| 4233 | + | |
| 4234 | + | |
| 4235 | + | |
| 4236 | + | |
4235 | 4237 | | |
4236 | 4238 | | |
4237 | 4239 | | |
| |||
4244 | 4246 | | |
4245 | 4247 | | |
4246 | 4248 | | |
4247 | | - | |
| 4249 | + | |
| 4250 | + | |
4248 | 4251 | | |
4249 | 4252 | | |
4250 | 4253 | | |
| |||
0 commit comments