C1 crash in LinearScan::eliminate_spill_moves
Eirik Bjørsnøs
eirbjo at gmail.com
Wed Feb 10 14:24:39 UTC 2021
> Does a negative vreg_number make any sense here?
>
c1_LIR.hpp:673 does the following:
(index << LIR_OprDesc::data_shift)
LIR_OprDesc::data_shift is 14 in this case and index is 131073. The left
shift results in an integer overflow where the result is -2147467264.
Having no idea what this function actually does, I'm not sure where to
proceed debugging from here. (My C++ skills are that of a four-year)
What does the index represent anyway? Some kind of virtual register? Why
would there be 131073 indexes? Seems a tad excessive?
Eirik.
More information about the hotspot-compiler-dev
mailing list