ariya/esprima — pull request #176 by ikarienator (2013-04-05 20:06:04+00:00)
Title: Remove filterXXXX and ensure one pass parsing

Removed all those filterXXX functions to ensure a one pass parsing.
Also avoid the filter hack for `parseBinaryExpression`.
Also removed location marker as it is not used anymore.

Benchmark
----------------
Old benchmark without location information:

| Library | Size | Time | Variance |
|:-----------:|------------:|-----:|---------:|
|Underscore 1.4.1|39.6|4.2|0.0|
|Backbone 1.0.0|58.1|4.7|0.0|
|CodeMirror 2.34|126.5|23.5|0.0|
|MooTools 1.4.1|151.6|24.7|0.0|
|jQuery 1.9.1|262.1|28.3|0.0|
|jQuery.Mobile 1.2.0|286.7|26.7|0.0|
|Angular 1.0.6|478.4|37.4|0.0|
|Total|1403.0|149.6| |

Old benchmark with location information:

| Library | Size | Time | Variance |
|:-----------:|------------:|-----:|---------:|
|Underscore 1.4.1|39.6|38.6|0.0|
|Backbone 1.0.0|58.1|51.0|0.0|
|CodeMirror 2.34|126.5|166.2|0.2|
|MooTools 1.4.1|151.6|233.1|0.1|
|jQuery 1.9.1|262.1|283.2|0.3|
|jQuery.Mobile 1.2.0|286.7|266.4|0.1|
|Angular 1.0.6|478.4|302.4|0.9|
|Total|1403.0|1340.8| |

New benchmark without location information:

| Library | Size | Time | Variance |
|:-----------:|------------:|-----:|---------:|
Underscore 1.4.1|39.6|3.5|0.0
Backbone 1.0.0|58.1|4.4|0.0
CodeMirror 2.34|126.5|15.2|0.0
MooTools 1.4.1|151.6|21.7|0.0
jQuery 1.9.1|262.1|27.9|0.0
jQuery.Mobile 1.2.0|286.7|26.3|0.0
Angular 1.0.6|478.4|36.9|0.0
Total|1403.0|135.9 (6.9% faster)|

New benchmark with location information:

| Library | Size | Time | Variance |
|:-----------:|------------:|-----:|---------:|
Underscore 1.4.1|39.6|9.3|0.0
Backbone 1.0.0|58.1|11.8|0.0
CodeMirror 2.34|126.5|61.8|0.2
MooTools 1.4.1|151.6|81.6|0.0
jQuery 1.9.1|262.1|103.7|0.1
jQuery.Mobile 1.2.0|286.7|107.7|0.1
Angular 1.0.6|478.4|134.0|0.0
Total|1403.0|509.8 ( __163% faster__ )||