[External] : Re: Enhancing java.lang.constant for Valhalla
Brian Goetz
brian.goetz at oracle.com
Thu Dec 16 20:57:41 UTC 2021
> If the preload() bit is tied to the ClassDesc, do we need to worry
> about a bit mask in MethodTypeDesc? Isn't the MethodTypeDesc composed
> of ClassDesc returnType and ClassDesc[] of parameters? I feel like
> I'm missing some complexity here...
That's how the implementation happens to work, but conceptually, a
MethodType has N+1 descriptors and N pre-load bits. (Its convenient
that the the implementation works in terms of ClassDesc.)
>
>> Also, how would this affect ClassDesc::equals? Would LFoo and L*Foo be equal?
> I think they'd have to be equal as they represent the same descriptor.
> It's only the presence of side channel info - the star - that makes
> them different and the difference is only in the "go and look"
> behaviour. The VM will treat them as identical when dealing with
> descriptor strings.
>
Which makes me ask ... if it really is a side channel, does it really go
*in* the ClassDesc?
More information about the valhalla-spec-observers
mailing list