[vm, compiler] Fix LoadFieldInstr(Acquire) with compressed pointers.

TEST=ci
Cq-Include-Trybots: luci.dart.try:vm-aot-android-release-arm64c-try,vm-linux-debug-x64c-try
Change-Id: I454f5f3b1bcf94474d16f5384c6cbe4b8200870e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/442706
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
diff --git a/runtime/vm/compiler/assembler/assembler_base.cc b/runtime/vm/compiler/assembler/assembler_base.cc
index 0572fed..bc9f9a6 100644
--- a/runtime/vm/compiler/assembler/assembler_base.cc
+++ b/runtime/vm/compiler/assembler/assembler_base.cc
@@ -60,7 +60,7 @@
   } else {
     if (slot.is_compressed()) {
       if (memory_order == kAcquire) {
-        LoadAcquireCompressedFromOffset(dst, base, slot.offset_in_bytes());
+        LoadAcquireCompressedFieldFromOffset(dst, base, slot.offset_in_bytes());
       } else {
         LoadCompressedFieldFromOffset(dst, base, slot.offset_in_bytes());
       }
@@ -186,6 +186,11 @@
                                                     int32_t offset) {
   LoadAcquireCompressed(dst, Address(base, offset));
 }
+void AssemblerBase::LoadAcquireCompressedFieldFromOffset(Register dst,
+                                                         Register base,
+                                                         int32_t offset) {
+  LoadAcquireCompressed(dst, FieldAddress(base, offset));
+}
 void AssemblerBase::LoadCompressedField(Register dst,
                                         const FieldAddress& address) {
   LoadCompressed(dst, address);
diff --git a/runtime/vm/compiler/assembler/assembler_base.h b/runtime/vm/compiler/assembler/assembler_base.h
index 9fb39cb..ce77b10 100644
--- a/runtime/vm/compiler/assembler/assembler_base.h
+++ b/runtime/vm/compiler/assembler/assembler_base.h
@@ -1060,6 +1060,9 @@
   void LoadAcquireCompressedFromOffset(Register dst,
                                        Register base,
                                        int32_t offset);
+  void LoadAcquireCompressedFieldFromOffset(Register dst,
+                                            Register base,
+                                            int32_t offset);
   void LoadCompressedField(Register dst, const FieldAddress& address);
   void LoadCompressedFromOffset(Register dst, Register base, int32_t offset);
   void LoadCompressedFieldFromOffset(Register dst,