diff options
Diffstat (limited to 'deps/v8/src/compiler/turboshaft/value-numbering-reducer.h')
-rw-r--r-- | deps/v8/src/compiler/turboshaft/value-numbering-reducer.h | 16 |
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; } } |