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

src/share/vm/classfile/stackMapFrame.cpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2003, 2012, 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. --- 1,7 ---- /* ! * 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 **** 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 { int32_t i; for (i = 0; i < _max_locals; i++) { ! if (_locals[i].is_uninitialized()) { return true; } } for (i = 0; i < _stack_size; i++) { ! if (_stack[i].is_uninitialized()) { return true; } } return false; } --- 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; } ! // 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() && ! !_locals[i].equals(target_frame->_locals[i])) { return true; } } for (i = 0; i < _stack_size; i++) { ! 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