| 292 | } |
| 293 | |
| 294 | fn check_tunables(&mut self, other: &Tunables) -> Result<()> { |
| 295 | let Tunables { |
| 296 | collector, |
| 297 | memory_reservation, |
| 298 | memory_guard_size, |
| 299 | debug_native, |
| 300 | debug_guest, |
| 301 | parse_wasm_debuginfo, |
| 302 | consume_fuel, |
| 303 | ref operator_cost, |
| 304 | epoch_interruption, |
| 305 | memory_may_move, |
| 306 | guard_before_linear_memory, |
| 307 | table_lazy_init, |
| 308 | relaxed_simd_deterministic, |
| 309 | winch_callable, |
| 310 | signals_based_traps, |
| 311 | memory_init_cow, |
| 312 | inlining, |
| 313 | inlining_small_callee_size, |
| 314 | inlining_sum_size_threshold, |
| 315 | concurrency_support, |
| 316 | recording, |
| 317 | |
| 318 | // This doesn't affect compilation, it's just a runtime setting. |
| 319 | memory_reservation_for_growth: _, |
| 320 | |
| 321 | // This does technically affect compilation but modules with/without |
| 322 | // trap information can be loaded into engines with the opposite |
| 323 | // setting just fine (it's just a section in the compiled file and |
| 324 | // whether it's present or not) |
| 325 | generate_address_map: _, |
| 326 | |
| 327 | // Just a debugging aid, doesn't affect functionality at all. |
| 328 | debug_adapter_modules: _, |
| 329 | |
| 330 | // This is a runtime GC debugging setting, doesn't affect compilation. |
| 331 | gc_zeal_alloc_counter: _, |
| 332 | |
| 333 | gc_heap_reservation, |
| 334 | gc_heap_guard_size, |
| 335 | gc_heap_may_move, |
| 336 | |
| 337 | // This doesn't affect compilation, it's just a runtime setting. |
| 338 | gc_heap_reservation_for_growth: _, |
| 339 | |
| 340 | // No need to match whether or not this metadata is emitted, if it |
| 341 | // is or isn't then that's fine, the runtime handles it the same |
| 342 | // way. |
| 343 | metadata_for_internal_asserts: _, |
| 344 | metadata_for_gc_heap_corruption: _, |
| 345 | |
| 346 | // Only affects cold-block layout; a compiled artifact loads into an |
| 347 | // engine configured either way. |
| 348 | branch_hinting: _, |
| 349 | } = self.tunables; |
| 350 | |
| 351 | Self::check_collector(collector, other.collector)?; |