| Index: runtime/vm/intermediate_language.cc
|
| diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
|
| index 788f57a018e669c70b0662b0f494ca5d53eced87..4f4032fce706c7db24ec99c1057b89e3c0d63174 100644
|
| --- a/runtime/vm/intermediate_language.cc
|
| +++ b/runtime/vm/intermediate_language.cc
|
| @@ -37,6 +37,15 @@ DEFINE_FLAG(bool, unbox_numeric_fields, true,
|
| "Support unboxed double and float32x4 fields.");
|
| DECLARE_FLAG(bool, eliminate_type_checks);
|
|
|
| +
|
| +#if defined(DEBUG)
|
| +void Instruction::CheckField(const Field& field) const {
|
| + ASSERT(field.IsZoneHandle());
|
| + ASSERT(!Compiler::IsBackgroundCompilation() || !field.IsOriginal());
|
| +}
|
| +#endif // DEBUG
|
| +
|
| +
|
| Definition::Definition(intptr_t deopt_id)
|
| : Instruction(deopt_id),
|
| range_(NULL),
|
| @@ -406,7 +415,7 @@ bool LoadStaticFieldInstr::AttributesEqual(Instruction* other) const {
|
|
|
|
|
| const Field& LoadStaticFieldInstr::StaticField() const {
|
| - Field& field = Field::Handle();
|
| + Field& field = Field::ZoneHandle();
|
| field ^= field_value()->BoundConstant().raw();
|
| return field;
|
| }
|
|
|