52 } catch (RuntimeException e) {
53 return false;
54 }
55 return true;
56 }
57
58 private static synchronized void initialize(TypeDataBase db) {
59 Type type = db.lookupType("CompressedKlassPointers");
60
61 baseField = type.getAddressField("_base");
62 shiftField = type.getCIntegerField("_shift");
63 }
64
65 public CompressedKlassPointers() {
66 }
67
68 public static long getBase() {
69 if (baseField.getValue() == null) {
70 return 0;
71 } else {
72 return baseField.getValue().minus(null);
73 }
74 }
75
76 public static int getShift() {
77 return (int)shiftField.getValue();
78 }
79 }
|
52 } catch (RuntimeException e) {
53 return false;
54 }
55 return true;
56 }
57
58 private static synchronized void initialize(TypeDataBase db) {
59 Type type = db.lookupType("CompressedKlassPointers");
60
61 baseField = type.getAddressField("_base");
62 shiftField = type.getCIntegerField("_shift");
63 }
64
65 public CompressedKlassPointers() {
66 }
67
68 public static long getBase() {
69 if (baseField.getValue() == null) {
70 return 0;
71 } else {
72 System.out.println("base: " + baseField.getValue().minus(null));
73 return baseField.getValue().minus(null);
74 }
75 }
76
77 public static int getShift() {
78
79 System.out.println("shift: " + (int)shiftField.getValue());
80 return (int)shiftField.getValue();
81 }
82 }
|