RFR: 8326306: RISC-V: Re-structure MASM calls and jumps [v8]
Robbin Ehn
rehn at openjdk.org
Wed May 8 12:35:52 UTC 2024
On Wed, 8 May 2024 10:21:08 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> The JNI_FastGetField::generate_fast_get_XXX_field0 write the code in a CodeBuffer, this where slow_case_addr points to.
>>
>> As I test with ReservedCodeCacheSize=2047M if we generated a li() relocation would fail. (there is usually around 120 MB between them)
>>
>> Added your assert, it passes also.
>>
>> ExternalAddress target(slow_case_addr);
>> + assert(CodeCache::contains(slow_case_addr), "Must be");
>> __ relocate(target.rspec(), [&] {
>>
>>
>>
>> I guess you are running on apple, the code concerning "static_fast_get_field_wrapper" smells.
>> Maybe you found a bug here.
>
> Try this: `make test TEST="runtime/jni/FastGetField/FastGetField.java"`
> The assertion failed on both linux-aarch64 and linux-riscv64 platforms.
If `-UseFastJNIAccessors or +VerifyJNIFields or +CheckJNICalls` we never use the stubs.
In this case the JVM TI agent have callbacks since it have field watches, so it turns the stubs off.
Good catch thanks!
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18942#discussion_r1593956722
More information about the hotspot-dev
mailing list