2009/9/17 Stephen Clibbery <[email protected]>

>
> Hi,
>
> Well, I've had a look at the codebase, and I reckon there are just
> over three hundred static variables that would need to go into a
> Global Context. I'm not saying I'm definitely going to do this yet,
> but if I do have a go, I have a few practical questions:
>
> * What's the best way to measure any possible performance regressions?
>

The V8 benchmark suite is checked in as part of the source.  There's a
standalone version that runs with the standalone V8 shell.  I think you just
write "shell run.js" in the benchmark directory.


> * I can only develop for Windows, but a TLS-based solution will likely
> need a little porting to other platforms; is this ok?
>

All commits have to work on all platforms.  Here's one way to achieve that:
Anything that is platform dependent needs to go in each of the *platform*
files.  If you put something in the windows version of the file you can add
an empty implementation to the other files.  Then you have to persuade
someone to add an implementation that works for each of the other
platforms.  Once they are there you can commit something that makes use of
the new functionality.


> * Are there any published code-style guidelines for V8?
>

http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

There's a python script, tools/presubmit.py which checks for some of the
style guide, but not all.  Here is a small selection of the things it
doesn't check:

1) * and & in type declarations go next to the type name, not next to the
object.  So it's "Object* foo" not "Object *foo"
2) static and instance member variables are written with
lower_case_and_a_trailing_underscore_
3) Method names have CamelCase unless they are trivially simple accessors in
which case they use the name of the variable they access without the
trailing underscore
4) Comments should be sentences with correct punctuation.


> * Should I try to land one big patch with all the changes, or find a
> way to do it more incrementally?
>

Incrementally.  Apart from anything else, a single patch means your work
could all be wasted if for some reason we can't accept the patch.


> * Anything else I should know? :-)
>

You need to agree to the contributor's agreement and your employer may need
to sign the corporate agreement.

-- 
Erik Corry, Software Engineer
Google Denmark ApS.  CVR nr. 28 86 69 84
c/o Philip & Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018 Copenhagen K,
Denmark.

--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to