| Index: runtime/vm/intermediate_language.h
|
| diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
|
| index 7f01ecc6de5b4576351b10fd7bbc0cb8e3311181..90cbcc439b464c92dac89eacfa559698ccc37cd4 100644
|
| --- a/runtime/vm/intermediate_language.h
|
| +++ b/runtime/vm/intermediate_language.h
|
| @@ -4366,7 +4366,8 @@ class LoadFieldInstr : public TemplateDefinition<1, NoThrow> {
|
| field_(NULL),
|
| token_pos_(token_pos) {
|
| ASSERT(offset_in_bytes >= 0);
|
| - ASSERT(type.IsZoneHandle()); // May be null if field is not an instance.
|
| + // May be null if field is not an instance.
|
| + ASSERT(type.IsZoneHandle() || type.IsReadOnlyHandle());
|
| SetInputAt(0, instance);
|
| }
|
|
|
| @@ -4382,7 +4383,8 @@ class LoadFieldInstr : public TemplateDefinition<1, NoThrow> {
|
| field_(field),
|
| token_pos_(token_pos) {
|
| ASSERT(field->IsZoneHandle());
|
| - ASSERT(type.IsZoneHandle()); // May be null if field is not an instance.
|
| + // May be null if field is not an instance.
|
| + ASSERT(type.IsZoneHandle() || type.IsReadOnlyHandle());
|
| SetInputAt(0, instance);
|
| }
|
|
|
| @@ -4457,7 +4459,7 @@ class InstantiateTypeInstr : public TemplateDefinition<1, Throws> {
|
| token_pos_(token_pos),
|
| type_(type),
|
| instantiator_class_(instantiator_class) {
|
| - ASSERT(type.IsZoneHandle());
|
| + ASSERT(type.IsZoneHandle() || type.IsReadOnlyHandle());
|
| SetInputAt(0, instantiator);
|
| }
|
|
|
|
|