> On Apr 30, 2018, at 11:18 AM, Martin Buchholz <marti...@google.com> wrote:
> 
> 
> 
> On Mon, Apr 30, 2018 at 10:35 AM, Paul Sandoz <paul.san...@oracle.com 
> <mailto:paul.san...@oracle.com>> wrote:
>> An obvious optimization:
>> 
>> 8202398: Optimize Arrays.deepHashCode
>> http://cr.openjdk.java.net/~martin/webrevs/jdk/deepHashCode-optimize/ 
>> <http://cr.openjdk.java.net/~martin/webrevs/jdk/deepHashCode-optimize/>
>> https://bugs.openjdk.java.net/browse/JDK-8202398 
>> <https://bugs.openjdk.java.net/browse/JDK-8202398>
>> 
> 
> I would prefer that the deeply nested ternary expressions be changed to a 
> more expected if/else if/else
> 
> My brain much prefers code transforming tabular data to "look tabular".
>  

I think you will like expression switch :-) in the interim i would stick with 
the less eyebrow raising syntax.


> , and the last else throws an InternalError(“Should not reach here”) with 
> some such message if you really want to express the case of an undetected 
> array type.
> 
> I'd hope valhalla engineers will catch it before anyone else.  In fact, 
> perhaps it's not too early to add a test as part of the valhalla project now? 

I believe in principle it should just work (assuming hash code support for 
values themselves) because an array of values is currently a subtype of 
Object[].

At some point we do need to investigate the L-world with tests for values and 
arrays/collections of, that will help test functionality but also expose issues 
around nulls. The 166 TCK might be a good place to start.

Paul.

Reply via email to