CFV: New OpenJDK Members Group Member: Roland Westrelin

Andrew Dinn adinn at redhat.com
Thu Nov 2 09:30:08 UTC 2017


Vote: yes

On 01/11/17 17:40, Andrew Hughes wrote:
> I hereby nominate Roland Westrelin (OpenJDK: roland) [1] for membership in
> the OpenJDK Members group.
>
> Roland is a Principal Software Engineer at Red Hat and works on
> the HotSpot virtual machine. His changesets in the current OpenJDK
> 9 repositories are listed below.
>
> Votes are due by 17:40 UTC on Wednesday, the 15th of November, 2017
>
> Only current members of the OpenJDK Members Group [2] are eligible
> to vote on this nomination.
>
> For Three-Vote Consensus voting instructions, see [3].
>
> [1] http://openjdk.java.net/census#roland
> [2] http://openjdk.java.net/census#members
> [3] http://openjdk.java.net/bylaws#three-vote-consensus
>
> Changesets:
> 6700100: optimize inline_native_clone() for small objects with exact klass
> 6769124: various 64-bit fixes for c1
> 6898462: The escape analysis with G1 cause crash assertion
> src/share/vm/runtime/vframeArray.cpp:94
> 6910461: Register allocator may insert spill code at wrong insertion index
> 6910464: Lookupswitch and Tableswitch default branches not recognized
> as safepoints
> 6912521: System.arraycopy works slower than the simple loop for little lengths
> 6932496: c1: deoptimization of jsr subroutine fails on sparcv9
> 6986046: C1 valuestack cleanup
> 6988303: 6986046 breaks build with recent gcc
> 6991211: assert failure on sparc: "can not have caller-save register
> operands at calls"
> 6991577: add IfOp optimization to C1
> 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
> 7029017: Additional architecture support for c2 compiler
> 7033154: Improve C1 arraycopy performance
> 7054512: Compress class pointers after perm gen removal
> 7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for
> monitor enter/exit code paths
> 7077312: Provide a CALL effect for instruct declaration in the ad file
> 7085012: ARM: com/sun/jdi/PopSynchronousTest.java still fails
> 7086394: c2/arm: enable UseFPUForSpilling
> 7087453: PhaseChaitin::yank_if_dead() should handle MachTemp inputs
> 7090968: Allow adlc register class to depend on runtime conditions
> 7090976: Eclipse/CDT causes a JVM crash while indexing C++ code
> 7096010: c2: running with +PrintOptoAssembly crashes the VM when
> $constanttablebase is used
> 7114106: C1: assert(goto_state->is_same(sux_state)) failed: states
> must match now
> 7116050: C2/ARM: memory stomping error with DivideMcTests
> 7119286: JSR292: SIGSEGV in
> JNIHandleBlock::release_block(JNIHandleBlock*, Thread*)+0x3c
> 7121140: Allocation paths require explicit memory synchronization
> operations for RMO systems
> 7123108: C1: assert(if_state != NULL) failed: states do not match up
> 7123253: C1: in store check code, usage of registers may be incorrect
> 7123910: Some CTW tests crash VM: is_loaded() && that->is_loaded()
> 7126041: jdk7u4 b05 and b06 crash with RubyMine 3.2.4, works well with b04
> 7129715: MAC: SIGBUS in nsk stress test
> 7133857: exp() and pow() should use the x87 ISA on x86
> 7143038: SIGSEGV in assert_equal / LinearScan::assign_reg_num
> 7144405: JumbleGC002 assert(m->offset() == pc_offset) failed: oopmap not found
> 7147740: add assertions to check stack alignment on VM entry from
> generated code (x64)
> 7148486: At a method handle call returning with an exception may call
> the runtime with misaligned stack (x64)
> 7153771: array bound check elimination for c1
> 7167254: Crash on OSX in Enumerator.nextElement() with compressed oops
> 7169934: pow(x,y) or x64 computes incorrect result when x<0 and y is
> an odd integer
> 7171824: assert(_offset >= 1) failed: illegal call to offset()
> 7171890: C1: add Class.isInstance intrinsic
> 7173584: Implement arraycopy as a macro node
> 7174363: Arrays.copyOfRange leads to VM crash with -Xcomp -server if
> executed by testing framework
> 7174532: jdk/test/java/lang/Math/WorstCaseTests.java failing on x86
> 7177917: Failed test java/lang/Math/PowTests.java
> 7184649: NPG: Implement another MetdataPtr case
> 7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
> 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
> 7198074: NPG: assert(((Metadata*)obj)->is_valid()) failed: obj is valid
> 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle
> call site is not linked
> 8000753: compiler/6912517 crashes on 64bit sparc with compressed oops off
> 8005031: Some cleanup in c2 to prepare for incremental inlining support
> 8005071: Incremental inlining for JSR 292
> 8005079: fix LogCompilation for incremental inlining
> 8005114: VM is crashing in ciKlass*ciObjArrayKlass::element_klass() if
> metaspaces are full
> 8007144: Incremental inlining mistakes some call sites for dead ones
> and doesn't inline them
> 8007294: ReduceFieldZeroing doesn't check for dependent load and can
> lead to incorrect execution
> 8007722: C2: "assert(tp->base() != Type::AnyPtr) failed: not a bare
> pointer" at machnode.cpp:376
> 8007959: Use expensive node logic for more math nodes
> 8007986: GrowableArray should implement binary search
> 8007988: PrintInlining output is inconsistent with incremental inlining
> 8008555: Debugging code in compiled method sometimes leaks memory
> 8009460: C2compiler crash in machnode::in_regmask(unsigned int)
> 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the
> interpreter frames it creates
> 8009981: nashorn tests fail with -XX:+VerifyStack
> 8010399: Test8009761.java "Failed: init recursive calls: 5498. After
> deopt 5494".
> 8010460: Interpreter on some platforms loads ConstMethod::_max_stack
> and misses extra stack slots for JSR 292
> 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant
> instructions have only virtual operands"
> 8011582: assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 <<
> nbits-1))) failed: value out of range
> 8011648: C1: optimized build is broken after 7153771
> 8011706: specjvm2008 test xml.transform gets array bound exception with c1
> 8011771: runThese crashed with EAV
> 8011901: Unsafe.getAndAddLong(obj, off, delta) does not work properly
> with long deltas
> 8012037: Test8009761.java "Failed: init recursive calls: 7224. After
> deopt 58824"
> 8012292: optimized build with GCC broken
> 8013532: Remove unused parameter "compiler" from DTRACE_METHOD_COMPILE* macros
> 8015585: Missing regression test for 8011771
> 8016277: Crash in nmethod::is_compiled_by_c1() on x86
> 8023657: New type profiling points: arguments to call
> 8024067: Missing replace_in_map() calls following null checks
> 8024069: replace_in_map() should operate on parent maps
> 8024070: C2 needs some form of type speculation
> 8026054: New type profiling points: type of return values at calls
> 8026251: New type profiling points: parameters to methods
> 8026253: New type profiling points: sparc support
> 8026694: New type profiling points break compilation replay
> 8026796: Make replace_in_map() on parent maps generic
> 8026978: JSR292: fatal error: Type profiling not implemented on this platform
> 8027140: Assertion in compiler when running bigapps/Kitchensink/stability
> 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is
> no longer needed
> 8027445: SIGSEGV at TestFloatingDecimal.testAppendToDouble()I
> 8027571: fatal error: meet not symmetric
> 8027572: assert(r != 0) failed: invalid
> 8027626: assert(Opcode() != Op_If || outcnt() == 2) failed: bad if #1
> 8027631: "unexpected profiling mismatch" error with new type profiling
> 8027632: assert(xtype->klass_is_exact()) failed: Should be exact at graphKit.cpp
> 8028064: tiered may collect wrong receiver type at virtual call
> 8028308: nsk regression, assert(obj->is_oop()) failed: not an oop
> 8028536: Test cases to cover type system fixes pushed with 8024070
> 8028764: dtrace/hotspot_jni/ALL/ALL001 crashes the vm on
> Solaris-amd64, SIGSEGV in MarkSweep::follow_stack()+0x8a
> 8029383: assert(counter_changed) failed: failed dependencies, but
> counter didn't change
> 8029464: assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) || ft->isa_narrowoop()
> 8029873: compiler/uncommontrap/TestStackBangRbp.java crashes with SIGSEGV
> 8030662: "assert(counter_changed) failed: failed dependencies, but
> counter didn't change" still fails
> 8031752: Failed speculative optimizations should be reattempted when
> root of compilation is different
> 8031754: Type speculation should favor profile data from outermost
> inlined method
> 8031755: Type speculation should be used to optimize explicit null checks
> 8032011: nsk/stress/jck60/jck60022 crashes in
> src\share\vm\runtime\synchronizer.cpp:239
> 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on
> Solaris-Sparc V9
> 8032633: Enable type speculation by default
> 8035841: assert(dp_src->tag() == dp_dst->tag()) failed: should be same
> tags 1 != 0 at ciMethodData.cpp:90
> 8036146: make CPP interpreter build again
> 8037970: make PrintMethodData a diagnostic options
> 8038636: speculative traps break when classes are redefined
> 8039960: Unexpected exit from test
> compiler/profiling/spectrapredefineclass/Launcher.java
> 8039975: SIGSEGV in MethodData::next_data(ProfileData*)
> 8040237: nsk/jvmti/RetransformClasses/retransform001 crashed the VM on
> all platforms when run with with -server -Xcomp
> 8041481: JVM crashes with collect_args_for_profiling
> 8042557: compiler/uncommontrap/TestSpecTrapClassUnloading.java fails
> with: GC triggered before VM initialization completed
> 8042997: Make intrinsic some or all check index/range methods
> 8043413: REGRESSION: Hotspot causes segmentation fault in jdk8ux, but
> not in jdk7ux
> 8043638: Multiple compilation attempts break LogCompulation, lead to
> confusing PrintInlining output
> 8046542: [I.finalize() calls from methods compiled by C1 do not cause
> IllegalAccessError on Sparc
> 8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943
> 8048170: Test closed/java/text/Normalizer/ConformanceTest.java failed
> 8054054: 8040121 is broken
> 8054224: Recursive method that was compiled by C1 is unable to catch
> StackOverflowError
> 8054478: C2: Incorrectly compiled char[] array access crashes JVM
> 8055153: nsk/stress/jck60/jck60014 crashes on sparc
> 8055530: assert(_exits.control()->is_top() ||
> !_gvn.type(ret_phi)->empty()) failed: return value must be well
> defined
> 8055910: closed/java/util/Collections/CheckedCollections.java failed
> with ClassCastException not thrown
> 8055946: assert(result == NULL || result->is_oop()) failed: must be oop
> 8057038: Speculative traps not robust when compilation and class
> unloading are concurrent
> 8057758: Tests run TypeProfileLevel=222 crash with guarantee(0)
> failed: must find derived/base pair
> 8058636: test case for 8057758
> 8058746: escape analysis special case code for array copy broken by 7173584
> 8060252: JDK-7173584 compiler changes regress SPECjvm2008 on SPARC
> 8063086: Math.pow yields different results upon repeated calls
> 8064703: crash running specjvm98's javac following 8060252
> 8066045: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1
> 8066103: C2's range check smearing allows out of bound array accesses
> 8066775: opto/node.hpp:355, assert(i < _max) failed: oob: i=1, _max=1
> 8067144: SIGSEGV with +TraceDeoptimization in Deoptimization::print_objects
> 8067231: Zero builds fails after JDK-6898462
> 8067647: [TESTBUG] compiler/rangechecks/TestRangeCheckSmearing.java
> uses wrong path to Whitebox API
> 8069191: moving predicate out of loops may cause array accesses to
> bypass null check
> 8069263: assert(fm == NULL || fm->method_holder() == _participants[n])
> failed: sanity
> 8071533: assert(n0->is_Call()) failed: expect a call here
> 8071731: Better scaling for C1
> 8071821: Assert failed in UnexpectedDeoptimizationTest.java
> 8071999: SA's buildreplayjars fail with exception
> 8072016: Array copy may cause infinite cycle of deoptimization/compilation
> 8073184: Compile of java.lang.Integer::getChars fails with
> LoopLimitCheck = false after 8054478
> 8073480: C2 should optimize explicit range checks
> 8073792: assert((get_length_if_constant(phase) == -1) ==
> !ary_src->size()->is_con()) failed: inconsistent
> 8073796: assert(check_obj_alignment(result)) failed: address not aligned: ...
> 8073866: Fix for 8064703 is not sufficient
> 8073957: assert(ary_src != 0) failed: not an array or instance?
> 8074676: java.lang.invoke.PermuteArgsTest.java fails with
> "assert(is_Initialize()) failed: invalid node class"
> 8075587: Compilation of constant array containing different sub
> classes crashes the JVM
> 8075663: compiler/rangechecks/TestExplicitRangeChecks.java fails in
> compiler nightlies
> 8075921: assert assert(allocx == alloc) fails in library_call.cpp
> 8075922: assert(t == t_no_spec) fails in phaseX.cpp
> 8076094: CheckCastPPNode::Value() has outdated logic for constants
> 8076188: Optimize arraycopy out for non escaping destination
> 8077504: Unsafe load can loose control dependency and cause crash
> 8077832: SA's dumpreplaydata, dumpcfg and buildreplayjars are broken
> 8078426: mb/jvm/compiler/InterfaceCalls/testAC2 -
> assert(predicate_proj == 0L) failed: only one predicate entry expected
> 8078436: java/util/stream/boottest/java/util/stream/UnorderedTest.java
> crashed with an assert in ifnode.cpp
> 8078444: compiler/arraycopy/TestArrayCopyNoInitDeopt.java fails with
> exception 'm2 not deoptimized'
> 8078866: compiler/eliminateAutobox/6934604/TestIntBoxing.java
> assert(p_f->Opcode() == Op_IfFalse) failed
> 8080289: Intermediate writes in a loop not eliminated by optimizer
> 8080308: TypeProfileLevel on SPARC platform should enable JSR292-only
> profiling level
> 8080699: Assert failed: Not a Java pointer in JCK test
> 8080976: Unexpected AIOOB thrown from 1.9.0-ea-b64 on (regression)
> 8081823: C2 performs unsigned comparison against -1
> 8085832: Optimize main and post loop out when pre loop is found empty
> 8086016: closed/java/text/Format/NumberFormat/BigDecimalCompatibilityTest.java
> is crashing
> 8086046: escape analysis generates incorrect code as of B67
> 8087341: C2 doesn't optimize redundant memory operations with G1
> 8130847: Cloned object's fields observed as null after C2 escape analysis
> 8130858: CICompilerCount=1 when tiered is off is not allowed any more
> 8131969: jit/FloatingPoint/gen_math/Loops05 assert(2 <= size && size
> <= 16) failed: update low bits table
> 8132525: java -client -XX:+TieredCompilation -XX:CICompilerCount=1
> -version asserts since 8130858
> 8133599: Unsafe.getAndSetObject() is no longer intrinsified by c2
> 8134031: Incorrect JIT compilation of complex code with inlining and
> escape analysis
> 8134288: compiler/runtime/6859338/Test6859338.java crashes in
> PhaseIdealLoop::try_move_store_after_loop
> 8134321: tools/pack200/Pack200Test.java crashes in the VM PIT jdk9 b79
> 8134468: Lucene test failures with 32 bit JDK 9b78, Server compiler
> 8134883: C1 hard crash in range check elimination in Nashorn test262parallel
> 8134974: 8130847 broken with loop predicates
> 8135069: C2 replaces range checks by unsigned comparison with -1
> 8136461: PhaseIdealLoop::try_move_store_before_loop() may bypass early loop exit
> 8136473: failed: no mismatched stores, except on raw memory: StoreB StoreI
> 8136596: Remove aarch64: MemBarRelease when final field's allocation
> is NoEscape or ArgEscape
> 8136820: Generate better code for some Unsafe addressing patterns
> 8136926: phi == NULL assert in PhaseIdealLoop::try_move_store_after_loop
> 8137049: Code quality: reducing an trivial integer loop does not
> produce an optimal code
> 8137168: Replace IfNode with a new RangeCheckNode for range checks
> 8138956: Elide more final field's write memory barrier with escape
> analysis result
> 8139750: [BACKOUT] Elide more final field's write memory barrier with
> escape analysis result
> 8139771: Eliminating CastPP nodes at Phis when they all come from a
> unique input may cause crash
> 8140309: [REDO] failed: no mismatched stores, except on raw memory:
> StoreB StoreI
> 8142386: Octane crashes with assert(is_Load())
> 8143542: C2 doesn't eliminate identical checks
> 8143930: C1 LinearScan asserts when compiling two back-to-back
> CompareAndSwapLongs
> 8145322: Code generated from unsafe loops can be slightly improved
> 8146792: Predicate moved after partial peel may lead to broken graph
> 8146999: hotspot/test/compiler/c2/8007294/Test8007294.java test nightly failure
> 8147386: assert(size == calc_size) failed: incorrect size calculattion x86_32.ad
> 8147645: get_ctrl_no_update() code is wrong
> 8147853: "assert(t->meet(t0) == t) failed: Not monotonic" with
> sun/util/calendar/zi/TestZoneInfo310.java
> 8148353: [linux-sparc] Crash in libawt.so on Linux SPARC
> 8148786: xml.tranform fails on x86-64
> 8149543: range check CastII nodes should not be split through Phi
> 8149797: Compilation fails with "assert(in_hash) failed: node should
> be in igvn hash table"
> 8149916: Test case for 8149797
> 8154135: Loop alignment may be added inside the loop body
> 8154537: AArch64: some integer rotate instructions are never emitted
> 8154826: AArch64: take advantage better of base + shifted offset addressing mode
> 8154939: 8153998 broke vectorization on aarch64
> 8154943: AArch64: redundant address computation instructions with vectorization
> 8155015: Aarch64: bad assert in spill generation code
> 8155612: Aarch64: vector nodes need to support misaligned offset
> 8155717: Aarch64: enable loop superword's unrolling analysis
> 8161147: jvm crashes when -XX:+UseCountedLoopSafepoints is enabled
> 8161651: Logic in ConnectionGraph::split_unique_types() wrongly
> assumes node always have memory input
> 8161652: Crash with assert(ft == _type) failed in PhiNode::Value()
> 8162338: AArch64: Intrinsify fused mac operations
> 8162384: Performance regression: bimorphic inlining may be bypassed by
> type speculation
> 8166836: Elimination of clone's ArrayCopyNode may make compilation fail silently
> 8167298: assert(tp->base() != Type::AnyPtr) crash with
> Unsafe.compareAndExchangeObject*
> 8167300: Scheduling failures during gcm should be fatal
> 8168086: 8166869 broke jvmci build on aarch64
> 8169497: Aarch64: Improve internal array handling
> 8170470: superword may miss reductions
> 8171092: C1's Math.fma() intrinsic doesn't correctly process its inputs
> 8173147: [ctw] fails during compilation of
> sun.security.krb5.internal.crypto.RsaMd5DesCksumType::calculateKeyedChecksum
> with " graph should be schedulable"
> 8174164: SafePointNode::_replaced_nodes breaks with irreducible loops
> 8175097: [TESTBUG] 8174164 fix missed the test
> 8176513: Poor code quality for ByteBuffers
> 8179070: nashorn+octane's box2d causes c2 to crash with "Bad graph
> detected in compute_lca_of_uses"
> 8179678: ArrayCopy with same src and dst can cause incorrect execution
> or compiler crash
> 8181742: Load that bypasses arraycopy has wrong memory state
> 8183543: Aarch64: C2 compilation often fails with "failed
> spill-split-recycle sanity check"
> 8183551: Aarch64 platform specific code for 8173770
>
> Thanks,

-- 
regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander



More information about the members mailing list