diff options
author | David Brazdil <dbrazdil@google.com> | 2015-04-17 15:49:51 +0100 |
---|---|---|
committer | David Brazdil <dbrazdil@google.com> | 2015-04-17 15:49:51 +0100 |
commit | c08675c3e6502f69ee4d1f62998f658ccd152414 (patch) | |
tree | 06a2edd119148674efefbf65fde24d9d5840b03f /compiler | |
parent | dd2cf0c7a5dc7f2c89b8ac217f16b7529461e509 (diff) | |
download | art-c08675c3e6502f69ee4d1f62998f658ccd152414.tar.gz art-c08675c3e6502f69ee4d1f62998f658ccd152414.tar.bz2 art-c08675c3e6502f69ee4d1f62998f658ccd152414.zip |
ART: Fix incorrect last range when adding high interval
Adding a high interval clones live ranges but assigns last_range from
the low interval. This should not cause any problems as last_range
is only used for constant-time GetEnd which will return the same
value for both low/high intervals.
Change-Id: Iaf242183436c8ac2f78c0aeea22cd07cd4beacc0
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/optimizing/ssa_liveness_analysis.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/optimizing/ssa_liveness_analysis.h b/compiler/optimizing/ssa_liveness_analysis.h index beb4907bc1..e1370a519c 100644 --- a/compiler/optimizing/ssa_liveness_analysis.h +++ b/compiler/optimizing/ssa_liveness_analysis.h @@ -701,7 +701,7 @@ class LiveInterval : public ArenaObject<kArenaAllocMisc> { high_or_low_interval_->high_or_low_interval_ = this; if (first_range_ != nullptr) { high_or_low_interval_->first_range_ = first_range_->Dup(allocator_); - high_or_low_interval_->last_range_ = first_range_->GetLastRange(); + high_or_low_interval_->last_range_ = high_or_low_interval_->first_range_->GetLastRange(); } if (first_use_ != nullptr) { high_or_low_interval_->first_use_ = first_use_->Dup(allocator_); |