diff options
Diffstat (limited to 'compiler/dex/quick/ralloc_util.cc')
-rw-r--r-- | compiler/dex/quick/ralloc_util.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/dex/quick/ralloc_util.cc b/compiler/dex/quick/ralloc_util.cc index 60eebe4a25..81dabd448e 100644 --- a/compiler/dex/quick/ralloc_util.cc +++ b/compiler/dex/quick/ralloc_util.cc @@ -359,7 +359,13 @@ RegStorage Mir2Lir::AllocTempBody(GrowableArray<RegisterInfo*> ®s, int* next_ * NOTE: "wideness" is an attribute of how the container is used, not its physical size. * The caller will set wideness as appropriate. */ - info->SetIsWide(false); + if (info->IsWide()) { + RegisterInfo* partner = GetRegInfo(info->Partner()); + DCHECK_EQ(info->GetReg().GetRegNum(), partner->Partner().GetRegNum()); + DCHECK(partner->IsWide()); + info->SetIsWide(false); + partner->SetIsWide(false); + } *next_temp = next + 1; return info->GetReg(); } |