aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/js-heap-broker.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2019-11-08 15:39:11 +0100
committerMichaël Zasso <targos@protonmail.com>2019-11-08 15:46:25 +0100
commit6ca81ad72a3c6fdf16c683335be748f22aaa9a0d (patch)
tree33c8ee75f729aed76c2c0b89c63f9bf1b4dd66aa /deps/v8/src/compiler/js-heap-broker.h
parent1eee0b8bf8bba39b600fb16a9223e545e3bac2bc (diff)
downloadandroid-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.tar.gz
android-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.tar.bz2
android-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.zip
deps: update V8 to 7.9.317.20
PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'deps/v8/src/compiler/js-heap-broker.h')
-rw-r--r--deps/v8/src/compiler/js-heap-broker.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/deps/v8/src/compiler/js-heap-broker.h b/deps/v8/src/compiler/js-heap-broker.h
index 8c2622bf48..c9667a2fed 100644
--- a/deps/v8/src/compiler/js-heap-broker.h
+++ b/deps/v8/src/compiler/js-heap-broker.h
@@ -34,6 +34,12 @@ std::ostream& operator<<(std::ostream& os, const ObjectRef& ref);
broker->Trace() << x << '\n'; \
} while (false)
+#define TRACE_BROKER_MEMORY(broker, x) \
+ do { \
+ if (broker->tracing_enabled() && FLAG_trace_heap_broker_memory) \
+ broker->Trace() << x << std::endl; \
+ } while (false)
+
#define TRACE_BROKER_MISSING(broker, x) \
do { \
if (broker->tracing_enabled()) \
@@ -86,6 +92,10 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
void Retire();
bool SerializingAllowed() const;
+#ifdef DEBUG
+ void PrintRefsAnalysis() const;
+#endif // DEBUG
+
// Returns nullptr iff handle unknown.
ObjectData* GetData(Handle<Object>) const;
// Never returns nullptr.
@@ -125,6 +135,12 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
FeedbackSource const& source);
ProcessedFeedback const& GetFeedbackForInstanceOf(
FeedbackSource const& source);
+ ProcessedFeedback const& GetFeedbackForArrayOrObjectLiteral(
+ FeedbackSource const& source);
+ ProcessedFeedback const& GetFeedbackForRegExpLiteral(
+ FeedbackSource const& source);
+ ProcessedFeedback const& GetFeedbackForTemplateObject(
+ FeedbackSource const& source);
ProcessedFeedback const& GetFeedbackForPropertyAccess(
FeedbackSource const& source, AccessMode mode,
base::Optional<NameRef> static_name);
@@ -143,6 +159,12 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
ProcessedFeedback const& ProcessFeedbackForPropertyAccess(
FeedbackSource const& source, AccessMode mode,
base::Optional<NameRef> static_name);
+ ProcessedFeedback const& ProcessFeedbackForArrayOrObjectLiteral(
+ FeedbackSource const& source);
+ ProcessedFeedback const& ProcessFeedbackForRegExpLiteral(
+ FeedbackSource const& source);
+ ProcessedFeedback const& ProcessFeedbackForTemplateObject(
+ FeedbackSource const& source);
bool FeedbackIsInsufficient(FeedbackSource const& source) const;
@@ -157,7 +179,7 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
StringRef GetTypedArrayStringTag(ElementsKind kind);
- std::ostream& Trace();
+ std::ostream& Trace() const;
void IncrementTracingIndentation();
void DecrementTracingIndentation();
@@ -182,6 +204,12 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
ProcessedFeedback const& ReadFeedbackForPropertyAccess(
FeedbackSource const& source, AccessMode mode,
base::Optional<NameRef> static_name);
+ ProcessedFeedback const& ReadFeedbackForArrayOrObjectLiteral(
+ FeedbackSource const& source);
+ ProcessedFeedback const& ReadFeedbackForRegExpLiteral(
+ FeedbackSource const& source);
+ ProcessedFeedback const& ReadFeedbackForTemplateObject(
+ FeedbackSource const& source);
void InitializeRefsMap();
void CollectArrayAndObjectPrototypes();
@@ -199,7 +227,7 @@ class V8_EXPORT_PRIVATE JSHeapBroker {
array_and_object_prototypes_;
BrokerMode mode_ = kDisabled;
bool const tracing_enabled_;
- StdoutStream trace_out_;
+ mutable StdoutStream trace_out_;
unsigned trace_indentation_ = 0;
PerIsolateCompilerCache* compiler_cache_ = nullptr;
ZoneUnorderedMap<FeedbackSource, ProcessedFeedback const*,