RFR: enqueue barrier + some other things

Aleksey Shipilev shade at redhat.com
Wed Jun 20 13:45:40 UTC 2018


On 06/20/2018 03:25 PM, Roland Westrelin wrote:
> 
>> Yes. I think we'd better have first patch that does not move the code, makes the actual code
>> changes, maybe renaming methods, but keeping their bodies at the same code positions. Then the
>> second patch that moves the code blocks around. It would be much easier to backport this way, as
>> actual changes would be visible in first patch, and second patch could be reimplemented by
>> reshuffling the existing code.
> 
> Here you go:
> 
> http://cr.openjdk.java.net/~roland/shenandoah/refactor-mem-utilities/webrev.00/

Thank you, this is much more understandable! Perhaps a good style would be introducing "phase" and
"C" local variables, so superfluous variable renames are out of the picture too -- your call.

Ran tier3_gc_shenandoah, and there are multiple failures like:

#  SIGSEGV (0xb) at pc=0x000015326716d737, pid=65257, tid=65274
#
# JRE version: OpenJDK Runtime Environment (11.0) (fastdebug build
11-internal+0-adhoc.shade.shenandoah-jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 11-internal+0-adhoc.shade.shenandoah-jdk, mixed mode,
tiered, compressed oops, shenandoah gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x1b22737]  Node::in(unsigned int) const [clone .isra.60] [clone .constprop.239]+0x7


Current CompileTask:
C2:    174   76       4       java.util.ImmutableCollections$SetN$SetNIterator::nextIndex (56 bytes)

Stack: [0x0000153232c9e000,0x0000153232d9f000],  sp=0x0000153232d97ae0,  free space=998k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native
code)
V  [libjvm.so+0x1b22737]  Node::in(unsigned int) const [clone .isra.60] [clone .constprop.239]+0x7
V  [libjvm.so+0x1b416db]  ShenandoahWriteBarrierNode::pin_and_expand(PhaseIdealLoop*)+0x105b
V  [libjvm.so+0x1316d8d]  PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xd2d
V  [libjvm.so+0x1b377fc]  ShenandoahWriteBarrierNode::expand(Compile*, PhaseIterGVN&, int&)+0x21c
V  [libjvm.so+0xadcf97]  Compile::Optimize()+0xe97
V  [libjvm.so+0xade3c2]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool,
DirectiveSet*)+0x10d2
V  [libjvm.so+0x8b2823]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x2e3
V  [libjvm.so+0xaebc2f]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x49f
V  [libjvm.so+0xaecae1]  CompileBroker::compiler_thread_loop()+0x2d1
V  [libjvm.so+0x1d584ef]  JavaThread::thread_main_inner()+0x2df
V  [libjvm.so+0x1d587dd]  JavaThread::run()+0x22d
V  [libjvm.so+0x1582b42]  thread_native_entry(Thread*)+0x112


Thanks,
-Aleksey



More information about the shenandoah-dev mailing list