On Thu, 19 Sep 2024 14:08:04 GMT, Claes Redestad <redes...@openjdk.org> wrote:

> This PR changes proxy code gen to avoid generating 
> `Class.forName("java.lang.Object")`, instead emitting an ldc for the class 
> literal, `ldc(CD_Object)`, java code equivalent `Object.class`. 
> 
> More types could profitably use `ldc(ClassDesc/-Entry)`, taking cues from 
> `InvokerBytecodeGenerator.isStaticallyInvocable`, but just addressing the 
> `Object` methods gets rid of most `Class.forName` emits. It's not terribly 
> important for throughput performance since these are called in the generated 
> `clinit`, so getting a quick win with few additional checks is a good 
> starting point.
> 
> Added a few unrelated minor refactors/improvements, guided by diagnostic runs 
> of the now fixed microbenchmark.

Replacing Class.forName with ldc or even condy is an esoteric topic. We can 
dive into that later and pick up the obvious gains.

-------------

Marked as reviewed by liach (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/21090#pullrequestreview-2316431460

Reply via email to