[webkit-dev] [V8] It's time for V8Proxy to come to Jesus

Dimitri Glazkov dglazkov at chromium.org
Sat Jul 4 10:21:27 PDT 2009


Go abarth! Here's a couple of considerations:

1) For now, we've been concentrating on moving the remaining bits of
the V8 bindings and project files upstream. Your proposed refactoring
will more than likely involve modifying .gyp files. Perhaps it would
be better to wait just a bit more until I upstream .gypis to avoid the
super-painful two-sided patches?

2) There is at least two folks who are actively working on improving
performance and eliminate inconsistencies in V8 bindings. cc'ing to
loop them in. Mads, Anton, you should be on webkit-dev, if you aren't
already :)

3) One of the big tasks on my horizon is refactoring V8 bindings to
align them closer with JSC bindings, especially in the areas of event
listeners and meaning of IDL attributes in the code generator. I would
also love to implement an equivalent of the generated toJS(..). So
please think about this when you're hacking on the proxy.

4) In the same spirit of aligning with JSC bindings, it would be great
if your refactoring dissolved V8Proxy into new files/classes that are
similar in convention/spirit to those on JSC side. The goal here is to
make it easier to adjust V8 bindings after JSC bindings change.

Thanks for taking on this! I am going to try and visit SFO next week,
so perhaps we could meet up and do some strategery about this
refactoring.

:DG<

On Fri, Jul 3, 2009 at 12:23 PM, Adam Barth<abarth at webkit.org> wrote:
> If you're uninterested in the V8 bindings, you can skip this email.
>
> Clocking in at 3255 lines (plus a 682-line header file), V8Proxy is
> out of control.  Historically a bridge from the V8 bindings to the V8
> engine, V8Proxy is responsible for a number of tasks including:
>
> 1) Creating new contexts
> 2) Implementing security checks
> 3) Supervising garbage collection
> 4) Caching event listeners
> 5) Executing scripts
> 6) Converting between frames, contexts, and global objects
> 7) Manging DOM wrappers
> 8) etc, etc, etc
>
> I propose we separate these concerns into a number of distinct classes
> that have clear, understandable purposes before things get worse.
>
> Please let me know if you have any in-progress patches to V8Proxy.
> I'd like to lock that file sometime next week while I rip it apart and
> put it back together.
>
> Thanks,
> Adam
>
> P.S., FrameLoader: you've escaped for now, but don't think I'm not watching you.
>


More information about the webkit-dev mailing list