5#ifndef V8_COMPILER_INT64_LOWERING_H_
6#define V8_COMPILER_INT64_LOWERING_H_
24#if !V8_TARGET_ARCH_32_BIT
38 Int64Lowering(TFGraph* graph, MachineOperatorBuilder* machine,
39 CommonOperatorBuilder* common,
40 SimplifiedOperatorBuilder* simplified_,
Zone* zone,
46 static int GetParameterCountAfterLowering(
49 enum class State : uint8_t { kUnvisited, kOnStack, kVisited };
58 MachineOperatorBuilder* machine()
const {
return machine_; }
59 CommonOperatorBuilder* common()
const {
return common_; }
60 SimplifiedOperatorBuilder*
simplified()
const {
return simplified_; }
61 Signature<MachineRepresentation>* signature()
const {
return signature_; }
63 void PushNode(Node* node);
64 void LowerNode(Node* node);
65 bool DefaultLowering(Node* node,
bool low_word_only =
false);
66 void LowerComparison(Node* node,
const Operator* signed_op,
67 const Operator* unsigned_op);
68 void LowerWord64AtomicBinop(Node* node,
const Operator* op);
69 void LowerWord64AtomicNarrowOp(Node* node,
const Operator* op);
70 void LowerLoadOperator(Node* node, MachineRepresentation rep,
71 const Operator* load_op);
72 void LowerStoreOperator(Node* node, MachineRepresentation rep,
73 const Operator* store_op);
75 const CallDescriptor* LowerCallDescriptor(
76 const CallDescriptor* call_descriptor);
78 void ReplaceNode(Node* old, Node* new_low, Node* new_high);
79 bool HasReplacementLow(Node* node);
80 Node* GetReplacementLow(Node* node);
81 bool HasReplacementHigh(Node* node);
82 Node* GetReplacementHigh(Node* node);
83 void PreparePhiReplacement(Node* phi);
84 void GetIndexNodes(Node* index, Node** index_low, Node** index_high);
85 void ReplaceNodeWithProjections(Node* node);
86 void LowerMemoryBaseAndIndex(Node* node);
94 MachineOperatorBuilder* machine_;
95 CommonOperatorBuilder* common_;
96 SimplifiedOperatorBuilder* simplified_;
98 Signature<MachineRepresentation>* signature_;
100 ZoneDeque<NodeState> stack_;
101 Replacement* replacements_;
SimplifiedOperatorBuilder * simplified
Int64Lowering(TFGraph *graph, MachineOperatorBuilder *machine, CommonOperatorBuilder *common, SimplifiedOperatorBuilder *simplified_, Zone *zone, Signature< MachineRepresentation > *signature)
enum v8::internal::@1270::DeoptimizableCodeIterator::@67 state_
#define V8_EXPORT_PRIVATE