RFR: 8252505: C1/C2 compiler support for blackholes [v11]
Aleksey Shipilev
shade at redhat.com
Thu Dec 3 10:59:52 UTC 2020
On 12/2/20 6:16 PM, Vladimir Ivanov wrote:
> One more idea: what if you populate ciMethod::_intrinsic_id instead when
> you detect a blackhole method? There's already an example of marker
> pseudo-intrinsic (vmIntrinsics::_compiledLambdaForm) and you can just
> introduce a new one for blackhole methods.
>
> Then you don't need `BlackholeCallGenerator` anymore and
> `BlackholeCallGenerator::generate()` can be migrated to
> `library_call.cpp` as yet another intrinsic.
Yes, done in new commits.
It requires a few collateral changes:
- CheckIntrinsic paths disable _blackhole, unless we special-case that there is no
@IntrinsicCandidate enabled.
- JMH cannot request both "blackhole" and "dontinline" on Blackhole methods, as "dontinline" would
take precedence. This is to say that _blackhole is essentially inline intrinsic now.
- C1 can (and should) use the same thing, which removes the need for new nodes there, AFAICS.
--
Thanks,
-Aleksey
More information about the hotspot-dev
mailing list