Reviewed by Darin.
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Apr 2004 22:40:31 +0000 (22:40 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 23 Apr 2004 22:40:31 +0000 (22:40 +0000)
commit33f9ade3b7a97ce42b61aa16a9f22a76b28fb52d
treeb2fed05dfb55e881f3beb1c56c25db1c7c05c478
parentabab42229ea4f03d0f4256cc1e24f6447ad1e8f9
    Reviewed by Darin.

Implementation of conservative GC, based partly on code from
Darin. It's turned off for now, so it shouldn't have any effect on
the normal build.

        * JavaScriptCore.pbproj/project.pbxproj:
        * kjs/collector.cpp:
        (KJS::Collector::markStackObjectsConservatively):
        (KJS::Collector::markProtectedObjects):
        (KJS::Collector::collect):
        * kjs/collector.h:
        * kjs/protect.h:
        (KJS::gcProtect):
        (KJS::gcUnprotect):
        * kjs/protected_values.cpp: Added.
        (KJS::ProtectedValues::getProtectCount):
        (KJS::ProtectedValues::increaseProtectCount):
        (KJS::ProtectedValues::insert):
        (KJS::ProtectedValues::decreaseProtectCount):
        (KJS::ProtectedValues::expand):
        (KJS::ProtectedValues::shrink):
        (KJS::ProtectedValues::rehash):
        (KJS::ProtectedValues::computeHash):
        * kjs/protected_values.h: Added.
        * kjs/value.cpp:
        (ValueImp::useConservativeMark):
        (ValueImp::mark):
        (ValueImp::marked):
        * kjs/value.h:
        (KJS::ValueImp::):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@6472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
JavaScriptCore/kjs/collector.cpp
JavaScriptCore/kjs/collector.h
JavaScriptCore/kjs/protect.h
JavaScriptCore/kjs/protected_values.cpp [new file with mode: 0644]
JavaScriptCore/kjs/protected_values.h [new file with mode: 0644]
JavaScriptCore/kjs/value.cpp
JavaScriptCore/kjs/value.h