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

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

Issue 1472803004: [turbofan] Simplified splintering code. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 1 month 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/pipeline.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 dc3881de4777a3b46a2e513ddffb804cda8e9830..9032fde224ec8175e1217a71eefa9cdfcf34cb0c 100644
--- a/src/compiler/register-allocator.h
+++ b/src/compiler/register-allocator.h
@@ -194,6 +194,22 @@ class UseInterval final : public ZoneObject {
return start_ <= point && point < end_;
}
+ int FirstInstructionIndex() const {
+ int ret = start_.ToInstructionIndex();
+ if (start_.IsInstructionPosition() && start_.IsEnd()) {
+ ++ret;
+ }
+ return ret;
+ }
+
+ int LastInstructionIndex() const {
+ int ret = end_.ToInstructionIndex();
+ if (end_.IsGapPosition() || end_.IsStart()) {
+ --ret;
+ }
+ return ret;
+ }
+
private:
LifetimePosition start_;
LifetimePosition end_;
@@ -550,7 +566,12 @@ class TopLevelLiveRange final : public LiveRange {
// and instead let the LiveRangeConnector perform the spills within the
// deferred blocks. If so, we insert here spills for non-spilled ranges
// with slot use positions.
- void MarkSpilledInDeferredBlock(const InstructionSequence* code);
+ void MarkSpilledInDeferredBlock() {
+ spill_start_index_ = -1;
+ spilled_in_deferred_blocks_ = true;
+ spill_move_insertion_locations_ = nullptr;
+ }
+
bool TryCommitSpillInDeferredBlock(InstructionSequence* code,
const InstructionOperand& spill_operand);
@@ -771,6 +792,7 @@ class RegisterAllocationData final : public ZoneObject {
}
bool ExistsUseWithoutDefinition();
+ bool RangesDefinedInDeferredStayInDeferred();
void MarkAllocated(RegisterKind kind, int index);
« no previous file with comments | « src/compiler/pipeline.cc ('k') | src/compiler/register-allocator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698