i.e. #ifndef VM_WHATEVER -> #ifndef RUNTIME_VM_WHATEVER
This lets us remove a hack from the PRESUBMIT.py script that existed
for reasons that are no longer valid, and sets us up to add some
presubmit checks for the GN build.
R=asiva@google.com, rmacnak@google.com
Review URL: https://codereview.chromium.org/2450713004 .
LoadOptimizer computes KILL sets in assumption that place X[C] can alias place X[K] if and only if K == C. This however does not hold for TypedData where X[0] can alias X[1] if we are reading 32bit value at X[0] and 8bit value at X[1]. The only thing that TypedData guarantees is that all accesses are done with byte offsets aligned by the size of the data type.
This change incorporates TypeData elements aliasing rules into LoadOptimizer:
- Place hierarchy was extended with constant index places for TypedData X[C|S]:
- C is a byte offset to the element being read instead of an unscaled index that was used before;
- S size of the element being read.
- KILL set computation ensures the following aliasing rule:
X[C|S] aliases X[RoundDown(C, S')|S'] for all sizes S' > S
R=fschneider@google.com
BUG=http://dartbug.com/22120
Review URL: https://codereview.chromium.org//868283002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43137 260f80e4-7a28-3924-810f-c04153c831b5