RFR: 8231659: [JVMCI] Could not work PrintAssembly for JVMCI installed code

Yasumasa Suenaga yasuenag at gmail.com
Sat Oct 5 00:40:28 UTC 2019


Hi Tom,

I agree with you.
Your change looks good.

Can you push it? or may I create changeset for this?


Thanks,

Yasumasa


On 2019/10/05 4:23, Tom Rodriguez wrote:
> 
> 
> Yasumasa Suenaga wrote on 10/1/19 1:57 AM:
>> Hi all,
>>
>> Please review this change.
>>
>>    JBS: https://bugs.openjdk.java.net/browse/JDK-8231659
>>    webrev: https://cr.openjdk.java.net/~ysuenaga/JDK-8231659/webrev.00/
>>
>> PrintAssembly would work in twice for JVMCI installed code before, so I fixed it in JDK-8180601.
>> However PrintAseembly would not work for them in JDK 13 or later. It seems due to JDK-8220623.
>>
>> JDK-8220623 lacks print_nmethod() call. Thus I revert JDK-8180601 to work PrintAssembly.
> 
> I'd noticed this but forgot to go back and investigate.  I think it would be nicer to make that code look like the code that was accidentally removed from JVMCIEnv.cpp:
> 
> diff -r 647e896479ff src/hotspot/share/jvmci/jvmciCodeInstaller.cpp
> --- a/src/hotspot/share/jvmci/jvmciCodeInstaller.cpp
> +++ b/src/hotspot/share/jvmci/jvmciCodeInstaller.cpp
> @@ -642,11 +642,9 @@
>                                           failed_speculations, speculations, speculations_len);
>       cb = nm->as_codeblob_or_null();
>       if (nm != NULL && compile_state == NULL) {
> +      // This compile didn't come through the CompileBroker so perform the printing here
>         DirectiveSet* directive = DirectivesStack::getMatchingDirective(method, compiler);
> -      bool printnmethods = directive->PrintAssemblyOption || directive->PrintNMethodsOption;
> -      if (!printnmethods && (PrintDebugInfo || PrintRelocations || PrintDependencies || PrintExceptionHandlers)) {
> -        nm->print_nmethod(printnmethods);
> -      }
> +      nm->maybe_print_nmethod(directive);
>         DirectivesStack::release(directive);
>       }
>     }
> 
> No point in duplicating that logic.
> 
> tom


More information about the hotspot-compiler-dev mailing list