summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland Levillain <rpl@google.com>2019-10-02 20:03:32 +0100
committerRoland Levillain <rpl@google.com>2019-10-26 10:31:12 +0000
commitde74fedc736e615ef18283734c26e122e0db8bd1 (patch)
tree9735b77342de8e5bc284bac1a46abb4dc6e17c57
parent5e0ac154f131fcd328a7a1809824b4a2a3dcbb10 (diff)
downloadart-de74fedc736e615ef18283734c26e122e0db8bd1.tar.gz
Adjust Checker assertion in 1004-checker-volatile-ref-load for heap poisoning.
The relative offset passed to the ADR instruction is usually (i.e. when heap poisoning is disabled) 0xc (12 bytes), but it is 0x10 (16 bytes) when heap poisoning is enabled, as the emitted code sequence includes a NEG instruction to unpoison the loaded reference. (cherry picked from commit 40510ab49d6bb2bc65957aa72c00fbb371647f2d) Test: art/test/testrunner/testrunner.py --target --64 -t 1004-checker-volatile-ref-load (with `ART_HEAP_POISONING` set to `true`) Bug: 140507091 Bug: 36141117 Change-Id: I63c6c00abbe10dfcbbf88231f9f9995d3ba950fa
-rw-r--r--test/1004-checker-volatile-ref-load/src/Main.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/1004-checker-volatile-ref-load/src/Main.java b/test/1004-checker-volatile-ref-load/src/Main.java
index 028bee89a8..9542f363a4 100644
--- a/test/1004-checker-volatile-ref-load/src/Main.java
+++ b/test/1004-checker-volatile-ref-load/src/Main.java
@@ -37,7 +37,7 @@ public class Main {
/// CHECK: NullCheck [<<Foo>>] dex_pc:<<PC:\d+>> loop:<<Loop>>
/// CHECK-NEXT: InstanceFieldGet [<<Foo>>] dex_pc:<<PC>> field_name:Foo.bar field_type:Reference loop:<<Loop>>
/// CHECK-NEXT: add w<<BaseRegNum:\d+>>, {{w\d+}}, #0x8 (8)
- /// CHECK-NEXT: adr lr, #+0xc
+ /// CHECK-NEXT: adr lr, #+0x{{c|10}}
// The following instruction (generated by
// `art::arm64::CodeGeneratorARM64::EmitBakerReadBarrierCbnz`) checks the
// Marking Register (X20) and goes into the Baker read barrier thunk if MR is