Hash Subject Author Age
b3d179a0 resolver: document opaque pointer cast safety gap Alexis Sellier
1d1204a9 vim: add unsafe keyword to radiance.vim Alexis Sellier
37008440 vim: update ril.vim for new IL instructions Alexis Sellier
07d2c0e8 il: rename WordToPtr to MakePtr, print as 'ptr' Alexis Sellier
24e13086 il: remove PtrToWord instruction Alexis Sellier
01ef2d04 Update RIL safety TODO: reflect current state and future work Alexis Sellier
86e83beb lower: use Elem for all internal bounded pointer arithmetic Alexis Sellier
0202a038 lower: use Elem for all user-facing memory access patterns Alexis Sellier
6a612093 verify: track pointer bounds for static offset checking Alexis Sellier
c1192d4f il: add Elem instruction for bounds-checked element access Alexis Sellier
f583c417 Update Phase 6 design: dominance-based bounds verification Alexis Sellier
c22390f5 il: add RIL type verifier Alexis Sellier
985a1b92 Add unsafe keyword for pointer-integer boundary crossing Alexis Sellier
2f7beb74 il: document pointer provenance rules Alexis Sellier
e8882a03 il: add PtrToWord/WordToPtr conversion instructions Alexis Sellier
aedb2dec lower: use Ptr type for pointer-typed loads and stores Alexis Sellier
b1f8d523 il: add Ptr type distinct from W64 Alexis Sellier
41b8d492 Remove source-level `void` keyword Alexis Sellier
f08c3877 Remove source-level `void` uses from tests Alexis Sellier
d5d7f927 Deduplicate `isel` code Alexis Sellier
043ee151 Use loop for large BLITs Alexis Sellier
ab23f64b Skip extension for zero immediates Alexis Sellier
845f7ebb Skip redundant jump-to-epilogue Alexis Sellier
60a9450d Use unlabeled records in more places Alexis Sellier
e291fc36 Move and refactor `Reg` type Alexis Sellier
eb28109d Create seed from `b82377e` Alexis Sellier
b82377ea Fix resolution of unlabeled records Alexis Sellier
260e2e2f Use constant instead of magic number Alexis Sellier
30d36e9f Implement deref for single-field unlabeled records Alexis Sellier
f0e50b22 Properly cleanup `bin/` folder Alexis Sellier
f1bc2ebd Fix a small instruction selection bug Alexis Sellier
7bfd64dd Fix some long-standing tech debt Alexis Sellier
e0e2e01d Fix a bunch of disparate issues around integers Alexis Sellier
a1e8824d General code simplifications Alexis Sellier
29fdb962 Add support for standalone methods Alexis Sellier
d91f35a2 Use expressions in constants, for clarity Alexis Sellier
32bb87b2 Create seed from `f402634` Alexis Sellier
f4026342 Fix type resolution order Alexis Sellier
359694c2 Improve flexibility of constant expressions Alexis Sellier
62ca04d4 Support casting in constant expressions Alexis Sellier
60ca87f0 Small code improvements Alexis Sellier
f5bdf05c Support constant folding Alexis Sellier
19053951 Fix parser bug with speculative parsing Alexis Sellier
3ca028fc Widen `ecall` intrinsic args Alexis Sellier
a0bdac6c Combine lowering and execution tests Alexis Sellier
3df5cf97 Use `assert` instead of `panic` Alexis Sellier
4579515f Optimize unconditional jumps Alexis Sellier
e5645fc3 Emit `RET` directly for leaf functions Alexis Sellier
d84d2c73 Optimize code generation for non-dynamic functions Alexis Sellier
57e40912 Re-order `visit` match for better performance Alexis Sellier