RESOLVED WONTFIX111375
[v8] Binding integrity non-functional on windows
https://bugs.webkit.org/show_bug.cgi?id=111375
Summary [v8] Binding integrity non-functional on windows
Thomas Sepez
Reported 2013-03-04 16:11:29 PST
Tracking bug to get V8 Binding integrity changes landed for windows.
Attachments
WIP. (10.04 KB, patch)
2013-03-04 16:40 PST, Thomas Sepez
no flags
Patch. (22.72 KB, patch)
2013-03-04 17:25 PST, Thomas Sepez
haraken: review-
Thomas Sepez
Comment 1 2013-03-04 16:40:41 PST
Thomas Sepez
Comment 2 2013-03-04 17:25:12 PST
Adam Barth
Comment 3 2013-03-04 17:35:49 PST
Comment on attachment 191360 [details] Patch. View in context: https://bugs.webkit.org/attachment.cgi?id=191360&action=review > Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3722 > + return "ActiveDOMObject\@1\@" if ($typename eq "AbstractWorker"); > + return "ActiveDOMObject\@1\@" if ($typename eq "AudioContext"); We don't want to special-case all these interfaces in the code generator.
Kentaro Hara
Comment 4 2013-03-04 17:36:04 PST
Comment on attachment 191360 [details] Patch. View in context: https://bugs.webkit.org/attachment.cgi?id=191360&action=review > Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3717 > +sub GetWinMangledExtensionForType This looks really fragile. Wouldn't there be any alternative idea to avoid hard-coding?
Kentaro Hara
Comment 5 2013-03-04 17:36:52 PST
Comment on attachment 191360 [details] Patch. oops, my comment has overwritten abarth's r-.
Thomas Sepez
Comment 6 2013-03-05 12:51:41 PST
(In reply to comment #3) > (From update of attachment 191360 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=191360&action=review > > > Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3722 > > + return "ActiveDOMObject\@1\@" if ($typename eq "AbstractWorker"); > > + return "ActiveDOMObject\@1\@" if ($typename eq "AudioContext"); > > We don't want to special-case all these interfaces in the code generator. Ok, so would an .in file be acceptable?
Thomas Sepez
Comment 7 2013-03-05 12:54:19 PST
(In reply to comment #4) > (From update of attachment 191360 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=191360&action=review > > > Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3717 > > +sub GetWinMangledExtensionForType > > This looks really fragile. Wouldn't there be any alternative idea to avoid hard-coding? I've toyed with the idea of simply creating an instance of the class the first time one is wrapped and extracting the pointer from it directly via its first member rather than playing linker tricks. The downside with that is bloat and performance, but not a big deal when we are doing it at wrap time, rather than toNative() time. The obstacle is that each of these would need a no-arg constructor to make such a object from which to extract the pointer, which currently isn't the case.
Adam Barth
Comment 8 2013-03-05 13:39:52 PST
Comment on attachment 191360 [details] Patch. View in context: https://bugs.webkit.org/attachment.cgi?id=191360&action=review >>> Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:3722 >>> + return "ActiveDOMObject\@1\@" if ($typename eq "AudioContext"); >> >> We don't want to special-case all these interfaces in the code generator. > > Ok, so would an .in file be acceptable? What is the relationship between the two strings? What I'm worried about here is that folks who add or change these interfaces or objects will need to be able to keep this information up-to-date or else they'll get some kind of strange compile error on Windows. We need to set them up for success by making this as easy and automatic as possible.
Thomas Sepez
Comment 9 2013-03-05 14:41:56 PST
> > Ok, so would an .in file be acceptable? > > What is the relationship between the two strings? > Its truly icky and a burden which may put this out of reach. It the name of the first superclass that declares a new virtual function, where first is the leftmost class in transitive expansion of the class C : public A, public B ... inheritance list. If that makes any sense at all.
Adam Barth
Comment 10 2013-03-05 15:05:51 PST
I see. It's the class name for the first vtable in the object.
Anders Carlsson
Comment 11 2013-05-02 11:51:47 PDT
V8 is gone from WebKit.
Note You need to log in before you can comment on or make changes to this bug.