The assertion was observed with the following stack:
Stack: [0x0000ffff78274000,0x0000ffff78474000], sp=0x0000ffff7846e750, free space=2025k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x35d580] exact_log2(long)+0x80
V [libjvm.so+0x32dad4] far_cmpI_branch_bitNode::emit(CodeBuffer&, PhaseRegAlloc*) const+0x2c4
V [libjvm.so+0x7d3fa8] Compile::scratch_emit_size(Node const*)+0x350
V [libjvm.so+0x11ee21c] Compile::shorten_branches(unsigned int*, Compile::BufferSizingData&)+0x80c
V [libjvm.so+0x11fc4b8] Compile::Output()+0x908
V [libjvm.so+0x7e4430] Compile::Code_Gen()+0x420
V [libjvm.so+0x7e8260] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1050
V [libjvm.so+0x653020] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xf8
aarch64.ad uses exact_log2 in far_cmpI_branch_bit. The int value gets implicitly converted to long using sign extend. We'd need zero extend.
Stack: [0x0000ffff78274000,0x0000ffff78474000], sp=0x0000ffff7846e750, free space=2025k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x35d580] exact_log2(long)+0x80
V [libjvm.so+0x32dad4] far_cmpI_branch_bitNode::emit(CodeBuffer&, PhaseRegAlloc*) const+0x2c4
V [libjvm.so+0x7d3fa8] Compile::scratch_emit_size(Node const*)+0x350
V [libjvm.so+0x11ee21c] Compile::shorten_branches(unsigned int*, Compile::BufferSizingData&)+0x80c
V [libjvm.so+0x11fc4b8] Compile::Output()+0x908
V [libjvm.so+0x7e4430] Compile::Code_Gen()+0x420
V [libjvm.so+0x7e8260] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1050
V [libjvm.so+0x653020] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xf8
aarch64.ad uses exact_log2 in far_cmpI_branch_bit. The int value gets implicitly converted to long using sign extend. We'd need zero extend.
- duplicates
-
JDK-8240615 is_power_of_2() has Undefined Behaviour and is inconsistent
-
- Resolved
-
- relates to
-
JDK-8183574 Unify the is_power_of_2 functions
-
- Resolved
-