Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Unified Diff: include/v8.h

Issue 14175005: New GC related APIs: Implicit references. (Closed) Base URL: git://github.com/v8/v8.git@master
Patch Set: Code review (mstarzinger) + test update Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/v8.h
diff --git a/include/v8.h b/include/v8.h
index 38312e9b1fffbe1fd1171122cd5a87789c3cd905..b40a4bf92dd66ae5f072fc7fe9e2eaafd83eded4 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -3555,17 +3555,39 @@ class V8EXPORT V8 {
RetainedObjectInfo* info);
/**
+ * Sets a representative object to a group. Used in conjunction with implicit
+ * references: If you're going to use AddImplicitReference with the group, you
+ * need to set a representative object too.
+ */
+ static void SetObjectGroupRepresentative(Isolate* isolate,
+ UniqueId id,
+ const Persistent<Object>& object);
+
+ /**
* Allows the host application to declare implicit references between
* the objects: if |parent| is alive, all |children| are alive too.
* After each garbage collection, all implicit references
* are removed. It is intended to be used in the before-garbage-collection
* callback function.
*/
+ // TODO(marja): Deprecate AddImplicitReferences. Use
+ // SetObjectGroupRepresentativeObject and AddImplicitReference instead.
static void AddImplicitReferences(Persistent<Object> parent,
Persistent<Value>* children,
size_t length);
/**
+ * Allows the host application to declare implicit references. If the
+ * representative object of the object group (identified by id) is alive, the
+ * children are alive too. After each garbage collection, all implicit
+ * references are removed. It is intended to be used in the
+ * before-garbage-collection callback function.
+ */
+ static void AddImplicitReference(Isolate* isolate,
+ UniqueId id,
+ const Persistent<Value>& object);
+
+ /**
* Initializes from snapshot if possible. Otherwise, attempts to
* initialize from scratch. This function is called implicitly if
* you use the API without calling it first.
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698