| Index: runtime/vm/intrinsifier_arm.cc
|
| diff --git a/runtime/vm/intrinsifier_arm.cc b/runtime/vm/intrinsifier_arm.cc
|
| index 2618ef9598a0c8cb89f9ecdd09a434fae5bd2626..7d3421d5489b1751dbdf2a5c8eb015a43325f2e8 100644
|
| --- a/runtime/vm/intrinsifier_arm.cc
|
| +++ b/runtime/vm/intrinsifier_arm.cc
|
| @@ -56,19 +56,18 @@ void Intrinsifier::ObjectArraySetIndexed(Assembler* assembler) {
|
| const intptr_t type_args_field_offset =
|
| ComputeObjectArrayTypeArgumentsOffset();
|
| // Inline simple tests (Smi, null), fallthrough if not positive.
|
| - const int32_t raw_null = reinterpret_cast<intptr_t>(Object::null());
|
| Label checked_ok;
|
| __ ldr(R2, Address(SP, 0 * kWordSize)); // Value.
|
|
|
| // Null value is valid for any type.
|
| - __ CompareImmediate(R2, raw_null);
|
| + __ CompareObject(R2, Object::null_object());
|
| __ b(&checked_ok, EQ);
|
|
|
| __ ldr(R1, Address(SP, 2 * kWordSize)); // Array.
|
| __ ldr(R1, FieldAddress(R1, type_args_field_offset));
|
|
|
| // R1: Type arguments of array.
|
| - __ CompareImmediate(R1, raw_null);
|
| + __ CompareObject(R1, Object::null_object());
|
| __ b(&checked_ok, EQ);
|
|
|
| // Check if it's dynamic.
|
| @@ -179,8 +178,7 @@ void Intrinsifier::GrowableArray_add(Assembler* assembler) {
|
| ASSERT(kSmiTagShift == 1);
|
| __ add(R1, R2, Operand(R1, LSL, 1));
|
| __ StoreIntoObject(R2, FieldAddress(R1, Array::data_offset()), R0);
|
| - const int32_t raw_null = reinterpret_cast<int32_t>(Object::null());
|
| - __ LoadImmediate(R0, raw_null);
|
| + __ LoadObject(R0, Object::null_object());
|
| __ Ret();
|
| __ Bind(&fall_through);
|
| }
|
| @@ -1587,7 +1585,7 @@ void Intrinsifier::ObjectRuntimeType(Assembler* assembler) {
|
| __ LoadClassById(R2, R1);
|
| // R2: class of instance (R0).
|
| __ ldr(R3, FieldAddress(R2, Class::signature_function_offset()));
|
| - __ CompareImmediate(R3, reinterpret_cast<int32_t>(Object::null()));
|
| + __ CompareObject(R3, Object::null_object());
|
| __ b(&fall_through, NE);
|
|
|
| __ ldrh(R3, FieldAddress(R2, Class::num_type_arguments_offset()));
|
| @@ -1595,7 +1593,7 @@ void Intrinsifier::ObjectRuntimeType(Assembler* assembler) {
|
| __ b(&fall_through, NE);
|
|
|
| __ ldr(R0, FieldAddress(R2, Class::canonical_types_offset()));
|
| - __ CompareImmediate(R0, reinterpret_cast<int32_t>(Object::null()));
|
| + __ CompareObject(R0, Object::null_object());
|
| __ b(&fall_through, EQ);
|
| __ Ret();
|
|
|
|
|