| 68bd0f27 |
Return zero register directly for zero immediate |
Alexis Sellier |
|
| eace45a7 |
Optimize subtraction by small immediate |
Alexis Sellier |
|
| 6cd41da3 |
Improve instruction selection for SLT/ULT |
Alexis Sellier |
|
| 3d0bcffc |
Use zero register directly for branch comparisons |
Alexis Sellier |
|
| a80ed464 |
Skip division-by-zero check when possible |
Alexis Sellier |
|
| a81e1717 |
Strength-reduce multiplication by known constants |
Alexis Sellier |
|
| ebab4823 |
Fuse `liveIn` computation for efficiency |
Alexis Sellier |
|
| 0e8a1cce |
Optimize bitset iterator with de Bruijn |
Alexis Sellier |
|
| 28a18c72 |
Replace O(n) data symbol lookup with O(1) lookup |
Alexis Sellier |
|
| e0f33455 |
Move data emission out of `rv64` module |
Alexis Sellier |
|
| 1c550ebe |
Implement slice range assignment |
Alexis Sellier |
|
| 9be0a920 |
Simplify some `append` code |
Alexis Sellier |
|
| c6a6897f |
Simplify with support of `if let mut` |
Alexis Sellier |
|
| 5cee4d49 |
Use nested pattern matching in compiler |
Alexis Sellier |
|
| abd72ad2 |
Create new seed from `ff9c591` |
Alexis Sellier |
|
| b5aaa5b8 |
Allow identity casts |
Alexis Sellier |
|
| 08a54eea |
Make `append` return the new slice |
Alexis Sellier |
|
| 5f74ebc0 |
Add auto-deref support for nested patterns |
Alexis Sellier |
|
| d9a090bf |
Add support for nested pattern matching |
Alexis Sellier |
|
| 40bf87cb |
Simplify some optional return code |
Alexis Sellier |
|
| ff5b37ff |
Support mutable optional pattern bindings |
Alexis Sellier |
|
| 43baa252 |
Simplify `for` loops that need the index |
Alexis Sellier |
|
| a6d3edee |
Inline `pushFn`/`pushData` functions |
Alexis Sellier |
|
| 0f9c16bc |
Remove `throws` from non-fallible functions |
Alexis Sellier |
|
| 4bb2cff3 |
Allow trailing commas in parser |
Alexis Sellier |
|
| c8b1ee9e |
Print the actual parse errors if any |
Alexis Sellier |
|
| c4b1fccc |
Use growable slices throughout the compiler |
Alexis Sellier |
|
| 66129411 |
Create new seed from `b785930` |
Alexis Sellier |
|
| b7859308 |
Add append and delete methods on slices |
Alexis Sellier |
|
| ada1cb34 |
Add `Allocator` record |
Alexis Sellier |
|
| d1aed336 |
Add slice capacity field |
Alexis Sellier |
|
| 7fa02c34 |
Convert tests to use `assert` keyword |
Alexis Sellier |
|
| 7a8ab6ad |
Use `assert` keyword throughout compiler |
Alexis Sellier |
|
| 16d67a26 |
Create new seed from `93e3225` |
Alexis Sellier |
|
| 93e3225c |
Improve type checking in trait instances |
Alexis Sellier |
|
| ae7f9152 |
Fix trait soundness bugs |
Alexis Sellier |
|
| f952258d |
Implement super-traits |
Alexis Sellier |
|
| 71eb3015 |
Supertraits |
Alexis Sellier |
|
| 4fd4c947 |
Add tests for traits feature |
Alexis Sellier |
|
| a521693e |
Implement dynamic dispatch through v-tables |
Alexis Sellier |
|
| e3e79cd2 |
Lower instance methods |
Alexis Sellier |
|
| 37fa6115 |
Implement trait method dispatch in resolver |
Alexis Sellier |
|
| 0125f9b7 |
Take advantage of string interning in comparisons |
Alexis Sellier |
|
| 9de503ed |
Resolve instance blocks |
Alexis Sellier |
|
| ffdd11dd |
Add layout for trait object in resolver |
Alexis Sellier |
|
| 40c5b38c |
Implement trait declarations in resolver |
Alexis Sellier |
|
| 7c675193 |
Implement parsing for *traits* feature |
Alexis Sellier |
|
| 66464ff6 |
Implement `assert` statements |
Alexis Sellier |
|
| d21f24aa |
Change IL's `Blit` size to `Val` |
Alexis Sellier |
|
| dd43ff04 |
Extract `computeUnionLayout` and `variantTag` |
Alexis Sellier |
|