hotspot/src/share/vm/opto/vectornode.cpp
changeset 202 dc13bf0e5d5d
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
equal deleted inserted replaced
201:7893b7ce2d8d 202:dc13bf0e5d5d
   133   int ct = hi - lo;
   133   int ct = hi - lo;
   134   assert(is_power_of_2(ct), "power of 2");
   134   assert(is_power_of_2(ct), "power of 2");
   135   int mid = lo + ct/2;
   135   int mid = lo + ct/2;
   136   Node* n1 = ct == 2 ? in(lo)   : binaryTreePack(C, lo,  mid);
   136   Node* n1 = ct == 2 ? in(lo)   : binaryTreePack(C, lo,  mid);
   137   Node* n2 = ct == 2 ? in(lo+1) : binaryTreePack(C, mid, hi );
   137   Node* n2 = ct == 2 ? in(lo+1) : binaryTreePack(C, mid, hi );
   138   int rslt_bsize = ct * type2aelembytes[elt_basic_type()];
   138   int rslt_bsize = ct * type2aelembytes(elt_basic_type());
   139   if (bottom_type()->is_floatingpoint()) {
   139   if (bottom_type()->is_floatingpoint()) {
   140     switch (rslt_bsize) {
   140     switch (rslt_bsize) {
   141     case  8: return new (C, 3) PackFNode(n1, n2);
   141     case  8: return new (C, 3) PackFNode(n1, n2);
   142     case 16: return new (C, 3) PackDNode(n1, n2);
   142     case 16: return new (C, 3) PackDNode(n1, n2);
   143     }
   143     }