Tue, 03 Jun 2008 13:14:44 -0700
6709972: runThese failed with assert(false,"bad AD file")
Summary: guard AryEqNode construction with has_match_rule() test, set SpecialArraysEquals default off
Reviewed-by: kvn, never
src/share/vm/opto/library_call.cpp | file | annotate | diff | comparison | revisions | |
src/share/vm/runtime/globals.hpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/opto/library_call.cpp Thu May 29 16:22:09 2008 -0700 1.2 +++ b/src/share/vm/opto/library_call.cpp Tue Jun 03 13:14:44 2008 -0700 1.3 @@ -823,6 +823,8 @@ 1.4 //------------------------------inline_array_equals---------------------------- 1.5 bool LibraryCallKit::inline_array_equals() { 1.6 1.7 + if (!Matcher::has_match_rule(Op_AryEq)) return false; 1.8 + 1.9 _sp += 2; 1.10 Node *argument2 = pop(); 1.11 Node *argument1 = pop();
2.1 --- a/src/share/vm/runtime/globals.hpp Thu May 29 16:22:09 2008 -0700 2.2 +++ b/src/share/vm/runtime/globals.hpp Tue Jun 03 13:14:44 2008 -0700 2.3 @@ -460,7 +460,7 @@ 2.4 develop(bool, SpecialStringIndexOf, true, \ 2.5 "special version of string indexOf") \ 2.6 \ 2.7 - product(bool, SpecialArraysEquals, true, \ 2.8 + product(bool, SpecialArraysEquals, false, \ 2.9 "special version of Arrays.equals(char[],char[])") \ 2.10 \ 2.11 develop(bool, TraceCallFixup, false, \