7152957: VM crashes with assert(false) failed: bad AD file
Reviewed-by: kvn, never
This commit is contained in:
parent
db0efee3d4
commit
7b7d3507db
@ -1832,6 +1832,8 @@ const bool Matcher::match_rule_supported(int opcode) {
|
||||
case Op_CountLeadingZerosL:
|
||||
case Op_CountTrailingZerosI:
|
||||
case Op_CountTrailingZerosL:
|
||||
case Op_PopCountI:
|
||||
case Op_PopCountL:
|
||||
if (!UsePopCountInstruction)
|
||||
return false;
|
||||
break;
|
||||
|
@ -1293,6 +1293,14 @@ const bool Matcher::match_rule_supported(int opcode) {
|
||||
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.
|
||||
}
|
||||
|
||||
|
@ -1714,6 +1714,14 @@ const bool Matcher::match_rule_supported(int opcode) {
|
||||
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.
|
||||
}
|
||||
|
||||
|
@ -338,11 +338,11 @@ CallGenerator* Compile::make_vm_intrinsic(ciMethod* m, bool is_virtual) {
|
||||
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:
|
||||
|
Loading…
Reference in New Issue
Block a user