Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Unified Diff: src/compiler/register-allocator.h

Issue 1564583002: [turbofan] Splinter when range ends at hot block start (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/live-range-separator.cc ('k') | src/compiler/register-allocator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/register-allocator.h
diff --git a/src/compiler/register-allocator.h b/src/compiler/register-allocator.h
index 1335e4491cd12c580fdcf7f7c3fc8bf73eeef453..b96a43ccec4431606bee4719bb76383088db85e4 100644
--- a/src/compiler/register-allocator.h
+++ b/src/compiler/register-allocator.h
@@ -196,17 +196,19 @@ class UseInterval final : public ZoneObject {
return start_ <= point && point < end_;
}
- int FirstInstructionIndex() const {
+ // Returns the index of the first gap covered by this interval.
+ int FirstGapIndex() const {
int ret = start_.ToInstructionIndex();
- if (start_.IsInstructionPosition() && start_.IsEnd()) {
+ if (start_.IsInstructionPosition()) {
++ret;
}
return ret;
}
- int LastInstructionIndex() const {
+ // Returns the index of the last gap covered by this interval.
+ int LastGapIndex() const {
int ret = end_.ToInstructionIndex();
- if (end_.IsGapPosition() || end_.IsStart()) {
+ if (end_.IsGapPosition() && end_.IsStart()) {
--ret;
}
return ret;
@@ -1150,10 +1152,10 @@ class LiveRangeConnector final : public ZoneObject {
bool CanEagerlyResolveControlFlow(const InstructionBlock* block) const;
- void ResolveControlFlow(const InstructionBlock* block,
- const InstructionOperand& cur_op,
- const InstructionBlock* pred,
- const InstructionOperand& pred_op);
+ int ResolveControlFlow(const InstructionBlock* block,
+ const InstructionOperand& cur_op,
+ const InstructionBlock* pred,
+ const InstructionOperand& pred_op);
RegisterAllocationData* const data_;
« no previous file with comments | « src/compiler/live-range-separator.cc ('k') | src/compiler/register-allocator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698