| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Redo address math | Cliff Click | 2024-10-06 | 19 | -227/+381 | |
| | | | | | | | | | | | | | | 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. | |||||
| * | Type picks up a log_size for doing struct layouts | Cliff Click | 2024-10-06 | 6 | -59/+62 | |
| | | ||||||
| * | sub same moves to compute | Cliff Click | 2024-10-06 | 1 | -4/+4 | |
| | | ||||||
| * | Scope renames _scopes and _types as _idxs and _decls. | Cliff Click | 2024-10-06 | 7 | -74/+66 | |
| | | | | | Drop isCFG and use instanceof instead | |||||
| * | Div-by-1 peep | Cliff Click | 2024-10-06 | 1 | -1/+6 | |
| | | ||||||
| * | Fix IRPrinter | Cliff Click | 2024-10-06 | 1 | -21/+40 | |
| | | | | | IRPrint was using a HashTable with Node keys, which calls hashCode, which sets the flag claiming the Node is locked in the GVN table. If this is not true, you later trigger the locked-but-not-in-table assert. Which means calling toString from stopping in the debugger can trigger a later assert. | |||||
| * | Adding TypeArray | Cliff Click | 2024-10-06 | 4 | -1/+75 | |
| | | ||||||
| * | Ch15 initial push | Cliff Click | 2024-10-06 | 80 | -0/+11756 | |
