equal
deleted
inserted
replaced
46 headerFieldOffset = f.getOffset(); |
46 headerFieldOffset = f.getOffset(); |
47 f = type.getField("_object"); |
47 f = type.getField("_object"); |
48 objectFieldOffset = f.getOffset(); |
48 objectFieldOffset = f.getOffset(); |
49 f = type.getField("_owner"); |
49 f = type.getField("_owner"); |
50 ownerFieldOffset = f.getOffset(); |
50 ownerFieldOffset = f.getOffset(); |
51 f = type.getField("FreeNext"); |
51 f = type.getField("_next_om"); |
52 FreeNextFieldOffset = f.getOffset(); |
52 nextOMFieldOffset = f.getOffset(); |
53 contentionsField = type.getJIntField("_contentions"); |
53 contentionsField = type.getJIntField("_contentions"); |
54 waitersField = type.getJIntField("_waiters"); |
54 waitersField = type.getJIntField("_waiters"); |
55 recursionsField = type.getCIntegerField("_recursions"); |
55 recursionsField = type.getCIntegerField("_recursions"); |
56 } |
56 } |
57 |
57 |
81 // FIXME |
81 // FIXME |
82 // void set_owner(void* owner); |
82 // void set_owner(void* owner); |
83 |
83 |
84 public int waiters() { return waitersField.getValue(addr); } |
84 public int waiters() { return waitersField.getValue(addr); } |
85 |
85 |
86 public Address freeNext() { return addr.getAddressAt(FreeNextFieldOffset); } |
86 public Address nextOM() { return addr.getAddressAt(nextOMFieldOffset); } |
87 // FIXME |
87 // FIXME |
88 // void set_queue(void* owner); |
88 // void set_queue(void* owner); |
89 |
89 |
90 public long recursions() { return recursionsField.getValue(addr); } |
90 public long recursions() { return recursionsField.getValue(addr); } |
91 |
91 |
106 // would confuse the SA's type system. |
106 // would confuse the SA's type system. |
107 private static ObjectHeap heap; |
107 private static ObjectHeap heap; |
108 private static long headerFieldOffset; |
108 private static long headerFieldOffset; |
109 private static long objectFieldOffset; |
109 private static long objectFieldOffset; |
110 private static long ownerFieldOffset; |
110 private static long ownerFieldOffset; |
111 private static long FreeNextFieldOffset; |
111 private static long nextOMFieldOffset; |
112 private static JIntField contentionsField; |
112 private static JIntField contentionsField; |
113 private static JIntField waitersField; |
113 private static JIntField waitersField; |
114 private static CIntegerField recursionsField; |
114 private static CIntegerField recursionsField; |
115 // FIXME: expose platform-dependent stuff |
115 // FIXME: expose platform-dependent stuff |
116 } |
116 } |