5 #ifndef V8_COMPILER_MACHINE_OPERATOR_REDUCER_H_
6 #define V8_COMPILER_MACHINE_OPERATOR_REDUCER_H_
16 class CommonOperatorBuilder;
22 class MachineOperatorReducer
FINAL :
public Reducer {
35 return Int32Constant(bit_cast<uint32_t>(value));
38 Reduction
ReplaceBool(
bool value) {
return ReplaceInt32(value ? 1 : 0); }
40 return Replace(Float32Constant(value));
43 return Replace(Float64Constant(value));
46 return Replace(Int32Constant(value));
49 return Replace(Int64Constant(value));
56 CommonOperatorBuilder*
common()
const;
Reduction ReplaceBool(bool value)
Reduction ReplaceInt32(int32_t value)
JSGraph * jsgraph() const
Reduction ReplaceFloat64(volatile double value)
MachineOperatorBuilder * machine() const
Reduction ReduceProjection(size_t index, Node *node)
Node * Int64Constant(int64_t value)
~MachineOperatorReducer()
Reduction ReplaceFloat32(volatile float value)
CommonOperatorBuilder * common() const
MachineOperatorReducer(JSGraph *jsgraph)
Node * Float32Constant(volatile float value)
Node * Float64Constant(volatile double value)
virtual Reduction Reduce(Node *node) OVERRIDE
Reduction ReplaceInt64(int64_t value)
Node * Int32Constant(int32_t value)
Node * Uint32Constant(uint32_t value)
Debugger support for the V8 JavaScript engine.