6709972: runThese failed with assert(false,"bad AD file")

Tue, 03 Jun 2008 13:14:44 -0700

author
rasbold
date
Tue, 03 Jun 2008 13:14:44 -0700
changeset 609
510f98a80563
parent 604
9148c65abefc
child 610
f2759c126e9d
child 615
b9ebd46331d2

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 file | annotate | diff | comparison | revisions
src/share/vm/runtime/globals.hpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/opto/library_call.cpp	Thu May 29 16:22:09 2008 -0700
     1.2 +++ b/src/share/vm/opto/library_call.cpp	Tue Jun 03 13:14:44 2008 -0700
     1.3 @@ -823,6 +823,8 @@
     1.4  //------------------------------inline_array_equals----------------------------
     1.5  bool LibraryCallKit::inline_array_equals() {
     1.6  
     1.7 +  if (!Matcher::has_match_rule(Op_AryEq)) return false;
     1.8 +
     1.9    _sp += 2;
    1.10    Node *argument2 = pop();
    1.11    Node *argument1 = pop();
     2.1 --- a/src/share/vm/runtime/globals.hpp	Thu May 29 16:22:09 2008 -0700
     2.2 +++ b/src/share/vm/runtime/globals.hpp	Tue Jun 03 13:14:44 2008 -0700
     2.3 @@ -460,7 +460,7 @@
     2.4    develop(bool, SpecialStringIndexOf, true,                                 \
     2.5            "special version of string indexOf")                              \
     2.6                                                                              \
     2.7 -  product(bool, SpecialArraysEquals, true,                                  \
     2.8 +  product(bool, SpecialArraysEquals, false,                                 \
     2.9            "special version of Arrays.equals(char[],char[])")                \
    2.10                                                                              \
    2.11    develop(bool, TraceCallFixup, false,                                      \

mercurial