The performance of running specJBB on the 64 bit Windows or Linux AMD64
VM is not at the level that it should be. It is approx 30% less
that it should be.
After looking into this issue, I discovered that we are failing to
compile some critical methods resulting in this loss of performance.
We are failing to compile the following method with the error "local
schedule failed".
java.util.concurrent.AtomicLong.compareAndSet
The compiler was trying to inline unsafe.compareAndSwapLong() at the
time of the failed compilation.
The performance regression is caused by the fact that we are interpreting
this method which is used quite heavily in specJBB.
The failure to compile has been tracked down to the hotspot file
src/share/vm/opto/library_call.cpp in the routine inline_unsafe_CAS.
The IR that is generated is invalid. Steve Goldman has suggested a
workaround where we move the following code line to after the first
2 insert_mem_bar calls.
Node *mem = memory(alias_idx);
I have tested this fix and it does solve the problem.
VM is not at the level that it should be. It is approx 30% less
that it should be.
After looking into this issue, I discovered that we are failing to
compile some critical methods resulting in this loss of performance.
We are failing to compile the following method with the error "local
schedule failed".
java.util.concurrent.AtomicLong.compareAndSet
The compiler was trying to inline unsafe.compareAndSwapLong() at the
time of the failed compilation.
The performance regression is caused by the fact that we are interpreting
this method which is used quite heavily in specJBB.
The failure to compile has been tracked down to the hotspot file
src/share/vm/opto/library_call.cpp in the routine inline_unsafe_CAS.
The IR that is generated is invalid. Steve Goldman has suggested a
workaround where we move the following code line to after the first
2 insert_mem_bar calls.
Node *mem = memory(alias_idx);
I have tested this fix and it does solve the problem.
- relates to
-
JDK-4964884 ~32% specjbb regression in Linux & Windows on AMD64 in 150b29
-
- Closed
-