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

*** 1,7 **** --- 1,7 ---- /* ! * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. ! * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 52,70 **** --- 52,74 ---- VerificationType* stack = NEW_RESOURCE_ARRAY_IN_THREAD(thr, VerificationType, 1); StackMapFrame* frame = new StackMapFrame(_offset, flags, _locals_size, 0, _max_locals, _max_stack, _locals, stack, _verifier); return frame; } bool StackMapFrame::has_new_object() const { + // Return true if frame has an uninitialized (new) object that differs + // from the target frame's object. + bool StackMapFrame::has_unique_new_object(const StackMapFrame *target_frame) const { int32_t i; for (i = 0; i < _max_locals; i++) { ! if (_locals[i].is_uninitialized()) { ! if (_locals[i].is_uninitialized() && + !_locals[i].equals(target_frame->_locals[i])) { return true; } } for (i = 0; i < _stack_size; i++) { ! if (_stack[i].is_uninitialized()) { ! if (_stack[i].is_uninitialized() && + !_stack[i].equals(target_frame->_stack[i])) { return true; } } return false; }

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