7033141: assert(has_cp_cache(i)) failed: oob

Unrewrite bytecodes for OOM error allocating the constant pool cache.

Reviewed-by: dcubed, acorn, never
This commit is contained in:
Coleen Phillimore 2011-05-21 15:39:54 -07:00
parent 8b76becfe7
commit 57769e3600
7 changed files with 164 additions and 66 deletions

View file

@ -992,6 +992,9 @@ jvmtiError VM_RedefineClasses::load_new_class_versions(TRAPS) {
}
Rewriter::rewrite(scratch_class, THREAD);
if (!HAS_PENDING_EXCEPTION) {
Rewriter::relocate_and_link(scratch_class, THREAD);
}
if (HAS_PENDING_EXCEPTION) {
Symbol* ex_name = PENDING_EXCEPTION->klass()->klass_part()->name();
CLEAR_PENDING_EXCEPTION;