Fix the artificial dependency in ARM/ARM64 SystemArrayCopy intrinsics.
Ensure that the base source address register (`src_curr_addr`) is assigned from the `src` register after `src` is made dependent on the lock word of `src`. Before this CL, the artificial (or "fake") dependency of `src` on `tmp` was present, but because `src_curr_addr` was computed from `src` *before* that artificial dependency, it meant that it was basically useless. This could explain some stale reference bugs. After this CL, `src_curr_addr` is computed from `src` *after* the artificial dependency. Test: m test-art-target on Baker read barrier configuration. Bug: 12687968 Change-Id: If30a2e35ca04b0b6d054e2a6c6b1e9c6879cf4a9
Loading
Please sign in to comment