2011-06-09 Geoffrey Garen <ggaren@apple.com>
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Jun 2011 04:38:23 +0000 (04:38 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Jun 2011 04:38:23 +0000 (04:38 +0000)
commit002c4fb591bbf63a149d82473b304363b90223dd
tree137eca235d56f7d44bc91cbe9fb75a228aeaf2b1
parentec046166a601f70242305e9985c2269d36afe145
2011-06-09  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Added OldSpace to the project
        https://bugs.webkit.org/show_bug.cgi?id=62417

        Currently unused.

        Added OldSpace, the ability to iterate NewSpace vs OldSpace, and a
        per-block flag for testing whether you're in NewSpace vs OldSpace.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * JavaScriptCore.gypi:
        * JavaScriptCore.pro:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj: Build!

        * heap/MarkedBlock.cpp:
        (JSC::MarkedBlock::MarkedBlock):
        * heap/MarkedBlock.h:
        (JSC::MarkedBlock::inNewSpace):
        (JSC::MarkedBlock::setInNewSpace): Added inNewSpace flag, for use in
        write barrier.

        * heap/NewSpace.cpp:
        (JSC::NewSpace::addBlock):
        (JSC::NewSpace::removeBlock):
        * heap/NewSpace.h:
        (JSC::NewSpace::forEachBlock): Added forEachBlock, to use for
        NewSpace-specific operations.

        * heap/OldSpace.cpp: Added.
        (JSC::OldSpace::OldSpace):
        (JSC::OldSpace::addBlock):
        (JSC::OldSpace::removeBlock):
        * heap/OldSpace.h: Added.
        (JSC::OldSpace::forEachBlock): New class for holding promoted blocks.
        Not in use yet.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@88519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/GNUmakefile.list.am
Source/JavaScriptCore/JavaScriptCore.gypi
Source/JavaScriptCore/JavaScriptCore.pro
Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Source/JavaScriptCore/heap/MarkedBlock.cpp
Source/JavaScriptCore/heap/MarkedBlock.h
Source/JavaScriptCore/heap/NewSpace.cpp
Source/JavaScriptCore/heap/NewSpace.h
Source/JavaScriptCore/heap/OldSpace.cpp [new file with mode: 0644]
Source/JavaScriptCore/heap/OldSpace.h [new file with mode: 0644]