[Webkit-unassigned] [Bug 87701] [Qt] REGRESSION(r118616): It made all tests crash in debug mode

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed May 30 10:17:18 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=87701





--- Comment #6 from Geoffrey Garen <ggaren at apple.com>  2012-05-30 10:17:18 PST ---
(In reply to comment #5)
> Thanks for the long reply.
> 
> Now I am stuck here:
> 
> ../../../../Source/WebCore/bridge/qt/qt_instance.cpp:188: error: no matching function for call to âJSC::SlotVisitor::append(JSC::Weak<JSC::JSObject>*)â
> ../../../../Source/JavaScriptCore/heap/MarkStack.h:212: note: candidates are: void JSC::MarkStack::append(JSC::ConservativeRoots&)
> ../../../../Source/JavaScriptCore/heap/MarkStack.h:412: note:                 void JSC::MarkStack::append(JSC::JSValue*)
> ../../../../Source/JavaScriptCore/heap/MarkStack.h:393: note:                 void JSC::MarkStack::append(JSC::JSValue*, size_t)
> ../../../../Source/JavaScriptCore/heap/MarkStack.h:418: note:                 void JSC::MarkStack::append(JSC::JSCell**)
> 
> SlotVisitor (I think used by GC) needs a JSC::JSCell**, but I only have a Weak<JSC::JSObject>. How can I squeeze the pointer out from it?

Why do you want these pointers to be weak and also marked? The compiler is telling you that's not compatible with the GC's design. If the pointers are strong, the object that owns them can clear / destroy the table when it is destroyed. If they are weak, they should not be marked.

> And I think we can leave with NULL pointers for those items which already have been freed (the number of possible names are fixed). Thus, can I just remove the removeCachedMethod at all?

You can -- but NULL items in the table are a small memory leak. Not sure what your requirements are here.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list