src/share/vm/oops/constantPoolOop.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/oops/constantPoolOop.hpp Wed Mar 30 07:00:21 2011
--- new/src/share/vm/oops/constantPoolOop.hpp Wed Mar 30 07:00:21 2011
*** 1,7 ****
--- 1,7 ----
/*
! * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
! * Copyright (c) 1997, 2011, 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.
*** 427,437 ****
--- 427,437 ----
return slot_at(which).get_oop();
}
// A "pseudo-string" is an non-string oop that has found is way into
// a String entry.
! // Under AnonymousClasses this can happen if the user patches a live
! // Under EnableInvokeDynamic this can happen if the user patches a live
// object into a CONSTANT_String entry of an anonymous class.
// Method oops internally created for method handles may also
// use pseudo-strings to link themselves to related metaobjects.
bool is_pseudo_string_at(int which);
*** 440,450 ****
--- 440,450 ----
assert(tag_at(which).is_string(), "Corrupted constant pool");
return slot_at(which).get_oop();
}
void pseudo_string_at_put(int which, oop x) {
! assert(AnonymousClasses, "");
! assert(EnableInvokeDynamic, "");
set_pseudo_string(); // mark header
assert(tag_at(which).is_string() || tag_at(which).is_unresolved_string(), "Corrupted constant pool");
string_at_put(which, x); // this works just fine
}
src/share/vm/oops/constantPoolOop.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File