在 V8 中,未分配的 `Escape`d 句柄会立即成为垃圾收集的目标吗?

In V8, would a non-assigned `Escape`d handle be a target of garbage collection immediately?

有两个函数:一个叫做 make_a_handle Escape 是一个带有 EscapableHandleScope 的句柄,另一个叫做 do_something 有它自己的 HandleScope。假设 do_something 函数调用 make_a_handle,并且从不分配或使用 Escaped 句柄; Escaped 句柄会成为垃圾收集的目标立即,还是live直到do_something' s HandleScope?

后者。 EscapableHandleScopeEscape 函数在内部使用 "escape slot",它本质上是外部 HandleScope.

中的句柄

为清楚起见,我还想指出,当 HandleScope 被析构时,其句柄引用的对象(假设这是对它们的最后引用)不会立即被释放;它们只会有资格进行垃圾回收,这意味着它们将在下一个垃圾回收周期中被释放。