summaryrefslogtreecommitdiffstats
path: root/compiler
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2015-04-17 15:49:51 +0100
committerDavid Brazdil <dbrazdil@google.com>2015-04-17 15:49:51 +0100
commitc08675c3e6502f69ee4d1f62998f658ccd152414 (patch)
tree06a2edd119148674efefbf65fde24d9d5840b03f /compiler
parentdd2cf0c7a5dc7f2c89b8ac217f16b7529461e509 (diff)
downloadart-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.h2
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_);