Example #1
0
 def arraydescrof(self, A):
     assert A.OF != lltype.Void
     size = symbolic.get_size(A)
     if isinstance(A.OF, lltype.Ptr) or isinstance(A.OF, lltype.Primitive):
         token = history.getkind(A.OF)[0]
     elif isinstance(A.OF, lltype.Struct):
         token = 's'
     else:
         token = '?'
     return self.getdescr(size, token)
Example #2
0
 def arraydescrof(self, A):
     assert A.OF != lltype.Void
     assert isinstance(A, lltype.GcArray) or A._hints.get('nolength', False)
     size = symbolic.get_size(A)
     if isinstance(A.OF, lltype.Ptr) or isinstance(A.OF, lltype.Primitive):
         token = history.getkind(A.OF)[0]
     elif isinstance(A.OF, lltype.Struct):
         token = 's'
     else:
         token = '?'
     return self.getdescr(size, token)
Example #3
0
 def arraydescrof(self, A):
     assert A.OF != lltype.Void
     assert isinstance(A, lltype.GcArray) or A._hints.get('nolength', False)
     size = symbolic.get_size(A)
     if isinstance(A.OF, lltype.Ptr) or isinstance(A.OF, lltype.Primitive):
         token = history.getkind(A.OF)[0]
     elif isinstance(A.OF, lltype.Struct):
         token = 's'
     else:
         token = '?'
     return self.getdescr(size, token)
Example #4
0
File: runner.py Project: ieure/pypy
 def arraydescrof(self, A):
     assert A.OF != lltype.Void
     size = symbolic.get_size(A)
     token = history.getkind(A.OF)
     return self.getdescr(size, token[0])
Example #5
0
File: runner.py Project: ieure/pypy
 def sizeof(self, S):
     assert not isinstance(S, lltype.Ptr)
     count = heaptracker.count_fields_if_immutable(S)
     return self.getdescr(symbolic.get_size(S), count_fields_if_immut=count)
Example #6
0
 def interiorfielddescrof(self, A, fieldname):
     S = A.OF
     width = symbolic.get_size(A)
     ofs, size = symbolic.get_field_token(S, fieldname)
     token = history.getkind(getattr(S, fieldname))
     return self.getdescr(ofs, token[0], name=fieldname, width=width)
Example #7
0
 def arraydescrof(A):
     assert isinstance(A, lltype.GcArray)
     assert A.OF != lltype.Void
     size = symbolic.get_size(A)
     token = history.getkind(A.OF)
     return Descr(size, token[0])
Example #8
0
 def sizeof(S):
     assert not isinstance(S, lltype.Ptr)
     return Descr(symbolic.get_size(S))
Example #9
0
 def interiorfielddescrof(self, A, fieldname):
     S = A.OF
     width = symbolic.get_size(A)
     ofs, size = symbolic.get_field_token(S, fieldname)
     token = history.getkind(getattr(S, fieldname))
     return self.getdescr(ofs, token[0], name=fieldname, width=width)
Example #10
0
 def sizeof(self, S):
     assert not isinstance(S, lltype.Ptr)
     count = heaptracker.count_fields_if_immutable(S)
     return self.getdescr(symbolic.get_size(S), count_fields_if_immut=count)
Example #11
0
 def arraydescrof(A):
     assert isinstance(A, lltype.GcArray)
     assert A.OF != lltype.Void
     size = symbolic.get_size(A)
     token = history.getkind(A.OF)
     return Descr(size, token[0])
Example #12
0
 def sizeof(S):
     assert not isinstance(S, lltype.Ptr)
     return Descr(symbolic.get_size(S))
Example #13
0
 def sizeof(self, S):
     assert not isinstance(S, lltype.Ptr)
     return self.getdescr(symbolic.get_size(S))