[lworld] RFR: 8266466: [lworld] Enhance javac to consume unified primitive class files generated under the option -XDunifiedValRefClass [v3]

Srikanth Adayapalam sadayapalam at openjdk.java.net
Mon May 24 06:27:09 UTC 2021


On Fri, 21 May 2021 12:30:32 GMT, Srikanth Adayapalam <sadayapalam at openjdk.org> wrote:

>> src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java line 1033:
>> 
>>> 1031:          * viewed against the default nature of the associated class.
>>> 1032:          */
>>> 1033:         public enum Flavor {
>> 
>> Perhaps you could add a method which "upgrades" a flavor to a new one, given new info.
>> 
>> e.g.
>> 
>> 
>> L_TypeOf_X.update(sym.isPrimitiveClass()) ->  L_TypeOf_Q/L_TypeOf_L (depending on isPrimitiveClass)
>> 
>> 
>> This would allow you to rule out (e.g. throw) bad updates. E.g. X flavors can be updated, all the other "leaf" flavors can only be updated to self. 
>> 
>> I think a method such as this would remove a lot of conditional logic in the clients.
>
> I'll take a look ...

> Perhaps you could add a method which "upgrades" a flavor to a new one, given new info.
> 
> e.g.
> 
> ```
> L_TypeOf_X.update(sym.isPrimitiveClass()) ->  L_TypeOf_Q/L_TypeOf_L (depending on isPrimitiveClass)
> ```
> 
> This would allow you to rule out (e.g. throw) bad updates. E.g. X flavors can be updated, all the other "leaf" flavors can only be updated to self.
> 
> I think a method such as this would remove a lot of conditional logic in the clients.

Thanks, this turned out to be a nice suggestion and helped simplify the code at 3 or 4 places.

-------------

PR: https://git.openjdk.java.net/valhalla/pull/421


More information about the valhalla-dev mailing list