| Index: runtime/vm/stub_code_arm64.cc
 | 
| diff --git a/runtime/vm/stub_code_arm64.cc b/runtime/vm/stub_code_arm64.cc
 | 
| index 71ebe70d2f6f10ebe3a6d1fc45b8b4e645f5d0cb..1a38e96ba8607101d405a7b5e03664955a23184a 100644
 | 
| --- a/runtime/vm/stub_code_arm64.cc
 | 
| +++ b/runtime/vm/stub_code_arm64.cc
 | 
| @@ -1089,7 +1089,7 @@ void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
 | 
|    Label add_to_buffer;
 | 
|    // Check whether this object has already been remembered. Skip adding to the
 | 
|    // store buffer if the object is in the store buffer already.
 | 
| -  __ LoadFieldFromOffset(TMP, R0, Object::tags_offset());
 | 
| +  __ LoadFieldFromOffset(TMP, R0, Object::tags_offset(), kWord);
 | 
|    __ tsti(TMP, Immediate(1 << RawObject::kRememberedBit));
 | 
|    __ b(&add_to_buffer, EQ);
 | 
|    __ ret();
 | 
| @@ -1104,11 +1104,13 @@ void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
 | 
|    ASSERT(Object::tags_offset() == 0);
 | 
|    __ sub(R3, R0, Operand(kHeapObjectTag));
 | 
|    // R3: Untagged address of header word (ldxr/stxr do not support offsets).
 | 
| +  // Note that we use 32 bit operations here to match the size of the
 | 
| +  // background sweeper which is also manipulating this 32 bit word.
 | 
|    Label retry;
 | 
|    __ Bind(&retry);
 | 
| -  __ ldxr(R2, R3);
 | 
| +  __ ldxr(R2, R3, kWord);
 | 
|    __ orri(R2, R2, Immediate(1 << RawObject::kRememberedBit));
 | 
| -  __ stxr(R1, R2, R3);
 | 
| +  __ stxr(R1, R2, R3, kWord);
 | 
|    __ cmp(R1, Operand(1));
 | 
|    __ b(&retry, EQ);
 | 
|  
 | 
| @@ -1195,11 +1197,12 @@ void StubCode::GenerateAllocationStubForClass(Assembler* assembler,
 | 
|      // R3: next object start.
 | 
|      // R1: new object type arguments (if is_cls_parameterized).
 | 
|      // Set the tags.
 | 
| -    uword tags = 0;
 | 
| +    uint32_t tags = 0;
 | 
|      tags = RawObject::SizeTag::update(instance_size, tags);
 | 
|      ASSERT(cls.id() != kIllegalCid);
 | 
|      tags = RawObject::ClassIdTag::update(cls.id(), tags);
 | 
|      __ LoadImmediate(R0, tags);
 | 
| +    // 64 bit store also zeros the hash_field.
 | 
|      __ StoreToOffset(R0, R2, Instance::tags_offset());
 | 
|  
 | 
|      // Initialize the remaining words of the object.
 | 
| 
 |