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