Skip to content

masm-decompiler v0.6.1

Choose a tag to compare

@fegge fegge released this 23 Mar 11:43
· 28 commits to main since this release
dac04e1

Changes

  • Restructured the type inference lattice from a partial order with Unknown variants to a clean four-point chain Bool < Address < U32 < Felt, replacing ad-hoc combine/refine operations with proper lattice join, glb, and satisfies operations.
  • Small constants in the u32 range are now inferred as U32 instead of Felt.
  • The is_odd intrinsic now correctly infers Bool result type.
  • Renamed TypeSummary.unknown to TypeSummary.opaque to decouple opacity tracking from the type domain.

Bug fixes

  • Fixed Address positioning in the type lattice (now between Bool and U32 instead of being a sibling of U32), enabling correct subtype checks for address values.
  • Fixed local/memory store type tracking to use glb for combining stored values and join when merging with existing slot types, ensuring correct convergence with conflicting requirements.