[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-experts
mailing list