A question about the patching instruction order of CompiledIC::internal_set_ic_destination

Denghui Dong denghui.ddh at alibaba-inc.com
Wed Feb 16 16:10:18 UTC 2022


Hello team,

I have a question about the patching order in CompiledIC::internal_set_ic_destination.

If I understand correctly, the current implementation patches the CALL instruction first and then the MOV instruction.

My question is why don't patch the MOV instruction first?

Suppose an inline cache is in the transition from Clean to Monomorphic state, and the CALL instruction is patched already, but
the MOV instruction is not. If another thread executes to this call site, the guard of the callee UEP will be failed and forward to _ic_miss_blob.

Any input is appreciated:-)

Thanks,
Denghui


More information about the hotspot-compiler-dev mailing list