Lines Matching refs:reference_
34 ReferenceInfo(HInstruction* reference, size_t pos) : reference_(reference), position_(pos) {
37 if (!reference_->IsNewInstance() && !reference_->IsNewArray()) {
46 for (const HUseListNode<HInstruction*>& use : reference_->GetUses()) {
57 (user->IsInstanceFieldSet() && (reference_ == user->InputAt(1))) ||
58 (user->IsUnresolvedInstanceFieldSet() && (reference_ == user->InputAt(1))) ||
59 (user->IsStaticFieldSet() && (reference_ == user->InputAt(1))) ||
60 (user->IsUnresolvedStaticFieldSet() && (reference_ == user->InputAt(0))) ||
61 (user->IsArraySet() && (reference_ == user->InputAt(2)))) {
62 // reference_ is merged to HPhi/HSelect, passed to a callee, or stored to heap.
63 // reference_ isn't the only name that can refer to its value anymore.
68 if ((user->IsUnresolvedInstanceFieldGet() && (reference_ == user->InputAt(0))) ||
69 (user->IsUnresolvedInstanceFieldSet() && (reference_ == user->InputAt(0)))) {
85 return reference_;
92 // Returns true if reference_ is the only name that can refer to its value during
99 // Returns true if reference_ is a singleton and not returned to the caller.
100 // The allocation and stores into reference_ may be eliminated for such cases.
106 HInstruction* const reference_;
109 bool is_singleton_and_not_returned_; // reference_ is singleton and not returned to caller.