Bug 61131

Summary: [V8] Explicitly mark objects with complex GC rules.
Product: WebKit Reporter: Vitaly Repeshko <vitalyr>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Severity: Normal CC: abarth, ager, antonm, dglazkov, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Description Flags
webkit.review.bot: commit-queue-
patch abarth: review+

Description Vitaly Repeshko 2011-05-19 10:20:21 PDT
[V8] Explicitly mark objects with complex GC rules.
Comment 1 Vitaly Repeshko 2011-05-19 10:21:40 PDT
Created attachment 94084 [details]
Comment 2 Vitaly Repeshko 2011-05-19 10:39:37 PDT
Note, this needs V8 r7923 to build.
Comment 3 WebKit Review Bot 2011-05-19 10:45:39 PDT
Comment on attachment 94084 [details]

Attachment 94084 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/8716369
Comment 4 WebKit Review Bot 2011-05-19 11:54:35 PDT
Comment on attachment 94084 [details]

Attachment 94084 [details] did not pass cr-mac-ews (chromium):
Output: http://queues.webkit.org/results/8716387
Comment 5 anton muhin 2011-05-20 01:00:49 PDT
Comment on attachment 94084 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=94084&action=review

LGTM!  Very nice

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:239
> +            next if ($parent eq "EventTarget");

nit: I am not sure we put condition into parents in this file, I think preferred style is next if $parent eq "EventTarget"

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:291
> +            next if ($parent eq "EventTarget");

ditto nitto
Comment 6 Vitaly Repeshko 2011-05-20 07:02:37 PDT
Created attachment 94215 [details]
Comment 7 Vitaly Repeshko 2011-05-20 07:03:08 PDT
Anton, thanks for having a look. Nits fixed.
Comment 8 Adam Barth 2011-05-23 00:17:22 PDT
Comment on attachment 94215 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=94215&action=review

That came out really nicely.

> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:235
> +    my $hasDependentLifetime = $dataNode->extendedAttributes->{"V8DependentLifetime"} || IsActiveDomType($interfaceName) || $className =~ /SVG/;

$className =~ /SVG/;

sad face
Comment 9 Vitaly Repeshko 2011-05-23 01:49:09 PDT
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
	M	Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
	M	Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h
	M	Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp
	M	Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h
	M	Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
	M	Source/WebCore/bindings/scripts/test/V8/V8TestObj.h
	M	Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp
	M	Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h
	M	Source/WebCore/css/CSSRule.idl
	M	Source/WebCore/css/CSSRuleList.idl
	M	Source/WebCore/css/CSSStyleDeclaration.idl
	M	Source/WebCore/css/CSSValue.idl
	M	Source/WebCore/css/StyleSheet.idl
	M	Source/WebCore/css/StyleSheetList.idl
	M	Source/WebCore/dom/DOMImplementation.idl
	M	Source/WebCore/dom/Node.idl
Committed r87063