6709972: runThese failed with assert(false,"bad AD file")
authorrasbold
Tue, 03 Jun 2008 13:14:44 -0700
changeset 600 f7b4f99c0199
parent 595 a2be4c89de81
child 601 f1627dd48d57
child 606 7efb18e28f6c
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
hotspot/src/share/vm/opto/library_call.cpp
hotspot/src/share/vm/runtime/globals.hpp
--- 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,                                      \