WebAssembly doesn't have non-dense jump tables, and higher-level users are better served by the facilities in lib/frontend/src/switch.rs for working with non-dense switches. This eliminates the concept of "absent" jump table entries, which were represented as "0" in the text format. Also, jump table contents are now enclosed in `[` and `]`, so that we can unambiguously display empty jump tables. Previously, empty jump tables were displayed as if they had a single absent entry.
20 lines
245 B
Plaintext
20 lines
245 B
Plaintext
test compile
|
|
|
|
target x86_64
|
|
|
|
function u0:0(i64) system_v {
|
|
ss0 = explicit_slot 1
|
|
jt0 = jump_table [ebb1]
|
|
|
|
ebb0(v0: i64):
|
|
v1 = stack_addr.i64 ss0
|
|
v2 = load.i8 v1
|
|
br_table v2, ebb2, jt0
|
|
|
|
ebb2:
|
|
jump ebb1
|
|
|
|
ebb1:
|
|
return
|
|
}
|