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
--- a/hotspot/src/share/vm/opto/library_call.cpp Thu May 29 16:22:09 2008 -0700
+++ b/hotspot/src/share/vm/opto/library_call.cpp Tue Jun 03 13:14:44 2008 -0700
@@ -823,6 +823,8 @@
//------------------------------inline_array_equals----------------------------
bool LibraryCallKit::inline_array_equals() {
+ if (!Matcher::has_match_rule(Op_AryEq)) return false;
+
_sp += 2;
Node *argument2 = pop();
Node *argument1 = pop();
--- a/hotspot/src/share/vm/runtime/globals.hpp Thu May 29 16:22:09 2008 -0700
+++ b/hotspot/src/share/vm/runtime/globals.hpp Tue Jun 03 13:14:44 2008 -0700
@@ -460,7 +460,7 @@
develop(bool, SpecialStringIndexOf, true, \
"special version of string indexOf") \
\
- product(bool, SpecialArraysEquals, true, \
+ product(bool, SpecialArraysEquals, false, \
"special version of Arrays.equals(char[],char[])") \
\
develop(bool, TraceCallFixup, false, \