summaryrefslogtreecommitdiff
path: root/test/008-exceptions/src/MultiDexBadInitWrapper1.java
diff options
context:
space:
mode:
authorRoland Levillain <rpl@google.com>2019-09-25 19:33:35 +0100
committerRoland Levillain <rpl@google.com>2019-10-26 10:31:12 +0000
commit5e0ac154f131fcd328a7a1809824b4a2a3dcbb10 (patch)
tree6daae22d32efb74093cf903df6a5488682ff9687 /test/008-exceptions/src/MultiDexBadInitWrapper1.java
parente14177d988722b5e9f3d2e8ed7ab533e322e8689 (diff)
Fix null checks on volatile reference field loads on ARM64.
ART's compiler adds a null check HIR instruction before each field load HIR instruction created in the instruction builder phase. When implicit null checks are allowed, the compiler elides the null check if it can be turned into an implicit one (i.e. if the offset is within a system page range). On ARM64, the Baker read barrier thunk built for field reference loads needs to check the lock word of the holder of the field, and thus includes an explicit null check if no null check has been done before. However, this was not done for volatile loads (implemented with a load-acquire instruction on ARM64). This change adds this missing null check. (cherry picked from commit 988c3911671598d7c840c65bf1cdfafa1e05c582) Test: art/test/testrunner/testrunner.py --target --64 -t 1004-checker-volatile-ref-load Bug: 140507091 Bug: 36141117 Change-Id: Ie94f2e73d2f439ae4460549d7b71848401602a21
Diffstat (limited to 'test/008-exceptions/src/MultiDexBadInitWrapper1.java')
0 files changed, 0 insertions, 0 deletions