hsdis output from JVMCI
Remi Forax
forax at univ-mlv.fr
Wed May 17 10:28:07 UTC 2017
Hi Yasumasa,
i've read the slides referenced on your github project,
slide 19: i believe that instead of printing the first tiers, you either want the last one or better all the tiers,
IntStream.range(0, 4).filter(...).boxed().collect(Collectors.joining(", "))
otherwise the whole deck is quite fun, thank you !
Rémi
----- Mail original -----
> De: "Yasumasa Suenaga" <yasuenag at gmail.com>
> À: hotspot-compiler-dev at openjdk.java.net
> Envoyé: Mercredi 17 Mai 2017 09:37:30
> Objet: hsdis output from JVMCI
> Hi all,
>
> I tried to disassemble JVMCI installed code via hsdis.
> It works but I got duplicate output from hsdis.
>
> How to reproduce:
>
> 1. Clone reproducer from GitHub
> https://github.com/YaSuenag/jdt-2017-examples
>
> 2. Copy some files from hotspot testcase
> Please read README.md in this repository.
>
> 3. Edit Makefile to use hsdis
> - code-injection/Makefile
> - Enable UnlockDiagnosticVMOptions and CompilerDirectivesFile
>
> 4. Deploy hsdis to JDK 9 EA b169
>
> 5. Run reproducer
> $ make JAVA_HOME=/path/to/jdk9 syscall
>
>
> hsdis is called from JVMCIEnv::register_method() and CodeInstaller::install().
> So we get same output from hsdis twice.
> I think we should fix it as following:
>
> -------------------------
> diff -r d6d7e5caf497 src/share/vm/jvmci/jvmciCodeInstaller.cpp
> --- a/src/share/vm/jvmci/jvmciCodeInstaller.cpp Mon May 15 12:20:15 2017 +0200
> +++ b/src/share/vm/jvmci/jvmciCodeInstaller.cpp Tue May 17 16:21:08 2017 +0900
> @@ -623,7 +623,7 @@
> if (nm != NULL && env == NULL) {
> DirectiveSet* directive = DirectivesStack::getMatchingDirective(method,
> compiler);
> bool printnmethods = directive->PrintAssemblyOption ||
> directive->PrintNMethodsOption;
> - if (printnmethods || PrintDebugInfo || PrintRelocations ||
> PrintDependencies || PrintExceptionHandlers) {
> + if (!printnmethods && (PrintDebugInfo || PrintRelocations ||
> PrintDependencies || PrintExceptionHandlers)) {
> nm->print_nmethod(printnmethods);
> }
> DirectivesStack::release(directive);
> -------------------------
>
> Is this bug?
> If so, I will file it to JBS and will upload webrev.
>
>
> Thanks,
>
> Yasumasa
More information about the hotspot-compiler-dev
mailing list