summaryrefslogtreecommitdiff
path: root/chapter06/src/main/java/com
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2024-09-23 14:42:23 -0700
committerCliff Click <cliffc@acm.org>2024-10-06 08:56:22 -0700
commita65faba96e78f1d366abb9fafbdefc3e1d4927c9 (patch)
tree7e031b63ed0d30de03baf870649fc55298f67eb5 /chapter06/src/main/java/com
parentce8b6e6a13fc6a60640b3fe84fdf20d8aa94cc3e (diff)
downloadSimple-a65faba96e78f1d366abb9fafbdefc3e1d4927c9.tar.gz
Simple-a65faba96e78f1d366abb9fafbdefc3e1d4927c9.zip
Redo address math
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.
Diffstat (limited to 'chapter06/src/main/java/com')
0 files changed, 0 insertions, 0 deletions