| Index: src/compiler/js-native-context-specialization.h
|
| diff --git a/src/compiler/js-native-context-specialization.h b/src/compiler/js-native-context-specialization.h
|
| index e23b0ff2c9eaef9e0e23062a8fb4651ba36a9c0d..45ff87f61973b699c2699a9e6f2e73badabe1b5f 100644
|
| --- a/src/compiler/js-native-context-specialization.h
|
| +++ b/src/compiler/js-native-context-specialization.h
|
| @@ -6,7 +6,6 @@
|
| #define V8_COMPILER_JS_NATIVE_CONTEXT_SPECIALIZATION_H_
|
|
|
| #include "src/base/flags.h"
|
| -#include "src/compiler/access-info.h"
|
| #include "src/compiler/graph-reducer.h"
|
|
|
| namespace v8 {
|
| @@ -22,6 +21,7 @@ class TypeCache;
|
| namespace compiler {
|
|
|
| // Forward declarations.
|
| +enum class AccessMode;
|
| class CommonOperatorBuilder;
|
| class JSGraph;
|
| class JSOperatorBuilder;
|
| @@ -43,7 +43,7 @@ class JSNativeContextSpecialization final : public AdvancedReducer {
|
| typedef base::Flags<Flag> Flags;
|
|
|
| JSNativeContextSpecialization(Editor* editor, JSGraph* jsgraph, Flags flags,
|
| - Handle<Context> native_context,
|
| + MaybeHandle<Context> native_context,
|
| CompilationDependencies* dependencies,
|
| Zone* zone);
|
|
|
| @@ -73,12 +73,17 @@ class JSNativeContextSpecialization final : public AdvancedReducer {
|
|
|
| // Adds stability dependencies on all prototypes of every class in
|
| // {receiver_type} up to (and including) the {holder}.
|
| - void AssumePrototypesStable(Type* receiver_type, Handle<JSObject> holder);
|
| + void AssumePrototypesStable(Type* receiver_type,
|
| + Handle<Context> native_context,
|
| + Handle<JSObject> holder);
|
|
|
| // Assuming that {if_projection} is either IfTrue or IfFalse, adds a hint on
|
| // the dominating Branch that {if_projection} is the unlikely (deferred) case.
|
| void MarkAsDeferred(Node* if_projection);
|
|
|
| + // Retrieve the native context from the given {node} if known.
|
| + MaybeHandle<Context> GetNativeContext(Node* node);
|
| +
|
| Graph* graph() const;
|
| JSGraph* jsgraph() const { return jsgraph_; }
|
| Isolate* isolate() const;
|
| @@ -88,18 +93,16 @@ class JSNativeContextSpecialization final : public AdvancedReducer {
|
| SimplifiedOperatorBuilder* simplified() const;
|
| MachineOperatorBuilder* machine() const;
|
| Flags flags() const { return flags_; }
|
| - Handle<Context> native_context() const { return native_context_; }
|
| + MaybeHandle<Context> native_context() const { return native_context_; }
|
| CompilationDependencies* dependencies() const { return dependencies_; }
|
| Zone* zone() const { return zone_; }
|
| - AccessInfoFactory& access_info_factory() { return access_info_factory_; }
|
|
|
| JSGraph* const jsgraph_;
|
| Flags const flags_;
|
| - Handle<Context> native_context_;
|
| + MaybeHandle<Context> native_context_;
|
| CompilationDependencies* const dependencies_;
|
| Zone* const zone_;
|
| TypeCache const& type_cache_;
|
| - AccessInfoFactory access_info_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(JSNativeContextSpecialization);
|
| };
|
|
|