Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/heap-refs.h')
-rw-r--r--deps/v8/src/compiler/heap-refs.h86
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 {