On Tue, 6 Jun 2023 21:29:49 GMT, Paul Sandoz <psan...@openjdk.org> wrote:

> I believe instead of changing the guards we can change the implementation of 
> the static methods on the concrete static VHs to call `asDirect()` (lets also 
> add `@ForceInline` on `asDirect`), since `linkToStatic` will pass the args to 
> the static method described by the member name (since the lazy and direct VH 
> handles share the same var form).
> 
> That has the nice effect of pushing the complexity closer to where it is 
> needed. Its subtle but i think can be explained. Thereby we can reduce the 
> memory footprint for subsequent access modes. Perhaps we can even "zero" out 
> the MH cache on initialization?

Is this aimed at decreasing long-term invocation cost or the initial invocation 
cost? FYI long-term invocation is already efficient enough; if this is for 
initial invocation, which can potentially bypass costly MH construction, I 
recommend creating an alternative method to `asDirect` for the purpose to be 
called and casted by X-VarHandle implementations.

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

PR Comment: https://git.openjdk.org/jdk/pull/13821#issuecomment-1579550628

Reply via email to