From d10912d5133498e0a43e316d99c9a55233958977 Mon Sep 17 00:00:00 2001 From: Chuck Rasbold Date: Tue, 3 Jun 2008 13:14:44 -0700 Subject: [PATCH] 6709972: runThese failed with assert(false,"bad AD file") Guard AryEqNode construction with has_match_rule() test, set SpecialArraysEquals default off Reviewed-by: kvn, never --- hotspot/src/share/vm/opto/library_call.cpp | 2 ++ hotspot/src/share/vm/runtime/globals.hpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hotspot/src/share/vm/opto/library_call.cpp b/hotspot/src/share/vm/opto/library_call.cpp index e7fffdc5e70..381fb375992 100644 --- a/hotspot/src/share/vm/opto/library_call.cpp +++ b/hotspot/src/share/vm/opto/library_call.cpp @@ -823,6 +823,8 @@ bool LibraryCallKit::inline_string_compareTo() { //------------------------------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(); diff --git a/hotspot/src/share/vm/runtime/globals.hpp b/hotspot/src/share/vm/runtime/globals.hpp index 0a4467cced3..16e47dc1216 100644 --- a/hotspot/src/share/vm/runtime/globals.hpp +++ b/hotspot/src/share/vm/runtime/globals.hpp @@ -460,7 +460,7 @@ class CommandLineFlags { 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, \