diff options
Diffstat (limited to 'deps/v8/src/compiler/heap-refs.h')
-rw-r--r-- | deps/v8/src/compiler/heap-refs.h | 86 |
1 files changed, 39 insertions, 47 deletions
diff --git a/deps/v8/src/compiler/heap-refs.h b/deps/v8/src/compiler/heap-refs.h index deeaa89c1e3..ef0da29a05c 100644 --- a/deps/v8/src/compiler/heap-refs.h +++ b/deps/v8/src/compiler/heap-refs.h @@ -319,6 +319,7 @@ class V8_EXPORT_PRIVATE JSFunctionRef : public JSObjectRef { bool has_feedback_vector() const; bool has_initial_map() const; bool has_prototype() const; + bool IsOptimized() const; bool PrototypeRequiresRuntimeLookup() const; void Serialize(); @@ -331,6 +332,7 @@ class V8_EXPORT_PRIVATE JSFunctionRef : public JSObjectRef { NativeContextRef native_context() const; SharedFunctionInfoRef shared() const; FeedbackVectorRef feedback_vector() const; + CodeRef code() const; int InitialMapInstanceSizeWithMinSlack() const; }; @@ -383,45 +385,41 @@ class ContextRef : public HeapObjectRef { base::Optional<ScopeInfoRef> scope_info() const; }; -#define BROKER_COMPULSORY_NATIVE_CONTEXT_FIELDS(V) \ - V(JSFunction, array_function) \ - V(JSFunction, boolean_function) \ - V(JSFunction, bigint_function) \ - V(JSFunction, number_function) \ - V(JSFunction, object_function) \ - V(JSFunction, promise_function) \ - V(JSFunction, promise_then) \ - V(JSFunction, regexp_function) \ - V(JSFunction, string_function) \ - V(JSFunction, symbol_function) \ - V(JSGlobalObject, global_object) \ - V(JSGlobalProxy, global_proxy_object) \ - V(JSObject, promise_prototype) \ - V(Map, block_context_map) \ - V(Map, bound_function_with_constructor_map) \ - V(Map, bound_function_without_constructor_map) \ - V(Map, catch_context_map) \ - V(Map, eval_context_map) \ - V(Map, fast_aliased_arguments_map) \ - V(Map, function_context_map) \ - V(Map, initial_array_iterator_map) \ - V(Map, initial_string_iterator_map) \ - V(Map, iterator_result_map) \ - V(Map, js_array_holey_double_elements_map) \ - V(Map, js_array_holey_elements_map) \ - V(Map, js_array_holey_smi_elements_map) \ - V(Map, js_array_packed_double_elements_map) \ - V(Map, js_array_packed_elements_map) \ - V(Map, js_array_packed_smi_elements_map) \ - V(Map, sloppy_arguments_map) \ - V(Map, slow_object_with_null_prototype_map) \ - V(Map, strict_arguments_map) \ - V(Map, with_context_map) \ - V(ScriptContextTable, script_context_table) \ - V(SharedFunctionInfo, promise_capability_default_reject_shared_fun) \ - V(SharedFunctionInfo, promise_catch_finally_shared_fun) \ - V(SharedFunctionInfo, promise_then_finally_shared_fun) \ - V(SharedFunctionInfo, promise_capability_default_resolve_shared_fun) +#define BROKER_COMPULSORY_NATIVE_CONTEXT_FIELDS(V) \ + V(JSFunction, array_function) \ + V(JSFunction, boolean_function) \ + V(JSFunction, bigint_function) \ + V(JSFunction, number_function) \ + V(JSFunction, object_function) \ + V(JSFunction, promise_function) \ + V(JSFunction, promise_then) \ + V(JSFunction, regexp_function) \ + V(JSFunction, string_function) \ + V(JSFunction, symbol_function) \ + V(JSGlobalObject, global_object) \ + V(JSGlobalProxy, global_proxy_object) \ + V(JSObject, promise_prototype) \ + V(Map, block_context_map) \ + V(Map, bound_function_with_constructor_map) \ + V(Map, bound_function_without_constructor_map) \ + V(Map, catch_context_map) \ + V(Map, eval_context_map) \ + V(Map, fast_aliased_arguments_map) \ + V(Map, function_context_map) \ + V(Map, initial_array_iterator_map) \ + V(Map, initial_string_iterator_map) \ + V(Map, iterator_result_map) \ + V(Map, js_array_holey_double_elements_map) \ + V(Map, js_array_holey_elements_map) \ + V(Map, js_array_holey_smi_elements_map) \ + V(Map, js_array_packed_double_elements_map) \ + V(Map, js_array_packed_elements_map) \ + V(Map, js_array_packed_smi_elements_map) \ + V(Map, sloppy_arguments_map) \ + V(Map, slow_object_with_null_prototype_map) \ + V(Map, strict_arguments_map) \ + V(Map, with_context_map) \ + V(ScriptContextTable, script_context_table) // Those are set by Bootstrapper::ExportFromRuntime, which may not yet have // happened when Turbofan is invoked via --always-opt. @@ -470,14 +468,6 @@ class ScriptContextTableRef : public HeapObjectRef { DEFINE_REF_CONSTRUCTOR(ScriptContextTable, HeapObjectRef) Handle<ScriptContextTable> object() const; - - struct LookupResult { - ContextRef context; - bool immutable; - int index; - }; - - base::Optional<LookupResult> lookup(const NameRef& name) const; }; class DescriptorArrayRef : public HeapObjectRef { @@ -920,6 +910,8 @@ class CodeRef : public HeapObjectRef { DEFINE_REF_CONSTRUCTOR(Code, HeapObjectRef) Handle<Code> object() const; + + unsigned inlined_bytecode_size() const; }; class InternalizedStringRef : public StringRef { |