summaryrefslogtreecommitdiff
path: root/chapter15/src/test/java
Commit message (Collapse)AuthorAgeFilesLines
* Fix a null-check bugCliff Click2024-10-121-0/+18
|
* Turn off all printing during test runsCliff Click2024-10-1215-184/+167
| | | | was making 10000 lines of ignored output
* Fix testXmiliaH2024-10-111-1/+1
|
* Initialize int and flt field in NewNodeXmiliaH2024-10-112-3/+32
|
* fix parsing nested structsRobert Obkircher2024-10-061-0/+13
|
* Update evaluator toString for arraysXmiliaH2024-10-063-48/+148
|
* Fix brainfuck!Cliff Click2024-10-061-1/+1
|
* Force arrays to have a safety checkCliff Click2024-10-062-2/+21
| | | | Improves BrainFuck
* Optimize Loads bypassing trivial unrelated array stores.Cliff Click2024-10-064-91/+106
| | | | | | Fix some graphviz display on array loads & stores Fix bug in GCM, extra code for infinite loops now handled elsewhere. Move BrainFuck out into its own test.
* Add Brainfuck testXmiliaH2024-10-061-0/+84
|
* Sharpen null checksCliff Click2024-10-061-7/+62
| | | | | | Look for chances to sharpen checks of all kinds, especially null checks. Not terribly cheap check, probably needs a O(n^2) check Fix a bunch gold test result spelling.
* Fix parsing forward ref arraysCliff Click2024-10-062-6/+36
|
* store-store opt checks offsetCliff Click2024-10-061-0/+14
|
* Sieve of EratosthenesCliff Click2024-10-061-0/+49
| | | | Really badly needs `i++` and a `for` loop
* Tests for negative array size and runtime OOBCliff Click2024-10-062-1/+31
|
* Fix 2 test casesCliff Click2024-10-061-0/+22
|
* Address math foldingCliff Click2024-10-061-1/+2
|
* arrays with loads and storesCliff Click2024-10-063-6/+68
| | | | | | | No range-checking yet. Length is "ary#" TypeStruct with special "[]" field is an array Fix some eager push-load-thru phi
* Redo address mathCliff Click2024-10-068-46/+65
| | | | | | | | | | | | | Loads and Stores take a field offset instead of a field name; the name remains for debugging. NewNode takes a size and produces a pre-initialized chunk of memory with updated memory aliases for all fields. Field picks up an alias; TypeStruct loses one. TypeArray is a subclass of TypeStruct for now. TypeMem tracks a conservative value for its alias. TypeStruct computes field layouts. Now ProjNodes can have non-CFG input 0 - NewNode does, but so would a combined ModRem op from a divide, or a CAS producing both a success boolean and the old value. This impacts all the schedulers (IRPrinter, GCM, Scheduler) which previously believe slot 0 only held control nows, or could be modified to a control now. Aliases are now computed in the Parser instead of Start; Parser gets new Field math.
* Scope renames _scopes and _types as _idxs and _decls.Cliff Click2024-10-061-12/+12
| | | | Drop isCFG and use instanceof instead
* Adding TypeArrayCliff Click2024-10-061-1/+2
|
* Ch15 initial pushCliff Click2024-10-0624-0/+5469