• tkent@chromium.org's avatar
    Oilpan: GC_TRACING: Improve object path dump · 49f003e1
    tkent@chromium.org authored
    We frequently saw object path dump like:
    
        Path to 1d6ec5d8 of WebCore::Node
        <- 7abc4660 of Persistent
    
    Then, we needed to investigate what this Persistent is. It took much time.
    
    This CL introduces 'tracing name' property to Persistent if
    ENABLE(GC_TRACING). The property is automatically filled with
    backtrace of a Persistent constructor. We'll get dump like:
    
        Path to 1bd56220 of WebCore::Node
        <- 1bd55ff8 of WebCore::Node
        <- 1bd55dc8 of WebCore::Node
        <- 7d046600 of Persistent ... Backtrace:
                Persistent<HTMLSelectElement, ThreadLocalPersistents<(ThreadAffinity)1> >::Persistent(HTMLSelectElement*)
                v8::Handle<v8::Object> V8DOMWrapper::associateObjectWithWrapper<V8HTMLSelectElement, HTMLSelectElement>(HTMLSelectElement*, WrapperTypeInfo const*, v8::Handle<v8::Object>, v8::Isolate*, WrapperConfiguration::Lifetime)
                v8::Handle<v8::Object> V8DOMWrapper::associateObjectWithWrapper<V8HTMLSelectElement, HTMLSelectElement>(WTF::RawPtr<HTMLSelectElement>, WrapperTypeInfo const*, v8::Handle<v8::Object>, v8::Isolate*, WrapperConfiguration::Lifetime)
                V8HTMLSelectElement::createWrapper(WTF::RawPtr<HTMLSelectElement>, v8::Handle<v8::Object>, v8::Isolate*)
    
    Additional improvement of the object path dump:
    * Correct host info name for heap collections
    * Don't try to dump unknown objects.
    
    BUG=
    
    Review URL: https://codereview.chromium.org/337653002
    
    git-svn-id: svn://svn.chromium.org/blink/trunk@176185 bbb929c8-8fbe-4397-9dbb-9b2b20218538
    49f003e1
Assertions.cpp 12.1 KB