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 | 10 |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 Node* index = nullptr); | 78 Node* index = nullptr); |
79 | 79 |
80 Reduction ReduceSoftDeoptimize(Node* node); | 80 Reduction ReduceSoftDeoptimize(Node* node); |
81 | 81 |
82 // Adds stability dependencies on all prototypes of every class in | 82 // Adds stability dependencies on all prototypes of every class in |
83 // {receiver_type} up to (and including) the {holder}. | 83 // {receiver_type} up to (and including) the {holder}. |
84 void AssumePrototypesStable(Type* receiver_type, | 84 void AssumePrototypesStable(Type* receiver_type, |
85 Handle<Context> native_context, | 85 Handle<Context> native_context, |
86 Handle<JSObject> holder); | 86 Handle<JSObject> holder); |
87 | 87 |
88 // Assuming that {if_projection} is either IfTrue or IfFalse, adds a hint on | |
89 // the dominating Branch that {if_projection} is the unlikely (deferred) case. | |
90 void MarkAsDeferred(Node* if_projection); | |
91 | |
92 // Retrieve the native context from the given {node} if known. | 88 // Retrieve the native context from the given {node} if known. |
93 MaybeHandle<Context> GetNativeContext(Node* node); | 89 MaybeHandle<Context> GetNativeContext(Node* node); |
94 | 90 |
95 Graph* graph() const; | 91 Graph* graph() const; |
96 JSGraph* jsgraph() const { return jsgraph_; } | 92 JSGraph* jsgraph() const { return jsgraph_; } |
97 Isolate* isolate() const; | 93 Isolate* isolate() const; |
98 Factory* factory() const; | 94 Factory* factory() const; |
99 CommonOperatorBuilder* common() const; | 95 CommonOperatorBuilder* common() const; |
100 JSOperatorBuilder* javascript() const; | 96 JSOperatorBuilder* javascript() const; |
101 SimplifiedOperatorBuilder* simplified() const; | 97 SimplifiedOperatorBuilder* simplified() const; |
(...skipping 13 matching lines...) Expand all Loading... |
115 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); | 111 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); |
116 }; | 112 }; |
117 | 113 |
118 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) | 114 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) |
119 | 115 |
120 } // namespace compiler | 116 } // namespace compiler |
121 } // namespace internal | 117 } // namespace internal |
122 } // namespace v8 | 118 } // namespace v8 |
123 | 119 |
124 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ | 120 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ |
OLD | NEW |