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

src/share/vm/classfile/stackMapTable.cpp

Print this page

        

*** 136,146 **** 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()) { frame->verifier()->verify_error( ErrorContext::bad_code(frame->offset()), "Uninitialized object exists on backward branch %d", target); return; } --- 136,149 ---- check_new_object(frame, target, CHECK_VERIFY(frame->verifier())); } void StackMapTable::check_new_object( const StackMapFrame* frame, int32_t target, TRAPS) const { ! 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