Mercurial > hg > truffle
comparison src/share/vm/opto/vectornode.cpp @ 29:d5fc211aea19
6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM
Summary: T_ADDRESS size is defined as 'int' size (4 bytes) but C2 use it for raw pointers and as memory type for StoreP and LoadP nodes.
Reviewed-by: jrose
author | kvn |
---|---|
date | Mon, 25 Feb 2008 15:05:44 -0800 |
parents | a61af66fc99e |
children | d1605aabd0a1 |
comparison
equal
deleted
inserted
replaced
28:67914967a4b5 | 29:d5fc211aea19 |
---|---|
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 } |