RFR: 8303022: "assert(allocates2(pc)) failed: not in CodeBuffer memory" When linking downcall handle [v2]
Jorn Vernee
jvernee at openjdk.org
Fri Mar 10 14:14:56 UTC 2023
On Thu, 9 Mar 2023 06:39:47 GMT, Feilong Jiang <fjiang at openjdk.org> wrote:
>> @vnkozlov Yes, this is true. The only other existing port of this code is RISCV. However, to fix that port properly, someone needs to repeat the experiment on RISCV in order to figure out what the base size and the size per argument should be.
>>
>> I don't have access to a RISCV machine, so I figured I would file a followup issue for the RISCV maintainers to fix separately.
>>
>> @feilongjiang Could you comment on this? If you could figure out the needed sizes for RISCV I could add the needed changes to this patch. Otherwise I could file a followup issue if that seems more convenient. TIA
>
>> @feilongjiang Could you comment on this? If you could figure out the needed sizes for RISCV I could add the needed changes to this patch. Otherwise I could file a followup issue if that seems more convenient. TIA
>
> Yes, I will take a look to find out the needed size for RISCV.
>
> Update:
> When disabling RVC (compressed instructions) on fastdebug build, `LogCompilation` reveals that downcall stub base will cost ~200 bytes, 256 looks good enough. But for upcall stubs, we need ~1700 bytes when Shenandoah GC is enabled, so 2048 would be a safe base size. `jdk_foreign` on RISC-V board are all passed (release & fastdebug) with the fix of #12950.
>
> Here is the patch:
> [riscv.txt](https://github.com/openjdk/jdk/files/10938297/riscv.txt)
@feilongjiang Thanks! I've added the riscv changes.
-------------
PR: https://git.openjdk.org/jdk/pull/12908
More information about the hotspot-compiler-dev
mailing list