Valdimir Kozlov's evaluation:
I looked on hs_err files for 8-60 and 8-111 (I don't have permission to look
on 8-131). They have next line about CPU:
CPU:total 1 v9, popc, vis1, vis2, vis3, blk_init, cbcond, aes, sha1, sha256,
sha512, sun4v, niagara_plus
A strange thing is it lists only 1 thread: "total 1 v9". Looks like it was
running in some kind of VM.
is_MP() will return false in such case!!!
To finalize set of BIS instructions we have to issue membar at the end:
http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot/file/d3cc20285653/src/cpu/sparc/vm/stubGenerator_sparc.cpp#l1106
But membar instruction is not generated if MP is false:
http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot/file/d3cc20285653/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp#l651
I think this is the cause of the problem.
To verify that run with -XX:+AssumeMP
http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot/file/d3cc20285653/src/share/vm/runtime/os.hpp#l217
We should set AssumeMP to true on SPARC.