95 // Generate a straightforward VirtualObject with values that match to declared field types. |
95 // Generate a straightforward VirtualObject with values that match to declared field types. |
96 JavaKind[] kinds = fieldKinds.clone(); |
96 JavaKind[] kinds = fieldKinds.clone(); |
97 JavaValue[] values = getJavaValues(kinds); |
97 JavaValue[] values = getJavaValues(kinds); |
98 test(simple, values, kinds, false); |
98 test(simple, values, kinds, false); |
99 |
99 |
100 // Spread a long value across two int fields |
100 // Spread a long value across two int fields starting at an aligned field |
101 kinds = Arrays.copyOf(fieldKinds, fieldKinds.length - 1); |
101 kinds = Arrays.copyOf(fieldKinds, fieldKinds.length - 1); |
102 kinds[1] = JavaKind.Long; |
102 kinds[fields[0].getOffset() % 8 == 0 ? 0 : 1] = JavaKind.Long; |
103 test(simple, getJavaValues(kinds), kinds, false); |
103 test(simple, getJavaValues(kinds), kinds, false); |
104 |
104 |
105 // Produce a long value for the final int field so there is no matching int field for the |
105 // Produce a long value for the final int field so there is no matching int field for the |
106 // second half of the long |
106 // second half of the long |
107 kinds = fieldKinds.clone(); |
107 kinds = fieldKinds.clone(); |