Aleksey Shipilev wrote:
a little update here. I have managed to split problematic method into two chunks, I will attach new patch to JIRA in few minutes. So far the picture is following:
So this is an attempt to make the method small enough (measured in what?) to be inlined by the JIT, right? Is there a way to annotate the JIT to always in-line it, say by name, rather than juggling the size?
Windows x86_64: 100% Harmony-clean 97.7% Harmony-clean + H5374 (old) 99.6% Harmony-clean + H5374 (new) Windows x86: 100% Harmony-clean 97.9% Harmony-clean + H5374 (old) 99.6% Harmony-clean + H5374 (new)
What benchmark are you using? I saw this specialization technique give a reasonable boost on SPECjbb2005, with IBM VME not DRLVM, and was hoping it would be applicable here too. Avoiding the value dereference enhances data locality and thereby fewer CPU cache misses.
I will spend more time considering what can be done to beat current implementation, gathering new profile and making accurate measurements. But since there is a little degradation remain, I would propose to wait some more time for clearer picture. What do you think?
I think we should only apply the patch if it produces a benefit to Harmony. Regards, Tim
