C1 crash in LinearScan::eliminate_spill_moves

Eirik Bjørsnøs eirbjo at gmail.com
Fri Feb 5 10:16:51 UTC 2021


>
>
> With a Java 17 fastdebug build, I observe this assertion fail:
>
> V  [libjvm.dylib+0x123e8dd]  VMError::report_and_die(int, char const*,
> char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char
> const*, int, unsigned long)+0x6cd
> V  [libjvm.dylib+0x123eefb]  VMError::report_and_die(Thread*, void*, char
> const*, int, char const*, char const*, __va_list_tag*)+0x3b
> V  [libjvm.dylib+0x62a7ad]  report_vm_error(char const*, int, char const*,
> char const*, ...)+0xdd
> V  [libjvm.dylib+0x42c132]  LIR_OprFact::virtual_register(int,
> BasicType)+0x132
> V  [libjvm.dylib+0x4692a7]  MoveResolver::insert_move(Interval*,
> Interval*)+0x1e7
> V  [libjvm.dylib+0x469800]  MoveResolver::resolve_mappings()+0x250
> V  [libjvm.dylib+0x469f02]  MoveResolver::move_insert_position(LIR_List*,
> int)+0x72
> V  [libjvm.dylib+0x46d40b]  LinearScanWalker::insert_move(int, Interval*,
> Interval*)+0x26b
> V  [libjvm.dylib+0x470ba1]  LinearScanWalker::activate_current()+0x371
> V  [libjvm.dylib+0x46c682]  IntervalWalker::walk_to(int)+0xe2
> V  [libjvm.dylib+0x45963d]  LinearScan::allocate_registers()+0x4ad
> V  [libjvm.dylib+0x46298d]  LinearScan::do_linear_scan()+0x46d
> V  [libjvm.dylib+0x3c2630]  Compilation::emit_lir()+0x150
> V  [libjvm.dylib+0x3c3694]  Compilation::compile_java_method()+0x344
>
>
Forgot to include the actual assertion failure message:

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error ([..]/jdk/src/hotspot/share/c1/c1_LIR.hpp:732), pid=5366,
tid=23811
#  assert(res->vreg_number() == index) failed: conversion check


More information about the hotspot-compiler-dev mailing list