예제 #1
0
 def marked(self, obj):
     # should work both if tid contains a CombinedSymbolic (for dying
     # objects, at this point), or a plain integer.
     return MovingGCBase.header(self, obj).tid & GCFLAG_MARKBIT
예제 #2
0
 def header_forwarded(self, addr):
     # like header(), but asserts that we have a forwarding header
     hdr = MovingGCBase.header(self, addr)
     if not we_are_translated():
         assert is_valid_int(hdr.tid)
     return hdr
예제 #3
0
 def header(self, addr):
     # like header(), but asserts that we have a normal header
     hdr = MovingGCBase.header(self, addr)
     if not we_are_translated():
         assert isinstance(hdr.tid, llgroup.CombinedSymbolic)
     return hdr
예제 #4
0
 def marked(self, obj):
     # should work both if tid contains a CombinedSymbolic (for dying
     # objects, at this point), or a plain integer.
     return MovingGCBase.header(self, obj).tid & GCFLAG_MARKBIT
예제 #5
0
 def header_forwarded(self, addr):
     # like header(), but asserts that we have a forwarding header
     hdr = MovingGCBase.header(self, addr)
     if not we_are_translated():
         assert isinstance(hdr.tid, int)
     return hdr
예제 #6
0
 def header(self, addr):
     # like header(), but asserts that we have a normal header
     hdr = MovingGCBase.header(self, addr)
     if not we_are_translated():
         assert isinstance(hdr.tid, llgroup.CombinedSymbolic)
     return hdr