Files
scriptc/packages/compiler
Malte Ubl 56bc1745cd Inline number-key Map/Set get and has
Number-key reads called scr_map_get_f64_ref and friends, which hashed the
key and retained reference values through the map's val_retain function
pointer. They now go through sc_map_entry_f64, a small internal IR helper
LLVM inlines at each site: with the runtime's direct index present, an
integral in-range key reads its slot and any other key is absent, with no
call; maps without the index defer to scr_map_entry_f64. The generated
code reads the entry's value slot itself and retains reference values
with the value type's own (inlinable) retain, the adapter the collection
was constructed with. Map.get with stack-boxed results, union and scalar
values, and Map/Set.has all use it.

The helper and its %ScrMapIx/%ScrMapEntry types follow the target's size
type, so wasm32 builds verify as well.
2026-10-09 10:10:21 -07:00
..
2026-10-09 10:10:21 -07:00
2026-07-22 18:08:04 -05:00
2026-10-08 21:18:31 -05:00
2026-10-08 21:18:31 -05:00