Always prepare the next (lookahead) token.
Always prepare the next (lookahead) token.

The parser always have the need to peek at the next token. Rather than
preparing the lookahead buffer as needed, we always do the lookahead
when scanning for the current token.

Firefox 16 shows an observable 7.8% speed-up in the benchmark suite.
V8 3.13.7 gets a more modest improvement, just 2% faster.

http://code.google.com/p/esprima/issues/detail?id=363

facebook/esprima,J2TeaM/esprima,facebookarchive/esprima,sebmck/esprima,xuyuanxiang/esprima,facebook/esprima,bcbcarl/esprima,facebook/esprima,xuyuanxiang/esprima,ariya/esprima,kittens/esprima,bjlxj2008/esprima,jeffmo/esprima,tk120404/esprima,bcbcarl/esprima,simudream/esprima,bcbcarl/esprima,facebookarchive/esprima,michaelficarra/esprima,gibson042/esprima,google-code-export/esprima,fishbar/esprima,thr0w/esprima,jasonLaster/esprima,renzy3/esprima,azu/esprima,thr0w/esprima,kittens/esprima,toshok/esprima-old,gibson042/esprima,ariya/esprima,substack/esprima,hughsk/esprima,renzy3/esprima,ravjot28/esprima,ikarienator/esprima,fishbar/esprima,simudream/esprima,drom/esprima,gibson042/esprima,fishbar/esprima,jscs-dev/esprima-harmony,ravjot28/esprima,renzy3/esprima,jquery/esprima,supriyantomaftuh/esprima,ChromeDevTools/esprima,treejames/esprima,toshok/esprima-old,toshok/esprima-old,jscs-dev/esprima-harmony,spicyj/esprima,djulien/esprima,ChromeDevTools/esprima,drom/esprima,ChromeDevTools/esprima,sebmck/esprima,as02700/esprima,jquery/esprima,thr0w/esprima,ravjot28/esprima,google-code-export/esprima,facebookarchive/esprima,npmcomponent/ariya-esprima,supriyantomaftuh/esprima,curious-inc/esprima-tame,ariya/esprima,jquery/esprima,bjlxj2008/esprima,djulien/esprima