5 #ifndef V8_COMPILER_JS_GRAPH_H_ 6 #define V8_COMPILER_JS_GRAPH_H_ 8 #include "src/compiler/common-operator.h" 9 #include "src/compiler/graph.h" 10 #include "src/compiler/js-operator.h" 11 #include "src/compiler/machine-graph.h" 12 #include "src/compiler/node-properties.h" 13 #include "src/globals.h" 14 #include "src/isolate.h" 20 class SimplifiedOperatorBuilder;
33 javascript_(javascript),
34 simplified_(simplified) {
38 Node* CEntryStubConstant(
int result_size,
39 SaveFPRegsMode save_doubles = kDontSaveFPRegs,
40 ArgvMode argv_mode = kArgvOnStack,
41 bool builtin_exit_frame =
false);
44 Node* PaddingConstant() {
return TheHoleConstant(); }
47 Node* NoContextConstant() {
return ZeroConstant(); }
65 Node* BooleanConstant(
bool is_true) {
66 return is_true ? TrueConstant() : FalseConstant();
69 Node* SmiConstant(int32_t immediate) {
70 DCHECK(Smi::IsValid(immediate));
76 Isolate* isolate()
const {
return isolate_; }
77 Factory* factory()
const {
return isolate()->factory(); }
83 #define CACHED_GLOBAL_LIST(V) \ 84 V(AllocateInNewSpaceStubConstant) \ 85 V(AllocateInOldSpaceStubConstant) \ 86 V(ArrayConstructorStubConstant) \ 87 V(BooleanMapConstant) \ 88 V(ToNumberBuiltinConstant) \ 89 V(EmptyFixedArrayConstant) \ 90 V(EmptyStringConstant) \ 91 V(FixedArrayMapConstant) \ 92 V(PropertyArrayMapConstant) \ 93 V(FixedDoubleArrayMapConstant) \ 94 V(HeapNumberMapConstant) \ 95 V(OptimizedOutConstant) \ 96 V(StaleRegisterConstant) \ 97 V(UndefinedConstant) \ 105 V(MinusOneConstant) \ 106 V(EmptyStateValues) \ 107 V(SingleDeadTypedStateValues) 110 #define DECLARE_GETTER(name) Node* name(); 111 CACHED_GLOBAL_LIST(DECLARE_GETTER)
119 #define CACHED_CENTRY_LIST(V) \ 120 V(CEntryStub1Constant) \ 121 V(CEntryStub2Constant) \ 122 V(CEntryStub3Constant) \ 123 V(CEntryStub1WithBuiltinExitFrameConstant) 126 #define DECLARE_FIELD(name) Node* name##_ = nullptr; 127 CACHED_GLOBAL_LIST(DECLARE_FIELD)
128 CACHED_CENTRY_LIST(DECLARE_FIELD)
132 Node* NumberConstant(
double value);
134 DISALLOW_COPY_AND_ASSIGN(
JSGraph);
141 #endif // V8_COMPILER_JS_GRAPH_H_