On Mar 7, 2015, at 11:24 AM, Remi Forax <fo...@univ-mlv.fr> wrote: > > > On 03/07/2015 07:48 PM, Andrew Haley wrote: >> On 03/07/2015 05:57 PM, Remi Forax wrote: >>> Hi Andrew, >>> I've just read carefully the JDK part and I'm mostly ok with it. >>> >>> in Unsafe, all private methods should be static >> You're going to have to explain that. Firstly, why? There's no real >> performance advantage, and secondly, how is a static method supposed >> to invoke the virtual methods in Unsafe? I suppose it could use >> theUnsafe.blah() but that would be worse than a simple virtual call. > > I mean all private methods that doesn't starts with "put*", > convEndian, toUnsignedInt/toUnsignedLong, pick, make*, pickPos.
It's a small point but I agree with this. Leaving out "static" makes it harder to understand the roles of the relevant methods. Scrutable code is better code. It almost never matters, but there is also a slight effect on the code pipeline: passing 'this' as an argument slightly increases the complexity of the methods. — John