Index: runtime/vm/intermediate_language_x64.cc |
=================================================================== |
--- runtime/vm/intermediate_language_x64.cc (revision 31220) |
+++ runtime/vm/intermediate_language_x64.cc (working copy) |
@@ -1585,6 +1585,9 @@ |
__ cmpq(FieldAddress(temp, Field::is_nullable_offset()), |
Immediate(kNullCid)); |
__ j(EQUAL, &store_pointer); |
+ __ movzxb(temp2, FieldAddress(temp, Field::kind_bits_offset())); |
+ __ testq(temp2, Immediate(1 << Field::kUnboxingCandidateBit)); |
+ __ j(ZERO, &store_pointer); |
__ movq(temp, FieldAddress(instance_reg, field().Offset())); |
__ CompareObject(temp, Object::null_object(), PP); |