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());