Roll V8 back to 3.6
Roll back to V8 3.6 to fix x86 build, we don't have ucontext.h.
This reverts commits:
5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b
c7cc028aaeedbbfa11c11d0b7b243b3d9e837ed9
592a9fc1d8ea420377a2e7efd0600e20b058be2b
Bug: 5688872
Change-Id: Ic961bb5e65b778e98bbfb71cce71d99fa949e995
diff --git a/include/v8-profiler.h b/include/v8-profiler.h
index 2499bbf..f67646f 100644
--- a/include/v8-profiler.h
+++ b/include/v8-profiler.h
@@ -219,9 +219,8 @@
// (e.g. parts of a ConsString).
kHidden = 4, // A link that is needed for proper sizes
// calculation, but may be hidden from user.
- kShortcut = 5, // A link that must not be followed during
+ kShortcut = 5 // A link that must not be followed during
// sizes calculation.
- kWeak = 6 // A weak reference (ignored by the GC).
};
/** Returns edge type (see HeapGraphEdge::Type). */
@@ -255,9 +254,7 @@
kClosure = 5, // Function closure.
kRegExp = 6, // RegExp.
kHeapNumber = 7, // Number stored in the heap.
- kNative = 8, // Native object (not from V8 heap).
- kSynthetic = 9 // Synthetic object, usualy used for grouping
- // snapshot items together.
+ kNative = 8 // Native object (not from V8 heap).
};
/** Returns node type (see HeapGraphNode::Type). */
@@ -284,8 +281,14 @@
* the objects that are reachable only from this object. In other
* words, the size of memory that will be reclaimed having this node
* collected.
+ *
+ * Exact retained size calculation has O(N) (number of nodes)
+ * computational complexity, while approximate has O(1). It is
+ * assumed that initially heap profiling tools provide approximate
+ * sizes for all nodes, and then exact sizes are calculated for the
+ * most 'interesting' nodes.
*/
- int GetRetainedSize() const;
+ int GetRetainedSize(bool exact) const;
/** Returns child nodes count of the node. */
int GetChildrenCount() const;
@@ -430,9 +433,6 @@
* handle.
*/
static const uint16_t kPersistentHandleNoClassId = 0;
-
- /** Returns the number of currently existing persistent handles. */
- static int GetPersistentHandleCount();
};
@@ -475,23 +475,12 @@
virtual intptr_t GetHash() = 0;
/**
- * Returns human-readable label. It must be a null-terminated UTF-8
+ * Returns human-readable label. It must be a NUL-terminated UTF-8
* encoded string. V8 copies its contents during a call to GetLabel.
*/
virtual const char* GetLabel() = 0;
/**
- * Returns human-readable group label. It must be a null-terminated UTF-8
- * encoded string. V8 copies its contents during a call to GetGroupLabel.
- * Heap snapshot generator will collect all the group names, create
- * top level entries with these names and attach the objects to the
- * corresponding top level group objects. There is a default
- * implementation which is required because embedders don't have their
- * own implementation yet.
- */
- virtual const char* GetGroupLabel() { return GetLabel(); }
-
- /**
* Returns element count in case if a global handle retains
* a subgraph by holding one of its nodes.
*/