RFR: 8332689: RISC-V: Use load instead of trampolines [v7]

Robbin Ehn rehn at openjdk.org
Fri Jun 7 12:06:12 UTC 2024


On Fri, 7 Jun 2024 11:54:37 GMT, Robbin Ehn <rehn at openjdk.org> wrote:

>> Yes, we do an cache flush for the entire memory after all relocations are done.
>> 
>> void CodeBuffer::copy_code_to(CodeBlob* dest_blob) {
>> ...
>>   relocate_code_to(&dest); // reloc done here
>> ....
>>   // Flush generated code
>>   ICache::invalidate_range(dest_blob->code_begin(), dest_blob->code_size());
>> }
>> 
>> 
>> As we need todo this for the entire method I can't find a reason why reloc would need it?
>
> I.e. only in mt_safe case we need an invidual cache flush, if instructions where changed.

Also I split them up because it was very confusing having relocations calling mt_safe.
As you can see in FarCall they are quite different, made no sense to having both cases in same method.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19453#discussion_r1631102852


More information about the hotspot-dev mailing list