> On Nov 3, 2014, at 12:41 PM, David Chase <david.r.ch...@oracle.com> wrote:
> 
> 
> On 2014-11-03, at 3:09 PM, Peter Levart <peter.lev...@gmail.com> wrote:
> 
>> Hi David,
>> 
>> I was thinking about the fact that java.lang.invoke code is leaking into 
>> java.lang.Class. Perhaps, If you don't mind rewriting the code, a better 
>> code structure would be, if j.l.Class changes only consisted of adding a 
>> simple:
>> …
> 
>> This way all the worries about ordering of writes into array and/or size are 
>> gone. The array is still used to quickly search for an element, but VM only 
>> scans the linked-list.
>> 
>> What do you think of this?
> 
> I’m not sure.  I know Coleen Ph would like to see that happen.
> 
> A couple of people have vague plans to move more of the MemberName resolution 
> into core libs.
> (Years ago I worked on a VM where *all* of this occurred in Java, but some of 
> it was ahead of time.)
> 
> I heard mention of “we want to put more stuff in there” but I got the 
> impression that already happened
> (there’s reflection data, for example) so I’m not sure that makes sense.
> 
> There’s also a proposal from people in the runtime to just use a jmethodid, 
> take the hit of an extra indirection,
> and no need to for this worrisome jvm/java concurrency.
> 
> And if we instead wrote a hash table that only grew, and never relocated 
> elements, we could
> (I think) allow non-synchronized O(1) probes of the table from the Java side, 
> synchronized
> O(1) insertions from the Java side, and because nothing moves, a smaller 
> dance with the
> VM.  I’m rather tempted to look into this — given the amount of work it would 
> take to do the
> benchmarking to see if (a) jmethodid would have acceptable performance or (b) 
> the existing
> costs are too high, I could instead just write fast code and be done.

…but you still have to do the benchmarking.  Let’s not forget that there was a 
performance regression with the first C++ implementation of this.

> 
> And another way to view this is that we’re now quibbling about performance, 
> when we still
> have an existing correctness problem that this patch solves, so maybe we 
> should just get this
> done and then file an RFE.
> 
> David
> 

Reply via email to