src/share/vm/classfile/stackMapTable.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/classfile/stackMapTable.cpp	Fri Aug 22 09:56:09 2014
--- new/src/share/vm/classfile/stackMapTable.cpp	Fri Aug 22 09:56:07 2014

*** 136,146 **** --- 136,149 ---- check_new_object(frame, target, CHECK_VERIFY(frame->verifier())); } void StackMapTable::check_new_object( const StackMapFrame* frame, int32_t target, TRAPS) const { ! if (frame->offset() > target && frame->has_new_object()) { ! int frame_index = get_index_from_offset(target); + assert(frame_index >= 0 && frame_index < _frame_count, "bad frame index"); + if (frame->offset() > target && + frame->has_unique_new_object(_frame_array[frame_index])) { frame->verifier()->verify_error( ErrorContext::bad_code(frame->offset()), "Uninitialized object exists on backward branch %d", target); return; }

src/share/vm/classfile/stackMapTable.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File