Load ephemeral bounds simultaneously with ldp.
authorAditya Mandaleeka <adityam@microsoft.com>
Tue, 15 Jan 2019 03:29:13 +0000 (19:29 -0800)
committerAditya Mandaleeka <adityam@microsoft.com>
Wed, 16 Jan 2019 02:50:43 +0000 (18:50 -0800)
src/vm/arm64/asmhelpers.asm

index 2fa7a46..6f71e52 100644 (file)
@@ -485,13 +485,14 @@ ShadowUpdateDisabled
 CheckCardTable
         ; Branch to Exit if the reference is not in the Gen0 heap
         ;
-        ldr      x12,  wbs_ephemeral_low
+        adr      x12,  wbs_ephemeral_low
+        ldp      x12,  x16, [x12]
         cbz      x12,  SkipEphemeralCheck
+
         cmp      x15,  x12
         blo      Exit
 
-        ldr      x12,  wbs_ephemeral_high
-        cmp      x15,  x12
+        cmp      x15,  x16
         bhi      Exit
 
 SkipEphemeralCheck