I think the exact meaning of 'independent' has shifted a little since
3.24. Here is my understanding of what it does in recent versions of
V8:
1. It avoids the cost of object group handling. We don't use object
groups in node.js but I think chromium does for DOM objects; if one
DOM object in the collection is alive, then logically all are.
Defining an object group lets the garbage collector take a shortcut at
a cost of some processing overhead per individual handle.
2. Independent handles can be reclaimed during minor garbage
collections (scavenges). Dependent handles are only reclaimed during
major collections and thus remain alive longer, which is usually
undesirable; I think they only become eligible for collection once the
object they point to has been promoted from the new space (the
nursery) to the old space.