RFR (S): Failure after windows compiler upgrade
vladimir.kozlov at oracle.com
Tue Apr 28 19:07:03 UTC 2015
First, correctness fix is overweight performance benefits.
Second, this is very urgent issue since we can't promote Hotspot for more then 3 weeks now.
Third, thank you, Nils, for verifying that the code is the same with this flags as before with vs2010. It means we did
not introduced any regressions.
Fourth, we can implement more complex fix (per file flags which currently is not supported on windows as David said)
later if GC does not care about float point rounding results. But it will take a lot more efforts and testing than
current simple fix. You don't want to be flooded by Mincraft bugs :) File RFE.
Fifth, 32-bit java on Windows is not as important as 64-bit version which is current mainstream. I don't know why you
want to optimize it when it is slower than 64-bit anyway (which has more general registers and other benefits).
On 4/28/15 11:44 AM, Nils Eliasson wrote:
> After some further investigation - vs2013 with the /arch:IA32 flag generates similar code to what vs2010 generated
> before. (Emitting x87 instructions only.) We should not expect any performance regression.
> On 2015-04-28 18:25, Kim Barrett wrote:
>> On Apr 28, 2015, at 8:29 AM, Nils Eliasson <nils.eliasson at oracle.com> wrote:
>>> Which platforms did you ues SSE instructions on? It looks like the default for windows ia32 with VS2010 equals VS2013
>>> with /arch:IA32 flag.
>> I haven’t actually written the code I was alluding to. I am working on card table scanning performance as a sort of
>> background task, and research uncovered that there are ways to make use of SSE2 to get potentially significant gains.
>> I was expecting to need a runtime test to decide whether to use that approach; the point where that test would occur
>> would make it not have any impact on scanning performance. I think only 32bit (x86 obviously) platforms would require
>> the runtime check, as SSE2 is (I think) always present for 64bit x86.
More information about the hotspot-dev