8008096: TokenStream buffer should grow exponentially

Wed, 13 Feb 2013 13:30:21 +0100

author
hannesw
date
Wed, 13 Feb 2013 13:30:21 +0100
changeset 85
a3dc1b180ce7
parent 84
d50e1752f59b
child 86
38c44687e4bd

8008096: TokenStream buffer should grow exponentially
Reviewed-by: attila, lagergren, sundar

src/jdk/nashorn/internal/parser/TokenStream.java file | annotate | diff | comparison | revisions
     1.1 --- a/src/jdk/nashorn/internal/parser/TokenStream.java	Tue Feb 12 12:47:51 2013 +0100
     1.2 +++ b/src/jdk/nashorn/internal/parser/TokenStream.java	Wed Feb 13 13:30:21 2013 +0100
     1.3 @@ -34,8 +34,8 @@
     1.4   *
     1.5   */
     1.6  public class TokenStream {
     1.7 -    /** Buffer growth factor. */
     1.8 -    private static final int growth = 256;
     1.9 +    /** Initial buffer size. */
    1.10 +    private static final int INITIAL_SIZE = 256;
    1.11  
    1.12      /** Token buffer. */
    1.13      private long[] buffer;
    1.14 @@ -56,7 +56,7 @@
    1.15       * Constructor.
    1.16       */
    1.17      public TokenStream() {
    1.18 -        buffer = new long[growth];
    1.19 +        buffer = new long[INITIAL_SIZE];
    1.20          count = 0;
    1.21          in = 0;
    1.22          out = 0;
    1.23 @@ -193,7 +193,7 @@
    1.24       */
    1.25      public void grow() {
    1.26          // Allocate new buffer.
    1.27 -        final long[] newBuffer = new long[buffer.length + growth];
    1.28 +        final long[] newBuffer = new long[buffer.length * 2];
    1.29  
    1.30          // If single chunk.
    1.31          if (in > out) {

mercurial