Index: src/compiler/register-allocator.h |
diff --git a/src/compiler/register-allocator.h b/src/compiler/register-allocator.h |
index 443232abb18f13e929b0aa2a4c7ba5def79285b2..b284fbb5de905fd73bc3096ad959d95296db16c7 100644 |
--- a/src/compiler/register-allocator.h |
+++ b/src/compiler/register-allocator.h |
@@ -594,6 +594,14 @@ class TopLevelLiveRange final : public LiveRange { |
splinter->SetSplinteredFrom(this); |
} |
+ void MarkElidableDef(MoveOperands* move) { |
Jarin
2015/11/12 12:08:33
elidable -> elidible (here and elsewhere)
|
+ DCHECK_NULL(elidable_def_); |
+ elidable_def_ = move; |
+ } |
+ |
+ MoveOperands* elidable_def() const { return elidable_def_; } |
+ bool IsReferenceAccountedByCaller() const { return elidable_def_ != nullptr; } |
+ |
private: |
void SetSplinteredFrom(TopLevelLiveRange* splinter_parent); |
@@ -618,6 +626,7 @@ class TopLevelLiveRange final : public LiveRange { |
LiveRange* last_child_; |
UsePosition* last_pos_; |
TopLevelLiveRange* splinter_; |
+ MoveOperands* elidable_def_; |
DISALLOW_COPY_AND_ASSIGN(TopLevelLiveRange); |
}; |