src/share/vm/prims/jvmtiRedefineClasses.cpp

Print this page

        

*** 1070,1082 **** return JVMTI_ERROR_FAILS_VERIFICATION; } } res = merge_cp_and_rewrite(the_class, scratch_class, THREAD); ! if (res != JVMTI_ERROR_NONE) { ! return res; } if (VerifyMergedCPBytecodes) { // verify what we have done during constant pool merging { RedefineVerifyMark rvm(&the_class, &scratch_class, state); --- 1070,1088 ---- return JVMTI_ERROR_FAILS_VERIFICATION; } } res = merge_cp_and_rewrite(the_class, scratch_class, THREAD); ! if (HAS_PENDING_EXCEPTION) { ! Symbol* ex_name = PENDING_EXCEPTION->klass()->name(); ! CLEAR_PENDING_EXCEPTION; ! if (ex_name == vmSymbols::java_lang_OutOfMemoryError()) { ! return JVMTI_ERROR_OUT_OF_MEMORY; ! } else { ! return JVMTI_ERROR_INTERNAL; } + } if (VerifyMergedCPBytecodes) { // verify what we have done during constant pool merging { RedefineVerifyMark rvm(&the_class, &scratch_class, state);