Mercurial > hg > graal-jvmci-8
changeset 5934:61b82be3b1ff
7152957: VM crashes with assert(false) failed: bad AD file
Reviewed-by: kvn, never
Contributed-by: nils.eliasson@oracle.com
author | never |
---|---|
date | Mon, 12 Mar 2012 15:28:07 -0700 |
parents | fde683df4c27 |
children | a735aec54ea4 2537ebc321d4 21b94feb697c |
files | src/cpu/sparc/vm/sparc.ad src/cpu/x86/vm/x86_32.ad src/cpu/x86/vm/x86_64.ad src/share/vm/opto/library_call.cpp |
diffstat | 4 files changed, 20 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/sparc.ad Fri Mar 09 13:34:45 2012 -0800 +++ b/src/cpu/sparc/vm/sparc.ad Mon Mar 12 15:28:07 2012 -0700 @@ -1832,6 +1832,8 @@ case Op_CountLeadingZerosL: case Op_CountTrailingZerosI: case Op_CountTrailingZerosL: + case Op_PopCountI: + case Op_PopCountL: if (!UsePopCountInstruction) return false; break;
--- a/src/cpu/x86/vm/x86_32.ad Fri Mar 09 13:34:45 2012 -0800 +++ b/src/cpu/x86/vm/x86_32.ad Mon Mar 12 15:28:07 2012 -0700 @@ -1293,6 +1293,14 @@ if (!has_match_rule(opcode)) return false; + switch (opcode) { + case Op_PopCountI: + case Op_PopCountL: + if (!UsePopCountInstruction) + return false; + break; + } + return true; // Per default match rules are supported. }
--- a/src/cpu/x86/vm/x86_64.ad Fri Mar 09 13:34:45 2012 -0800 +++ b/src/cpu/x86/vm/x86_64.ad Mon Mar 12 15:28:07 2012 -0700 @@ -1714,6 +1714,14 @@ if (!has_match_rule(opcode)) return false; + switch (opcode) { + case Op_PopCountI: + case Op_PopCountL: + if (!UsePopCountInstruction) + return false; + break; + } + return true; // Per default match rules are supported. }
--- a/src/share/vm/opto/library_call.cpp Fri Mar 09 13:34:45 2012 -0800 +++ b/src/share/vm/opto/library_call.cpp Mon Mar 12 15:28:07 2012 -0700 @@ -338,11 +338,11 @@ break; case vmIntrinsics::_bitCount_i: - if (!Matcher::has_match_rule(Op_PopCountI)) return NULL; + if (!Matcher::match_rule_supported(Op_PopCountI)) return NULL; break; case vmIntrinsics::_bitCount_l: - if (!Matcher::has_match_rule(Op_PopCountL)) return NULL; + if (!Matcher::match_rule_supported(Op_PopCountL)) return NULL; break; case vmIntrinsics::_numberOfLeadingZeros_i: