< prev index next >

test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueOops.java

Print this page




 193         assertTrue(objects[3] == ln2, "Bad oop ln2");
 194 
 195         objects = WhiteBox.getWhiteBox().getObjectsViaOopIterator(couple);
 196         assertTrue(objects.length == 4, "Expected 4 oops");
 197         assertTrue(objects[0] == fn1, "Bad oop fn1");
 198         assertTrue(objects[1] == ln1, "Bad oop ln1");
 199         assertTrue(objects[2] == fn2, "Bad oop fn2");
 200         assertTrue(objects[3] == ln2, "Bad oop ln2");
 201 
 202         // Array..
 203         objects = WhiteBox.getWhiteBox().getObjectsViaOopIterator(createPeople());
 204         assertTrue(objects.length == NOF_PEOPLE * 2, "Unexpected length: " + objects.length);
 205         int o = 0;
 206         for (int i = 0; i < NOF_PEOPLE; i++) {
 207             assertTrue(objects[o++].equals(firstName(i)), "Bad firstName");
 208             assertTrue(objects[o++].equals(lastName(i)), "Bad lastName");
 209         }
 210 
 211         // Sanity check, FixMe need more test cases
 212         objects = testFrameOops(couple);
 213         assertTrue(objects.length == 5, "Number of frame oops incorrect = " + objects.length);
 214         assertTrue(objects[0] == couple, "Bad oop 0");
 215         assertTrue(objects[1] == fn1, "Bad oop 1");
 216         assertTrue(objects[2] == ln1, "Bad oop 2");
 217         assertTrue(objects[3] == TEST_STRING1, "Bad oop 3");
 218         assertTrue(objects[4] == TEST_STRING2, "Bad oop 4");
 219 
 220         testFrameOopsVBytecodes();
 221     }
 222 
 223     static final String GET_OOP_MAP_NAME = "getOopMap";
 224     static final String GET_OOP_MAP_DESC = "()[Ljava/lang/Object;";
 225 
 226     public static Object[] getOopMap() {
 227         Object[] oopMap = WhiteBox.getWhiteBox().getObjectsViaFrameOopIterator(2);
 228         /* Remove this frame (class mirror for this method), and above class mirror */
 229         Object[] trimmedOopMap = new Object[oopMap.length - 2];
 230         System.arraycopy(oopMap, 2, trimmedOopMap, 0, trimmedOopMap.length);
 231         return trimmedOopMap;
 232     }
 233 
 234     // Expecting Couple couple, Person couple.onePerson, and Person (created here)
 235     public static Object[] testFrameOops(Couple couple) {
 236         int someId = 89898;
 237         Person person = couple.onePerson;
 238         assertTrue(person.getId() == 0, "Bad Person");
 239         Person anotherPerson = Person.create(someId, TEST_STRING1, TEST_STRING2);
 240         assertTrue(anotherPerson.getId() == someId, "Bad Person");




 193         assertTrue(objects[3] == ln2, "Bad oop ln2");
 194 
 195         objects = WhiteBox.getWhiteBox().getObjectsViaOopIterator(couple);
 196         assertTrue(objects.length == 4, "Expected 4 oops");
 197         assertTrue(objects[0] == fn1, "Bad oop fn1");
 198         assertTrue(objects[1] == ln1, "Bad oop ln1");
 199         assertTrue(objects[2] == fn2, "Bad oop fn2");
 200         assertTrue(objects[3] == ln2, "Bad oop ln2");
 201 
 202         // Array..
 203         objects = WhiteBox.getWhiteBox().getObjectsViaOopIterator(createPeople());
 204         assertTrue(objects.length == NOF_PEOPLE * 2, "Unexpected length: " + objects.length);
 205         int o = 0;
 206         for (int i = 0; i < NOF_PEOPLE; i++) {
 207             assertTrue(objects[o++].equals(firstName(i)), "Bad firstName");
 208             assertTrue(objects[o++].equals(lastName(i)), "Bad lastName");
 209         }
 210 
 211         // Sanity check, FixMe need more test cases
 212         objects = testFrameOops(couple);
 213         //assertTrue(objects.length == 5, "Number of frame oops incorrect = " + objects.length);
 214         //assertTrue(objects[0] == couple, "Bad oop 0");
 215         //assertTrue(objects[1] == fn1, "Bad oop 1");
 216         //assertTrue(objects[2] == ln1, "Bad oop 2");
 217         //assertTrue(objects[3] == TEST_STRING1, "Bad oop 3");
 218         //assertTrue(objects[4] == TEST_STRING2, "Bad oop 4");
 219 
 220         //testFrameOopsVBytecodes();
 221     }
 222 
 223     static final String GET_OOP_MAP_NAME = "getOopMap";
 224     static final String GET_OOP_MAP_DESC = "()[Ljava/lang/Object;";
 225 
 226     public static Object[] getOopMap() {
 227         Object[] oopMap = WhiteBox.getWhiteBox().getObjectsViaFrameOopIterator(2);
 228         /* Remove this frame (class mirror for this method), and above class mirror */
 229         Object[] trimmedOopMap = new Object[oopMap.length - 2];
 230         System.arraycopy(oopMap, 2, trimmedOopMap, 0, trimmedOopMap.length);
 231         return trimmedOopMap;
 232     }
 233 
 234     // Expecting Couple couple, Person couple.onePerson, and Person (created here)
 235     public static Object[] testFrameOops(Couple couple) {
 236         int someId = 89898;
 237         Person person = couple.onePerson;
 238         assertTrue(person.getId() == 0, "Bad Person");
 239         Person anotherPerson = Person.create(someId, TEST_STRING1, TEST_STRING2);
 240         assertTrue(anotherPerson.getId() == someId, "Bad Person");


< prev index next >