changeset 174:510f98a80563

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
author rasbold
date Tue, 03 Jun 2008 13:14:44 -0700
parents 9148c65abefc
children f2759c126e9d b9ebd46331d2
files src/share/vm/opto/library_call.cpp src/share/vm/runtime/globals.hpp
diffstat 2 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/opto/library_call.cpp	Thu May 29 16:22:09 2008 -0700
+++ b/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/src/share/vm/runtime/globals.hpp	Thu May 29 16:22:09 2008 -0700
+++ b/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,                                      \