Hi Chris,
Here's a small optimization over webrev.04 in the caching logic.We don't need a doubly-linked list to implement a FIFO. Just single 'next' link in each key is sufficient. I also changed initialCapacity of ConcurrentHashMap to 2 (which should be typical number of cached shapes per record class when there's more than 1 and requires 4 slots in internal table) and MAX_SIZEĀ of cache to 10 (which is the greatest number that requires 16 slots in internal table)...
http://cr.openjdk.java.net/~plevart/jdk-dev/RecordsDeserialization/webrev.05/ Regards, Peter