RFR 8016325: JVM hangs verifying system dictionary
Jon Masamitsu
jon.masamitsu at oracle.com
Mon Jun 24 11:21:23 PDT 2013
Coleen,
http://cr.openjdk.java.net/~coleenp/8016325/src/share/vm/oops/klass.cpp.frames.html
650 void Klass::verify_on(outputStream* st, bool in_dictionary) {
"in_dictionary" is not used, right?
http://cr.openjdk.java.net/~coleenp/8016325/src/share/vm/oops/klass.hpp.frames.html
So do you need this change to add the parameter "check_dictionary"?
> 706 virtual void verify_on(outputStream* st, bool check_dictionary = true);
> 707 void verify(bool check_dictionary = true) { verify_on(tty, check_dictionary); }
> 708
If you do, is the "virtual" on 706 needed? And are the number of lines
you would
have to change if "check_dictionary" does not have a default (not a fan
of defaults),
so large?
What's the rule about when to use is_metaspace_object() to
do an assertion check?
Rest looks good.
Jon
On 6/21/13 9:35 AM, Coleen Phillimore wrote:
> Summary: Minimize redundant verifications of Klasses.
>
> Also removed is_metadata() because checking that metadata is not in
> the Java heap doesn't make sense anymore and could slow down
> verification also. Some cases that aren't statically checked by the
> compiler now call is_metaspace_object() under assert for verification.
>
> Tested by nsk.quick.testlist, and failing SQE test.
>
> open webrev at http://cr.openjdk.java.net/~coleenp/8016325/
> bug link at http://bugs.sun.com/view_bug.do?bug_id=8016325
> local bug link https://jbs.oracle.com/bugs/browse/JDK-8016325
>
> thanks,
> Coleen
More information about the hotspot-dev
mailing list