Lines Matching defs:HEnvironment

47 class HEnvironment;
1375 // This class is used by HEnvironment and HInstruction classes to record the
1645 // A HEnvironment object contains the values of virtual registers at a given location.
1646 class HEnvironment : public ArenaObject<kArenaAllocEnvironment> {
1648 HEnvironment(ArenaAllocator* arena,
1665 HEnvironment(ArenaAllocator* arena, const HEnvironment& to_copy, HInstruction* holder)
1666 : HEnvironment(arena,
1674 void SetAndCopyParentChain(ArenaAllocator* allocator, HEnvironment* parent) {
1678 parent_ = new (allocator) HEnvironment(allocator, *parent, holder_);
1687 void CopyFrom(HEnvironment* environment);
1692 void CopyFromWithLoopPhiAdjustment(HEnvironment* env, HBasicBlock* loop_header);
1695 vregs_[index] = HUserRecord<HEnvironment*>(instruction);
1706 HEnvironment* GetParent() const { return parent_; }
1742 ArenaVector<HUserRecord<HEnvironment*>> vregs_;
1744 HEnvironment* parent_;
1755 DISALLOW_COPY_AND_ASSIGN(HEnvironment);
1858 void AddEnvUseAt(HEnvironment* user, size_t index) {
1862 HUseListNode<HEnvironment*>* new_node =
1863 new (GetBlock()->GetGraph()->GetArena()) HUseListNode<HEnvironment*>(user, index);
1876 const HUseList<HEnvironment*>& GetEnvUses() const { return env_uses_; }
1898 HEnvironment* GetEnvironment() const { return environment_; }
1901 void SetRawEnvironment(HEnvironment* environment) {
1911 void CopyEnvironmentFrom(HEnvironment* environment) {
1914 environment_ = new (allocator) HEnvironment(allocator, *environment, this);
1921 void CopyEnvironmentFromWithLoopPhiAdjustment(HEnvironment* environment,
1925 environment_ = new (allocator) HEnvironment(allocator, *environment, this);
2104 void FixUpUserRecordsAfterEnvUseInsertion(HUseList<HEnvironment*>::iterator env_fixup_end) {
2107 HEnvironment* user = env_use_node->GetUser();
2109 user->vregs_[input_index] = HUserRecord<HEnvironment*>(this, before_env_use_node);
2114 void FixUpUserRecordsAfterEnvUseRemoval(HUseList<HEnvironment*>::iterator before_env_use_node) {
2115 auto next = ++HUseList<HEnvironment*>::iterator(before_env_use_node);
2117 HEnvironment* next_user = next->GetUser();
2120 next_user->vregs_[next_index] = HUserRecord<HEnvironment*>(this, before_env_use_node);
2144 HUseList<HEnvironment*> env_uses_;
2148 HEnvironment* environment_;
2169 friend class HEnvironment;