summaryrefslogtreecommitdiff
path: root/chapter17/src/main/java
Commit message (Collapse)AuthorAgeFilesLines
* Missing xScopes pushCliff Click2024-11-231-0/+2
|
* Replace loop finding with official algoCliff Click2024-11-238-96/+77
| | | | Remove old fixLoops, walkInfinite.
* Assignment bugsCliff Click2024-11-234-109/+142
| | | | Restructure parsing declarations from assignments; allow assignments almost anywhere as a normal expression.
* Stronger requirement on new type nameCliff Click2024-11-231-6/+12
|
* Straighten out nested forward ref type errorsCliff Click2024-11-231-15/+12
|
* Error on ambiguous -- parseCliff Click2024-11-231-3/+1
| | | | `i -- i` now errors instead of (sometimes) parsing as `i - -i`
* Fix 2 small bugsCliff Click2024-11-232-2/+5
|
* Allow oper-assign, += -= etcCliff Click2024-11-231-8/+41
|
* Bug fix loop depth on infinite split-tail loopsCliff Click2024-11-232-10/+9
|
* Minor inf loop fixCliff Click2024-11-231-3/+4
|
* Final? pass of finalsCliff Click2024-11-2314-70/+171
| | | | | | | Add a least-upper-bound to set Phis to their respective Top while preserving final fields. Requires a ReadOnly node to "cast-away-writable". Series of isFinal/makeRO in all Types. Changes tests to match r/w intent.
* Allow pre-inc/dec on variablesCliff Click2024-11-233-16/+33
|
* Allow C-style for loopsCliff Click2024-11-231-16/+95
|
* Much more robust guarded expression upcastingCliff Click2024-11-235-63/+129
| | | | | Region does not print id, making all test cases much more stable (and slightly weaker). NotNode gets more precise compute
* Change field mutabilityCliff Click2024-11-2312-69/+125
| | | | | | | | Fields & locals with an initializer are immutable by default; those without are mutable. Make mutable with `!`. Fields are always mutable in a constructor. Add a trinary `pred ? then : else` syntax. SubNode retains as much precision as AddNode. Sharpen some asserts and error cases. Limit Load node cloning if the ptr is not obvious.
* var/valCliff Click2024-11-232-3/+18
|
* Support post ++ on arrays and structsCliff Click2024-11-231-8/+26
|
* Allow post ++, --Cliff Click2024-11-2317-113/+86
| | | | | | | | | | Fix eval auto-string result. Fix tests hacked because of this. Turn on BrainFuck in ch15,16,17, also disabled because of this. Use new features in BrainFuck. Fix bug not lifting forward refs; add a toString to Vars. Fix some missing addDeps. Remove large complex not-productive peep. Upcast after "while" tests. Improves a bunch of tests. Remove dead getBlockStart.
* Initial pushCliff Click2024-11-2359-0/+7263