@@ -151,8 +151,10 @@ def randomize_feature_opts():
151
151
152
152
# The shared-everything feature is new and we want to fuzz it, but it
153
153
# also currently disables fuzzing V8, so disable it most of the time.
154
+ # Same with custom descriptors.
154
155
if random .random () < 0.9 :
155
156
FEATURE_OPTS .append ('--disable-shared-everything' )
157
+ FEATURE_OPTS .append ('--disable-custom-descriptors' )
156
158
157
159
print ('randomized feature opts:' , '\n ' + '\n ' .join (FEATURE_OPTS ))
158
160
@@ -813,8 +815,8 @@ def run(self, wasm, extra_d8_flags=[]):
813
815
def can_run (self , wasm ):
814
816
# V8 does not support shared memories when running with
815
817
# shared-everything enabled, so do not fuzz shared-everything
816
- # for now.
817
- return all_disallowed (['shared-everything' ])
818
+ # for now. It also does not yet support custom descriptors.
819
+ return all_disallowed (['shared-everything' , 'custom-descriptors' ])
818
820
819
821
def can_compare_to_self (self ):
820
822
# With nans, VM differences can confuse us, so only very simple VMs
@@ -864,7 +866,7 @@ def can_run(self, wasm):
864
866
if random .random () < 0.5 :
865
867
return False
866
868
# wasm2c doesn't support most features
867
- return all_disallowed (['exception-handling' , 'simd' , 'threads' , 'bulk-memory' , 'nontrapping-float-to-int' , 'tail-call' , 'sign-ext' , 'reference-types' , 'multivalue' , 'gc' ])
869
+ return all_disallowed (['exception-handling' , 'simd' , 'threads' , 'bulk-memory' , 'nontrapping-float-to-int' , 'tail-call' , 'sign-ext' , 'reference-types' , 'multivalue' , 'gc' , 'custom-descriptors' ])
868
870
869
871
def run (self , wasm ):
870
872
run ([in_bin ('wasm-opt' ), wasm , '--emit-wasm2c-wrapper=main.c' ] + FEATURE_OPTS )
@@ -1165,7 +1167,7 @@ def can_run_on_wasm(self, wasm):
1165
1167
# implement wasm suspending using JS async/await.
1166
1168
if JSPI :
1167
1169
return False
1168
- return all_disallowed (['exception-handling' , 'simd' , 'threads' , 'bulk-memory' , 'nontrapping-float-to-int' , 'tail-call' , 'sign-ext' , 'reference-types' , 'multivalue' , 'gc' , 'multimemory' , 'memory64' ])
1170
+ return all_disallowed (['exception-handling' , 'simd' , 'threads' , 'bulk-memory' , 'nontrapping-float-to-int' , 'tail-call' , 'sign-ext' , 'reference-types' , 'multivalue' , 'gc' , 'multimemory' , 'memory64' , 'custom-descriptors' ])
1169
1171
1170
1172
1171
1173
# given a wasm, find all the exports of particular kinds (for example, kinds
@@ -1571,7 +1573,7 @@ def can_run_on_wasm(self, wasm):
1571
1573
return False
1572
1574
1573
1575
# see D8.can_run
1574
- return all_disallowed (['shared-everything' ])
1576
+ return all_disallowed (['shared-everything' , 'custom-descriptors' ])
1575
1577
1576
1578
1577
1579
# Check that the text format round-trips without error.
@@ -1752,7 +1754,11 @@ def can_run_on_wasm(self, wasm):
1752
1754
# mode. We also cannot run shared-everything code in d8 yet. We also
1753
1755
# cannot compare if there are NaNs (as optimizations can lead to
1754
1756
# different outputs).
1755
- return not CLOSED_WORLD and all_disallowed (['shared-everything' ]) and not NANS
1757
+ if CLOSED_WORLD :
1758
+ return False
1759
+ if NANS :
1760
+ return False
1761
+ return all_disallowed (['shared-everything' , 'custom-descriptors' ])
1756
1762
1757
1763
1758
1764
# Test --fuzz-preserve-imports-exports, which never modifies imports or exports.
0 commit comments