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 -~----------~----~----~----~------~----~------~--~---
