| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| |
|
|
| |
Really badly needs `i++` and a `for` loop
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
No range-checking yet.
Length is "ary#"
TypeStruct with special "[]" field is an array
Fix some eager push-load-thru phi
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
| |
Drop isCFG and use instanceof instead
|
| | |
|
| |
|
|
| |
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.
|
| | |
|
| |
|