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/access-info.h" | 9 #include "src/compiler/access-info.h" |
10 #include "src/compiler/graph-reducer.h" | 10 #include "src/compiler/graph-reducer.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 Node* index = nullptr); | 80 Node* index = nullptr); |
81 | 81 |
82 struct ScriptContextTableLookupResult; | 82 struct ScriptContextTableLookupResult; |
83 bool LookupInScriptContextTable(Handle<Name> name, | 83 bool LookupInScriptContextTable(Handle<Name> name, |
84 ScriptContextTableLookupResult* result); | 84 ScriptContextTableLookupResult* result); |
85 | 85 |
86 // Adds stability dependencies on all prototypes of every class in | 86 // Adds stability dependencies on all prototypes of every class in |
87 // {receiver_type} up to (and including) the {holder}. | 87 // {receiver_type} up to (and including) the {holder}. |
88 void AssumePrototypesStable(Type* receiver_type, Handle<JSObject> holder); | 88 void AssumePrototypesStable(Type* receiver_type, Handle<JSObject> holder); |
89 | 89 |
| 90 // Assuming that {if_projection} is either IfTrue or IfFalse, adds a hint on |
| 91 // the dominating Branch that {if_projection} is the unlikely (deferred) case. |
| 92 void MarkAsDeferred(Node* if_projection); |
| 93 |
90 Graph* graph() const; | 94 Graph* graph() const; |
91 JSGraph* jsgraph() const { return jsgraph_; } | 95 JSGraph* jsgraph() const { return jsgraph_; } |
92 Isolate* isolate() const; | 96 Isolate* isolate() const; |
93 Factory* factory() const; | 97 Factory* factory() const; |
94 CommonOperatorBuilder* common() const; | 98 CommonOperatorBuilder* common() const; |
95 JSOperatorBuilder* javascript() const; | 99 JSOperatorBuilder* javascript() const; |
96 SimplifiedOperatorBuilder* simplified() const; | 100 SimplifiedOperatorBuilder* simplified() const; |
97 MachineOperatorBuilder* machine() const; | 101 MachineOperatorBuilder* machine() const; |
98 Flags flags() const { return flags_; } | 102 Flags flags() const { return flags_; } |
99 Handle<JSGlobalObject> global_object() const { return global_object_; } | 103 Handle<JSGlobalObject> global_object() const { return global_object_; } |
(...skipping 14 matching lines...) Expand all Loading... |
114 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); | 118 DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization); |
115 }; | 119 }; |
116 | 120 |
117 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) | 121 DEFINE_OPERATORS_FOR_FLAGS(JSNativeContextSpecialization::Flags) |
118 | 122 |
119 } // namespace compiler | 123 } // namespace compiler |
120 } // namespace internal | 124 } // namespace internal |
121 } // namespace v8 | 125 } // namespace v8 |
122 | 126 |
123 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ | 127 #endif // V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_ |
OLD | NEW |