src/share/vm/adlc/adlparse.cpp

changeset 3310
6729bbc1fcd6
parent 3040
c7b60b601eb4
child 3316
f03a3c8bd5e5
     1.1 --- a/src/share/vm/adlc/adlparse.cpp	Mon Nov 14 18:38:03 2011 -0800
     1.2 +++ b/src/share/vm/adlc/adlparse.cpp	Wed Nov 16 01:39:50 2011 -0800
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -3115,7 +3115,7 @@
    1.11    encoding->add_code("    _constant = C->constant_table().add");
    1.12  
    1.13    // Parse everything in ( ) expression.
    1.14 -  encoding->add_code("(");
    1.15 +  encoding->add_code("(this, ");
    1.16    next_char();  // Skip '('
    1.17    int parens_depth = 1;
    1.18  
    1.19 @@ -3130,7 +3130,8 @@
    1.20      }
    1.21      else if (_curchar == ')') {
    1.22        parens_depth--;
    1.23 -      encoding->add_code(")");
    1.24 +      if (parens_depth > 0)
    1.25 +        encoding->add_code(")");
    1.26        next_char();
    1.27      }
    1.28      else {
    1.29 @@ -3157,7 +3158,7 @@
    1.30    }
    1.31  
    1.32    // Finish code line.
    1.33 -  encoding->add_code(";");
    1.34 +  encoding->add_code(");");
    1.35  
    1.36    if (_AD._adlocation_debug) {
    1.37      encoding->add_code(end_line_marker());

mercurial