From 977f8d7827b9f92c779d350c6ec3a8e2bb1b8248 Mon Sep 17 00:00:00 2001 From: rasbold Date: Tue, 3 Jun 2008 13:14:44 -0700 Subject: [PATCH] 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 | 2 ++ src/share/vm/runtime/globals.hpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/share/vm/opto/library_call.cpp b/src/share/vm/opto/library_call.cpp index e7fffdc5e..381fb3759 100644 --- a/src/share/vm/opto/library_call.cpp +++ b/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/src/share/vm/runtime/globals.hpp b/src/share/vm/runtime/globals.hpp index 0a4467cce..16e47dc12 100644 --- a/src/share/vm/runtime/globals.hpp +++ b/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, \ -- GitLab