On Mar 18, 2014, at 2:35 PM, John Rose <john.r.r...@oracle.com> wrote:
> On Mar 18, 2014, at 1:36 PM, Christian Thalinger > <christian.thalin...@oracle.com> wrote: > >> Why are we not using an Enum instead of an "untyped" byte? > > Byte is moderately typed, in the sense (which I rely on during development) > that you can't assign an int or char to a byte w/o a cast. > That's why it is not just a plain int. > > But those values (L_TYPE etc.) are used a lot as numbers, and specifically as > low-level array indexes, and also comparisons (x < V_TYPE). > > To turn them into enums, we'd have to add lots of calls to '.ordinal()' to > turn them right back to numbers. That dilutes (completely IMO) the value > they have as enums to raise the level of the code. But without being strongly typed we get bugs like this one: @Override - MethodHandle bindArgument(int pos, char basicType, Object value) { + MethodHandle bindArgument(int pos, byte basicType, Object value) { // If the member needs dispatching, do so. if (pos == 0 && basicType == 'L') { I’m just saying that for the sake of maintainability and correctness an Enum would be better. > > — John > _______________________________________________ > mlvm-dev mailing list > mlvm-dev@openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
_______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev