> De: "mechanical-sympathy" <[email protected]>
> À: "mechanical-sympathy" <[email protected]>
> Envoyé: Lundi 22 Avril 2019 20:25:01
> Objet: Re: Exotic classes

> These classes (especially MostlyConstant) are pretty cool. I have some 
> questions
> about them:
> 1. In MostlyConstant I noticed that modifying the constant doesn't call
> MutableCallSite.syncAll(). Should it?

yes, you're right from a spec POV i should call syncAll(), 
the thing is that the current OpenJDK implementation doesn't need syncAll, but 
it may change in the future or for another implementation. 

> 2. A followup to #1: MutableCallSite.syncAll() doesn't actually seem 
> implemented
> in OpenJDK. Is it correct to call it?

yes, it's not implemented because the native part of setTarget() do the deopt, 
but it's an implementation detail. 

> 3. In my non-scientific JMH measurements, it seems like modifying the call 
> site
> takes about 1us. Does that sound about right? From what I can tell modifying
> the constant is akin to deoptimizing the code and recompiling it, which means
> that 1us seems really fast.

it's quite fast but it may be because 
- it may be not optimized yet 
- the VM mark all the different generated assembly codes that reference the 
constant as should be removed from the code cache and will do it later, 
- the VM will not re-optimize directly if a code is deoptimized, but jump in 
the interpreter and re-optimize later. 

so there is a good chance that what you are measuring is not all 
de-optimization cost. 

Rémi 

> On Monday, February 26, 2018 at 11:29:19 AM UTC-8, Remi Forax wrote:
>> Hi all,
>> i'm preparing a talk at DevoxxFR on how to make a field value, a returned 
>> value,
>> etc constant for any decent JITs (everything but c1), so i've bundled 
>> together
>> several patterns i use for implementing dynamic language runtimes into an 
>> Java
>> API

>> [ https://github.com/forax/exotic | https://github.com/forax/exotic ]

>> I would like to have your comments about those exotic classes (it's already 
>> has
>> been done, it's stupid, it's not thread safe, etc)

>> regards,
>> Rémi

> --
> You received this message because you are subscribed to the Google Groups
> "mechanical-sympathy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email
> to [ mailto:[email protected] |
> [email protected] ] .
> For more options, visit [ https://groups.google.com/d/optout |
> https://groups.google.com/d/optout ] .

-- 
You received this message because you are subscribed to the Google Groups 
"mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to