summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/turboshaft/value-numbering-reducer.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/turboshaft/value-numbering-reducer.h')
-rw-r--r--deps/v8/src/compiler/turboshaft/value-numbering-reducer.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/deps/v8/src/compiler/turboshaft/value-numbering-reducer.h b/deps/v8/src/compiler/turboshaft/value-numbering-reducer.h
index c21c8fdec0..f2667f8e80 100644
--- a/deps/v8/src/compiler/turboshaft/value-numbering-reducer.h
+++ b/deps/v8/src/compiler/turboshaft/value-numbering-reducer.h
@@ -71,9 +71,13 @@ namespace turboshaft {
template <class Next>
class ValueNumberingReducer : public Next {
public:
- using Next::Asm;
- ValueNumberingReducer()
- : dominator_path_(Asm().phase_zone()), depths_heads_(Asm().phase_zone()) {
+ TURBOSHAFT_REDUCER_BOILERPLATE()
+
+ template <class... Args>
+ explicit ValueNumberingReducer(const std::tuple<Args...>& args)
+ : Next(args),
+ dominator_path_(Asm().phase_zone()),
+ depths_heads_(Asm().phase_zone()) {
table_ = Asm().phase_zone()->template NewVector<Entry>(
base::bits::RoundUpToPowerOfTwo(
std::max<size_t>(128, Asm().input_graph().op_id_capacity() / 2)),
@@ -94,8 +98,8 @@ class ValueNumberingReducer : public Next {
TURBOSHAFT_OPERATION_LIST(EMIT_OP)
#undef EMIT_OP
- void Bind(Block* block, const Block* origin = nullptr) {
- Next::Bind(block, origin);
+ void Bind(Block* block) {
+ Next::Bind(block);
ResetToBlock(block);
dominator_path_.push_back(block);
depths_heads_.push_back(nullptr);
@@ -157,7 +161,7 @@ class ValueNumberingReducer : public Next {
(!same_block_only ||
entry.block == Asm().current_block()->index()) &&
entry_op.Cast<Op>() == op) {
- Asm().output_graph().RemoveLast();
+ Next::RemoveLast(op_idx);
return entry.value;
}
}