Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Side by Side Diff: src/interpreter/bytecode-register-optimizer.cc

Issue 2030583002: [Interpreter] Don't try to eliminate dead-code in bytecode-array-builder (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix Test Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/interpreter/bytecode-register-optimizer.h" 5 #include "src/interpreter/bytecode-register-optimizer.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 namespace interpreter { 9 namespace interpreter {
10 10
11 const uint32_t BytecodeRegisterOptimizer::kInvalidEquivalenceId;
12
11 // A class for tracking the state of a register. This class tracks 13 // A class for tracking the state of a register. This class tracks
12 // which equivalence set a register is a member of and also whether a 14 // which equivalence set a register is a member of and also whether a
13 // register is materialized in the bytecode stream. 15 // register is materialized in the bytecode stream.
14 class BytecodeRegisterOptimizer::RegisterInfo final : public ZoneObject { 16 class BytecodeRegisterOptimizer::RegisterInfo final : public ZoneObject {
15 public: 17 public:
16 RegisterInfo(Register reg, uint32_t equivalence_id, bool materialized) 18 RegisterInfo(Register reg, uint32_t equivalence_id, bool materialized)
17 : register_(reg), 19 : register_(reg),
18 equivalence_id_(equivalence_id), 20 equivalence_id_(equivalence_id),
19 materialized_(materialized), 21 materialized_(materialized),
20 next_(this), 22 next_(this),
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 63
62 // Equivalence set pointers. 64 // Equivalence set pointers.
63 RegisterInfo* next_; 65 RegisterInfo* next_;
64 RegisterInfo* prev_; 66 RegisterInfo* prev_;
65 67
66 DISALLOW_COPY_AND_ASSIGN(RegisterInfo); 68 DISALLOW_COPY_AND_ASSIGN(RegisterInfo);
67 }; 69 };
68 70
69 void BytecodeRegisterOptimizer::RegisterInfo::AddToEquivalenceSetOf( 71 void BytecodeRegisterOptimizer::RegisterInfo::AddToEquivalenceSetOf(
70 RegisterInfo* info) { 72 RegisterInfo* info) {
73 DCHECK_NE(kInvalidEquivalenceId, info->equivalence_id());
71 // Fix old list 74 // Fix old list
72 next_->prev_ = prev_; 75 next_->prev_ = prev_;
73 prev_->next_ = next_; 76 prev_->next_ = next_;
74 // Add to new list. 77 // Add to new list.
75 next_ = info->next_; 78 next_ = info->next_;
76 prev_ = info; 79 prev_ = info;
77 prev_->next_ = this; 80 prev_->next_ = this;
78 next_->prev_ = this; 81 next_->prev_ = this;
79 set_equivalence_id(info->equivalence_id()); 82 set_equivalence_id(info->equivalence_id());
80 set_materialized(false); 83 set_materialized(false);
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 if (info->materialized()) { 597 if (info->materialized()) {
595 CreateMaterializedEquivalent(info); 598 CreateMaterializedEquivalent(info);
596 } 599 }
597 info->MoveToNewEquivalenceSet(kInvalidEquivalenceId, false); 600 info->MoveToNewEquivalenceSet(kInvalidEquivalenceId, false);
598 } 601 }
599 } 602 }
600 603
601 } // namespace interpreter 604 } // namespace interpreter
602 } // namespace internal 605 } // namespace internal
603 } // namespace v8 606 } // namespace v8
OLDNEW
« no previous file with comments | « src/interpreter/bytecode-register-optimizer.h ('k') | test/cctest/interpreter/bytecode_expectations/ContextVariables.golden » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698