Lines Matching defs:RegisterInfo

16 class BytecodeRegisterOptimizer::RegisterInfo final : public ZoneObject {
18 RegisterInfo(Register reg, uint32_t equivalence_id, bool materialized,
27 RegisterInfo(const RegisterInfo&) = delete;
28 RegisterInfo& operator=(const RegisterInfo&) = delete;
30 void AddToEquivalenceSetOf(RegisterInfo* info);
34 bool IsInSameEquivalenceSet(RegisterInfo* info) const;
39 RegisterInfo* GetAllocatedEquivalent();
45 RegisterInfo* GetMaterializedEquivalent();
51 RegisterInfo* GetMaterializedEquivalentOtherThan(Register reg);
59 RegisterInfo* GetEquivalentToMaterialize();
65 RegisterInfo* GetEquivalent();
88 RegisterInfo* next_;
89 RegisterInfo* prev_;
92 void BytecodeRegisterOptimizer::RegisterInfo::AddToEquivalenceSetOf(
93 RegisterInfo* info) {
107 void BytecodeRegisterOptimizer::RegisterInfo::MoveToNewEquivalenceSet(
116 bool BytecodeRegisterOptimizer::RegisterInfo::IsOnlyMemberOfEquivalenceSet()
121 bool BytecodeRegisterOptimizer::RegisterInfo::
125 const RegisterInfo* visitor = this->next_;
135 bool BytecodeRegisterOptimizer::RegisterInfo::IsInSameEquivalenceSet(
136 RegisterInfo* info) const {
140 BytecodeRegisterOptimizer::RegisterInfo*
141 BytecodeRegisterOptimizer::RegisterInfo::GetAllocatedEquivalent() {
142 RegisterInfo* visitor = this;
153 BytecodeRegisterOptimizer::RegisterInfo*
154 BytecodeRegisterOptimizer::RegisterInfo::GetMaterializedEquivalent() {
155 RegisterInfo* visitor = this;
166 BytecodeRegisterOptimizer::RegisterInfo*
167 BytecodeRegisterOptimizer::RegisterInfo::GetMaterializedEquivalentOtherThan(
169 RegisterInfo* visitor = this;
180 BytecodeRegisterOptimizer::RegisterInfo*
181 BytecodeRegisterOptimizer::RegisterInfo::GetEquivalentToMaterialize() {
183 RegisterInfo* visitor = this->next_;
184 RegisterInfo* best_info = nullptr;
199 void BytecodeRegisterOptimizer::RegisterInfo::MarkTemporariesAsUnmaterialized(
203 RegisterInfo* visitor = this->next_;
212 BytecodeRegisterOptimizer::RegisterInfo*
213 BytecodeRegisterOptimizer::RegisterInfo::GetEquivalent() {
245 register_info_table_[i] = zone->New<RegisterInfo>(
254 void BytecodeRegisterOptimizer::PushToRegistersNeedingFlush(RegisterInfo* reg) {
262 for (RegisterInfo* reg_info : register_info_table_) {
280 for (RegisterInfo* reg_info : registers_needing_flushed_) {
284 RegisterInfo* materialized = reg_info->materialized()
292 RegisterInfo* equivalent;
314 RegisterInfo* input_info, RegisterInfo* output_info) {
333 RegisterInfo* info) {
335 RegisterInfo* unmaterialized = info->GetEquivalentToMaterialize();
341 BytecodeRegisterOptimizer::RegisterInfo*
342 BytecodeRegisterOptimizer::GetMaterializedEquivalent(RegisterInfo* info) {
346 BytecodeRegisterOptimizer::RegisterInfo*
348 RegisterInfo* info) {
353 RegisterInfo* result = info->GetMaterializedEquivalentOtherThan(accumulator_);
362 void BytecodeRegisterOptimizer::Materialize(RegisterInfo* info) {
364 RegisterInfo* materialized = info->GetMaterializedEquivalent();
371 RegisterInfo* set_member, RegisterInfo* non_set_member) {
380 void BytecodeRegisterOptimizer::RegisterTransfer(RegisterInfo* input_info,
381 RegisterInfo* output_info) {
405 RegisterInfo* materialized_info = input_info->GetMaterializedEquivalent();
418 RegisterInfo* reg_info = GetRegisterInfo(reg);
437 RegisterInfo* reg_info = GetRegisterInfo(reg);
441 RegisterInfo* equivalent_info =
457 RegisterInfo* input_info = GetRegisterInfo(current);
473 zone()->New<RegisterInfo>(RegisterFromRegisterInfoTableIndex(i),
479 void BytecodeRegisterOptimizer::AllocateRegister(RegisterInfo* info) {