8210168: JCK test .vm.classfmt.ins.code__002.code__00201m1.code__00201m1 hangs with -noverify
Summary: Check for 'bc_length > 0' to handle lengths of -1.
Reviewed-by: coleenp
--- a/src/hotspot/share/interpreter/rewriter.cpp Thu Aug 30 09:34:10 2018 +0200
+++ b/src/hotspot/share/interpreter/rewriter.cpp Thu Aug 30 09:08:23 2018 -0400
@@ -400,7 +400,9 @@
}
}
- assert(bc_length != 0, "impossible bytecode length");
+ // Continuing with an invalid bytecode will fail in the loop below.
+ // So guarantee here.
+ guarantee(bc_length > 0, "Verifier should have caught this invalid bytecode");
switch (c) {
case Bytecodes::_lookupswitch : {