-XX:+PrintStackTrace
forax at univ-mlv.fr
forax at univ-mlv.fr
Sat Feb 18 13:40:36 UTC 2017
Hi Chris,
> De: "Christian Thalinger" <cthalinger at twitter.com>
> À: "Remi Forax" <forax at univ-mlv.fr>
> Cc: hotspot-runtime-dev at openjdk.java.net
> Envoyé: Vendredi 17 Février 2017 22:30:38
> Objet: Re: -XX:+PrintStackTrace
>> On Feb 10, 2017, at 4:25 AM, Remi Forax < forax at univ-mlv.fr > wrote:
>> Hi,
>> i've found that PrintStackTrace do not always print the method descriptor so you
>> don't know precisely the method if there are overloads.
>> 3569 1661 b java.util.stream.Sink$ChainedReference::end (10 bytes)
>> 3570 1662 b java.lang.invoke.MemberName::asSpecial (89 bytes)
>> 3572 1663 n java.lang.invoke.MethodHandle::linkToSpecial(LLLL)V (native)
>> (static)
>> 3572 1664 b java.lang.NoSuchMethodError::<init> (6 bytes)
>> 3576 1665 b java.lang.IncompatibleClassChangeError::<init> (6 bytes)
>> This output is parsed by several external tools like JITWatch but given that
>> some methods (the native one i believe) already have their full signature
>> printed,
>> adding the signature for the others should not impact those tools.
> You mean PrintCompilation?
yes !
> If you turn on WizardMode you get signatures as well. Unfortunately:
> src/share/vm/runtime/globals.hpp
> 944 : develop(bool, WizardMode , false, \
> We should make this a diagnostic flag or have some other way to turn on
> signatures for Method::print_short_name.
Usually, the WizardMode prints too many info, so i'm fine with having it for a developer build only.
In my opinion, either print_short_name should print the signature or PrintCompilation should use another method that print the full signature.
Currently, when you want to exclude a method or compileOnly a method, you will need the signature anyway, so it wouls be cool to have the same format between the flags related to the JIT commilation of a method.
>> cheers,
>> Rémi
Rémi
More information about the hotspot-runtime-dev
mailing list