comparison src/share/vm/opto/node.hpp @ 23471:70649f10b88c

8129847: Compiling methods generated by Nashorn triggers high memory usage in C2 Summary: Add a new compiler phase, PhaseRenumberLive, that renumbers live nodes. Reviewed-by: kvn, thartmann, vlivanov, shade
author zmajo
date Tue, 15 Dec 2015 09:46:51 +0100
parents 9df0d8f65fea
children 7c5babab479b
comparison
equal deleted inserted replaced
23469:c1679cc87ba0 23471:70649f10b88c
292 // Grow the output array to the next larger power-of-2 bigger than len. 292 // Grow the output array to the next larger power-of-2 bigger than len.
293 void out_grow( uint len ); 293 void out_grow( uint len );
294 294
295 public: 295 public:
296 // Each Node is assigned a unique small/dense number. This number is used 296 // Each Node is assigned a unique small/dense number. This number is used
297 // to index into auxiliary arrays of data and bitvectors. 297 // to index into auxiliary arrays of data and bit vectors.
298 // It is declared const to defend against inadvertant assignment, 298 // The field _idx is declared constant to defend against inadvertent assignments,
299 // since it is used by clients as a naked field. 299 // since it is used by clients as a naked field. However, the field's value can be
300 // changed using the set_idx() method.
301 //
302 // The PhaseRenumberLive phase renumbers nodes based on liveness information.
303 // Therefore, it updates the value of the _idx field. The parse-time _idx is
304 // preserved in _parse_idx.
300 const node_idx_t _idx; 305 const node_idx_t _idx;
306 DEBUG_ONLY(const node_idx_t _parse_idx;)
301 307
302 // Get the (read-only) number of input edges 308 // Get the (read-only) number of input edges
303 uint req() const { return _cnt; } 309 uint req() const { return _cnt; }
304 uint len() const { return _max; } 310 uint len() const { return _max; }
305 // Get the (read-only) number of output edges 311 // Get the (read-only) number of output edges