[jdk19] RFR: 8288949: serviceability/jvmti/vthread/ContStackDepthTest/ContStackDepthTest.java failing [v3]

Ron Pressler rpressler at openjdk.org
Wed Jul 6 08:59:46 UTC 2022


On Wed, 6 Jul 2022 02:19:28 GMT, Dean Long <dlong at openjdk.org> wrote:

>> Ron Pressler has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Add an "i2i" entry to enterSpecial
>>  - Fix comment
>
> src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp line 1058:
> 
>> 1056: 
>> 1057:     address mark = __ pc();
>> 1058:     __ trampoline_call1(resolve, NULL, false);
> 
> I don't think it's necessary to call the resolve stub when in interpreted mode.  Can't we just call the Method's c2i adapter just like the interpreter would?  I guess there might be a startup issue if the adapter hasn't been generated yet.

I couldn't find code that does that and could be easily reused.

> src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp line 1322:
> 
>> 1320: 
>> 1321:     __ pop(rax); // return address
>> 1322:     // Read interpreter arguments into registers (this is an ad-hoc i2c adapter)
> 
> If I understand this correctly, this allows you to avoid creating an interpreted frame.  Pretty clever!

Yeah, it's a hand-rolled i2c adapter. I thought of just calling `gen_i2c_adapter` in place, but that would have required changing it. If we had two separate nmethods, we could rely on the standard i2c, but having two nmethods for a single Method didn't seem safe at this time. We can revisit later.

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

PR: https://git.openjdk.org/jdk19/pull/66


More information about the hotspot-compiler-dev mailing list