2011-03-13 Geoffrey Garen <ggaren@apple.com>
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Mar 2011 01:16:15 +0000 (01:16 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Mar 2011 01:16:15 +0000 (01:16 +0000)
commit9e595586975cde0be17df8f7ed0b17abf09d6511
tree01f5bba42183d24b69e437b2be43541004102b7a
parent0b428e4161c3bd1b8951a2b3dfe93f456c353767
2011-03-13  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Removed another case of DeprecatedPtr (ConservativeSet)
        https://bugs.webkit.org/show_bug.cgi?id=56281

        The ConservativeSet is an internal data structure used during marking,
        so direct pointers are fine.

        * runtime/ConservativeSet.cpp:
        (JSC::ConservativeSet::grow):
        * runtime/ConservativeSet.h: Added some accessors, for use by MarkStack::append.
        (JSC::ConservativeSet::~ConservativeSet): Fixed a typo where we calculated
        the size of the set based on sizeof(DeprecatedPtr<T>*) instead of
        sizeof(DeprecatedPtr<T>). I'm not sure if this had real-world implications or not.
        (JSC::ConservativeSet::size):
        (JSC::ConservativeSet::set): Use direct pointers, as stated above.

        * runtime/Heap.cpp:
        (JSC::Heap::markRoots):
        * runtime/MarkStack.h:
        (JSC::MarkStack::append): Created a special case of append for
        ConservativeSet. I didn't want to add back a generic "append JSCell*"
        function, since other class might start using that wrong. (In the end,
        this function might go away, since the Heap will want to do something
        slightly more interesting with the conservative set, but this is OK for
        now.)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@80985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/ConservativeSet.cpp
Source/JavaScriptCore/runtime/ConservativeSet.h
Source/JavaScriptCore/runtime/Heap.cpp
Source/JavaScriptCore/runtime/MarkStack.h