RFR: 8219101: Stop using ICStubs for CompiledIC transitions to clean
dean.long at oracle.com
dean.long at oracle.com
Wed Feb 27 22:21:35 UTC 2019
On 2/26/19 12:19 PM, Erik Osterlund wrote:
>> In CompiledIC::set_to_monomorphic(), why is the following transition safe? I would think we need a transition stub here:
>>
>> 446 } else if (!is_in_transition_state() && get_data() == Universe::non_oop_word()) {
>> 447 set_ic_destination_and_value(info.entry(), info.cached_metadata());
> The thought has been thst all interleavings have a happy ending. Any execution that sees the old value will miss in the unverified entry, regardless of destination. And whatever data was observed, executions with the old destination will call a resolution handler. Only executions observing the new data and new destination will get past the unverified entry.
>
I'm almost convinced, but if seeing the old value is OK, then why check
for non_oop_word()?
dl
More information about the hotspot-dev
mailing list