| Index: runtime/vm/compiler.cc
|
| diff --git a/runtime/vm/compiler.cc b/runtime/vm/compiler.cc
|
| index 959dd0fd85b466dc575e7ee546f8e7145f1d403c..22273f1add59bf6f2043ebce65a55348aa53080f 100644
|
| --- a/runtime/vm/compiler.cc
|
| +++ b/runtime/vm/compiler.cc
|
| @@ -712,17 +712,18 @@ static void DisassembleCode(const Function& function, bool optimized) {
|
| OS::Print("DeoptInfo: {\n");
|
| Smi& offset = Smi::Handle();
|
| DeoptInfo& info = DeoptInfo::Handle();
|
| - Smi& reason = Smi::Handle();
|
| + Smi& reason_and_flags = Smi::Handle();
|
| for (intptr_t i = 0; i < deopt_table_length; ++i) {
|
| - DeoptTable::GetEntry(deopt_table, i, &offset, &info, &reason);
|
| - ASSERT((0 <= reason.Value()) &&
|
| - (reason.Value() < ICData::kDeoptNumReasons));
|
| + DeoptTable::GetEntry(deopt_table, i, &offset, &info, &reason_and_flags);
|
| + const intptr_t reason =
|
| + DeoptTable::ReasonField::decode(reason_and_flags.Value());
|
| + ASSERT((0 <= reason) && (reason < ICData::kDeoptNumReasons));
|
| OS::Print("%4" Pd ": 0x%" Px " %s (%s)\n",
|
| i,
|
| start + offset.Value(),
|
| info.ToCString(),
|
| DeoptReasonToCString(
|
| - static_cast<ICData::DeoptReasonId>(reason.Value())));
|
| + static_cast<ICData::DeoptReasonId>(reason)));
|
| }
|
| OS::Print("}\n");
|
| }
|
|
|