2011-03-14 Anton Muhin <antonm@chromium.org>
authorantonm@chromium.org <antonm@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Mar 2011 01:19:14 +0000 (01:19 +0000)
committerantonm@chromium.org <antonm@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Mar 2011 01:19:14 +0000 (01:19 +0000)
commit1c309b9085e4a3957afac70f65ab7ba6298715f7
tree1b2379cf22cc392c6287db8ec844fd43550e12a5
parentcf997f94db298682602af0d6c0da516a9569333e
2011-03-14  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Rework object group building.
        https://bugs.webkit.org/show_bug.cgi?id=55399

        Instead of going top-down (from owner to owned elements), go up---from objects
        to their group ids.  That fits better to v8's object grouping model and guarantees
        that each wrapper belongs to the single group.

        Alas, this cannot be implemented for one kind of objects---CSSProperties.

        Part of core GC algorithm and tested extensively by exisiting layout tests.

        * platform/chromium/test_expectations.txt: Temporary suppress text differences.
2011-03-14  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Rework object group building.
        https://bugs.webkit.org/show_bug.cgi?id=55399

        Instead of going top-down (from owner to owned elements), go up---from objects
        to their group ids.  That fits better to v8's object grouping model and guarantees
        that each wrapper belongs to the single group.

        Alas, this cannot be implemented for one kind of objects---CSSProperties.

        Part of core GC algorithm and tested extensively by exisiting layout tests.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        * bindings/v8/V8GCController.cpp:
        (WebCore::calculateGroupId):
        (WebCore::calculateRootStyleSheet):
        (WebCore::GrouperVisitor::visitDOMWrapper):
        (WebCore::GrouperVisitor::applyGrouping):
        (WebCore::V8GCController::gcPrologue):
        * bindings/v8/WrapperTypeInfo.h:
        (WebCore::WrapperTypeInfo::isSubclass):
        * css/CSSRuleList.h:
        (WebCore::CSSRuleList::styleList):
        * css/StyleSheetList.h:
        (WebCore::StyleSheetList::document):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@81092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/chromium/test_expectations.txt
Source/WebCore/ChangeLog
Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp
Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
Source/WebCore/bindings/v8/V8GCController.cpp
Source/WebCore/bindings/v8/WrapperTypeInfo.h
Source/WebCore/css/CSSMutableStyleDeclaration.cpp
Source/WebCore/css/CSSMutableStyleDeclaration.h
Source/WebCore/css/CSSRuleList.h
Source/WebCore/css/StyleSheetList.h