hotspot/src/share/vm/opto/graphKit.cpp
changeset 46620 750c6edff33b
parent 46542 73dd19b96b5d
child 46630 75aa3e39d02c
equal deleted inserted replaced
46619:a3919f5e8d2b 46620:750c6edff33b
  3560   Node* initial_slow_cmp  = _gvn.transform( new CmpUNode( length, intcon( fast_size_limit ) ) );
  3560   Node* initial_slow_cmp  = _gvn.transform( new CmpUNode( length, intcon( fast_size_limit ) ) );
  3561   Node* initial_slow_test = _gvn.transform( new BoolNode( initial_slow_cmp, BoolTest::gt ) );
  3561   Node* initial_slow_test = _gvn.transform( new BoolNode( initial_slow_cmp, BoolTest::gt ) );
  3562 
  3562 
  3563   // --- Size Computation ---
  3563   // --- Size Computation ---
  3564   // array_size = round_to_heap(array_header + (length << elem_shift));
  3564   // array_size = round_to_heap(array_header + (length << elem_shift));
  3565   // where round_to_heap(x) == round_to(x, MinObjAlignmentInBytes)
  3565   // where round_to_heap(x) == align_to(x, MinObjAlignmentInBytes)
  3566   // and round_to(x, y) == ((x + y-1) & ~(y-1))
  3566   // and align_to(x, y) == ((x + y-1) & ~(y-1))
  3567   // The rounding mask is strength-reduced, if possible.
  3567   // The rounding mask is strength-reduced, if possible.
  3568   int round_mask = MinObjAlignmentInBytes - 1;
  3568   int round_mask = MinObjAlignmentInBytes - 1;
  3569   Node* header_size = NULL;
  3569   Node* header_size = NULL;
  3570   int   header_size_min  = arrayOopDesc::base_offset_in_bytes(T_BYTE);
  3570   int   header_size_min  = arrayOopDesc::base_offset_in_bytes(T_BYTE);
  3571   // (T_BYTE has the weakest alignment and size restrictions...)
  3571   // (T_BYTE has the weakest alignment and size restrictions...)