OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ | 5 #ifndef V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ |
6 #define V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ | 6 #define V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/compiler/graph-reducer.h" | 9 #include "src/compiler/graph-reducer.h" |
10 #include "src/compiler/simplified-operator.h" | 10 #include "src/compiler/simplified-operator.h" |
(...skipping 30 matching lines...) Expand all Loading... |
41 typedef base::Flags<Flag> Flags; | 41 typedef base::Flags<Flag> Flags; |
42 | 42 |
43 JSNativeContextSpecialization(Editor* editor, JSGraph* jsgraph, Flags flags, | 43 JSNativeContextSpecialization(Editor* editor, JSGraph* jsgraph, Flags flags, |
44 Handle<GlobalObject> global_object, | 44 Handle<GlobalObject> global_object, |
45 CompilationDependencies* dependencies, | 45 CompilationDependencies* dependencies, |
46 Zone* zone); | 46 Zone* zone); |
47 | 47 |
48 Reduction Reduce(Node* node) final; | 48 Reduction Reduce(Node* node) final; |
49 | 49 |
50 private: | 50 private: |
| 51 Reduction ReduceJSCallFunction(Node* node); |
51 Reduction ReduceJSLoadGlobal(Node* node); | 52 Reduction ReduceJSLoadGlobal(Node* node); |
52 Reduction ReduceJSStoreGlobal(Node* node); | 53 Reduction ReduceJSStoreGlobal(Node* node); |
53 Reduction ReduceJSLoadNamed(Node* node); | 54 Reduction ReduceJSLoadNamed(Node* node); |
54 Reduction ReduceJSStoreNamed(Node* node); | 55 Reduction ReduceJSStoreNamed(Node* node); |
55 | 56 |
56 Reduction Replace(Node* node, Node* value, Node* effect = nullptr, | 57 Reduction Replace(Node* node, Node* value, Node* effect = nullptr, |
57 Node* control = nullptr) { | 58 Node* control = nullptr) { |
58 ReplaceWithValue(node, value, effect, control); | 59 ReplaceWithValue(node, value, effect, control); |
59 return Changed(value); | 60 return Changed(value); |
60 } | 61 } |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); | 108 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); |
108 }; | 109 }; |
109 | 110 |
110 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) | 111 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) |
111 | 112 |
112 } // namespace compiler | 113 } // namespace compiler |
113 } // namespace internal | 114 } // namespace internal |
114 } // namespace v8 | 115 } // namespace v8 |
115 | 116 |
116 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ | 117 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ |
OLD | NEW |