diff -r b743968ad646 src/hotspot/share/opto/chaitin.cpp --- a/src/hotspot/share/opto/chaitin.cpp Fri Jan 25 11:15:00 2019 +0100 +++ b/src/hotspot/share/opto/chaitin.cpp Fri Jan 25 13:09:07 2019 +0100 @@ -747,39 +747,36 @@ // Get virtual register number, same as LiveRanGe index uint vreg = _lrg_map.live_range_id(n); LRG& lrg = lrgs(vreg); if (vreg) { // No vreg means un-allocable (e.g. memory) - // Check for float-vs-int live range (used in register-pressure - // calculations) - const Type *n_type = n->bottom_type(); - if (n_type->is_floatingpoint()) { - lrg._is_float = 1; - } - -#ifndef PRODUCT - // Collect bits not used by product code, but which may be useful for - // debugging. - // Collect has-copy bit if (idx) { lrg._has_copy = 1; uint clidx = _lrg_map.live_range_id(n->in(idx)); LRG& copy_src = lrgs(clidx); copy_src._has_copy = 1; } + // Check for float-vs-int live range (used in register-pressure + // calculations) + const Type *n_type = n->bottom_type(); + if (n_type->is_floatingpoint()) { + lrg._is_float = 1; + } + // Check for twice prior spilling. Once prior spilling might have // spilled 'soft', 2nd prior spill should have spilled 'hard' and // further spilling is unlikely to make progress. if (_spilled_once.test(n->_idx)) { lrg._was_spilled1 = 1; if (_spilled_twice.test(n->_idx)) { lrg._was_spilled2 = 1; } } +#ifndef PRODUCT if (trace_spilling() && lrg._def != NULL) { // collect defs for MultiDef printing if (lrg._defs == NULL) { lrg._defs = new (_ifg->_arena) GrowableArray(_ifg->_arena, 2, 0, NULL); lrg._defs->append(lrg._def);