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