diff --git a/src/share/vm/opto/library_call.cpp b/src/share/vm/opto/library_call.cpp index e7fffdc5e706df5de4e6836e53b0a37810b06f30..381fb3759921d7d47317ea571b93ba43bd74ad71 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 0a4467cced352d7c55a91a9a1a35987c995b56ab..16e47dc12162e8cff2dd4ac9e4a71111977f99f1 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, \