Chromium Code Reviews| 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); |
| }; |