[webkit-reviews] review denied: [Bug 61134] Make Executables release their JIT code as soon as they become dead : [Attachment 94099] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 19 12:41:00 PDT 2011


Geoffrey Garen <ggaren at apple.com> has denied Oliver Hunt <oliver at apple.com>'s
request for review:
Bug 61134: Make Executables release their JIT code as soon as they become dead
https://bugs.webkit.org/show_bug.cgi?id=61134

Attachment 94099: Patch
https://bugs.webkit.org/attachment.cgi?id=94099&action=review

------- Additional Comments from Geoffrey Garen <ggaren at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=94099&action=review

r- because I think you're missing an implementation of executableFinalizer().

> Source/JavaScriptCore/runtime/Executable.cpp:58
> +WeakHandleOwner* ExecutableBase::executableFinalizer()
> +{
> +    return 0;
> +}

This seems wrong. Who actually provides the executable finalizer?

> Source/JavaScriptCore/runtime/Executable.h:65
> +#if ENABLE(JIT)
> +	       HandleSlot slot = globalData.heap.allocateGlobalHandle();
> +	       HandleHeap* handleHeap = HandleHeap::heapFor(slot);
> +	       handleHeap->makeWeak(slot, executableFinalizer());
> +	       handleHeap->writeBarrier(slot, this);
> +	       *slot = this;

It's a shame that clients have to duplicate all this error-prone code. The
Weak<T> class was an attempt to reduce error-prone duplication. I think it
could be adapted to this purpose if you added leak() and adopt() features to
Weak<T>.


More information about the webkit-reviews mailing list