2011-07-13 Vitaly Repeshko <vitalyr@chromium.org>
authorvitalyr@chromium.org <vitalyr@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Jul 2011 21:44:29 +0000 (21:44 +0000)
committervitalyr@chromium.org <vitalyr@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Jul 2011 21:44:29 +0000 (21:44 +0000)
commit124b30ee9f80ac84ec8bb4e9bd4d0951c09e41aa
tree8ae2f30dc0f5138cea34367c533655e3f7514c97
parentdf994624498f2f9436596cdea21a471afc8ef409
2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>

        [V8] Avoid memory leaks with hidden references.
        https://bugs.webkit.org/show_bug.cgi?id=64467

        Reviewed by Adam Barth.

        We used to have growing arrays of hidden references associated
        with objects. The entries in this array had no keys and were never
        removed. This patch changes the interface to require a reference
        name. This way it's harder to leak an unbounded number of
        objects. Also it makes our wrapper objects one machine word
        smaller.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@90949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
16 files changed:
Source/WebCore/ChangeLog
Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
Source/WebCore/bindings/v8/V8DOMWrapper.cpp
Source/WebCore/bindings/v8/V8DOMWrapper.h
Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp
Source/WebCore/bindings/v8/V8HiddenPropertyName.h
Source/WebCore/bindings/v8/WrapperTypeInfo.h
Source/WebCore/bindings/v8/custom/V8CSSStyleSheetCustom.cpp
Source/WebCore/bindings/v8/custom/V8DOMStringMapCustom.cpp
Source/WebCore/bindings/v8/custom/V8DOMTokenListCustom.cpp
Source/WebCore/bindings/v8/custom/V8LocationCustom.cpp
Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp
Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp
Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp
Source/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp