V8 includes the methods Heap::TracePathToObjectFrom, 
Heap::TracePathToObject and Heap::TracePathToGlobal in debug builds to help 
with debugging with object reachability. Found paths are printed to stdout. 
Maybe these methods can help?

Yang

On Thursday, August 6, 2015 at 6:02:43 PM UTC+2, Mihail Slavchev wrote:
>
> Hi guys,
>
> I work on NativeScript project and my team uses V8 to access Android APIs 
> from JavaScript. In order to orchestrate V8/Dalvik garbage collectors dance 
> I need to know whether a function creates a closure over an object. For 
> example:
>
> var x = {
>     f: function () { }
> }
>
>
> var y = {
>     g: function () {
>         x.f()
>     }
> }
>
>
> In the example about I have weak callbacks (WeakCallbackData<T, 
> P>::Callback) for both x and y object and during GC I need to know whether 
> object x is reachable from object y. My current approach is built around 
> v8::internal::ScopeInfo and v8::internal::Context::Lookup which played well 
> until recently when we start observing app crashes mostly when we try to 
> access the objects which we concluded belong to a closure.
>
> So far my approach is flawed and I am wondering is there a recommended way 
> that I can use during GC so I can detect whether object x is reachable from 
> object y. Any ideas are appreciated.
>
> TIA,
> Mihail
>
>
>

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to