diff options
Diffstat (limited to 'compiler/optimizing/intrinsics_utils.h')
-rw-r--r-- | compiler/optimizing/intrinsics_utils.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/optimizing/intrinsics_utils.h b/compiler/optimizing/intrinsics_utils.h index 8c9dd14b19..b4ef5ddde3 100644 --- a/compiler/optimizing/intrinsics_utils.h +++ b/compiler/optimizing/intrinsics_utils.h @@ -78,6 +78,11 @@ class IntrinsicSlowPath : public TSlowPathCode { Location out = invoke_->GetLocations()->Out(); if (out.IsValid()) { DCHECK(out.IsRegisterKind()); // TODO: Replace this when we support output in memory. + // We want to double-check that we don't overwrite a live register with the return + // value. + // Note: For the possible kNoOutputOverlap case we can't simply remove the OUT register + // from the GetLiveRegisters() - theoretically it might be needed after the return from + // the slow path. DCHECK(!invoke_->GetLocations()->GetLiveRegisters()->OverlapsRegisters(out)); codegen->MoveFromReturnRegister(out, invoke_->GetType()); } |