Ejemplo n.º 1
0
 def f(n):
     p = llop.get_group_member(Ptr(S1), grpptr, goffsets[n])
     p.x = 5
     for i in range(len(goffsets)):
         if i != n:
             q = llop.get_group_member(Ptr(S1), grpptr, goffsets[i])
             q.x = 666
     return p.x
Ejemplo n.º 2
0
 def f(n):
     p = llop.get_group_member(Ptr(S1), grpptr, goffsets[n])
     p.x = 5
     for i in range(len(goffsets)):
         if i != n:
             q = llop.get_group_member(Ptr(S1), grpptr, goffsets[i])
             q.x = 666
     return p.x
Ejemplo n.º 3
0
 def test_simple(self):
     self.build()
     grpptr = self.grpptr
     S1 = self.S1
     S2 = self.S2
     Ptr = lltype.Ptr
     assert llop.get_group_member(Ptr(S1), grpptr, self.g1a) == self.p1a
     assert llop.get_group_member(Ptr(S1), grpptr, self.g1b) == self.p1b
     assert llop.get_group_member(Ptr(S2), grpptr, self.g2a) == self.p2a
     assert llop.get_group_member(Ptr(S2), grpptr, self.g2b) == self.p2b
Ejemplo n.º 4
0
 def f(n):
     o = llop.extract_ushort(llgroup.HALFWORD, goffsets[n])
     p = llop.get_group_member(Ptr(S1), grpptr, o)
     p.x = 5
     for i in range(len(goffsets)):
         if i != n:
             o = llop.extract_ushort(llgroup.HALFWORD, goffsets[i])
             q = llop.get_group_member(Ptr(S1), grpptr, o)
             q.x = 666
     return p.x
Ejemplo n.º 5
0
 def test_simple(self):
     self.build()
     grpptr = self.grpptr
     S1 = self.S1
     S2 = self.S2
     Ptr = lltype.Ptr
     assert llop.get_group_member(Ptr(S1), grpptr, self.g1a) == self.p1a
     assert llop.get_group_member(Ptr(S1), grpptr, self.g1b) == self.p1b
     assert llop.get_group_member(Ptr(S2), grpptr, self.g2a) == self.p2a
     assert llop.get_group_member(Ptr(S2), grpptr, self.g2b) == self.p2b
Ejemplo n.º 6
0
 def f():
     p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, test.g1a)
     assert p == test.p1a
     p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, test.g1b)
     assert p == test.p1b
     p = llop.get_group_member(lltype.Ptr(test.S2), grpptr, test.g2a)
     assert p == test.p2a
     p = llop.get_group_member(lltype.Ptr(test.S2), grpptr, test.g2b)
     assert p == test.p2b
     #
     p = llop.get_next_group_member(lltype.Ptr(test.S2), grpptr, test.g1a,
                                    llmemory.sizeof(test.S1))
     assert p == test.p2a
     p = llop.get_next_group_member(lltype.Ptr(test.S2), grpptr, test.g2a,
                                    llmemory.sizeof(test.S2))
     assert p == test.p2b
     p = llop.get_next_group_member(lltype.Ptr(test.S1), grpptr, test.g2b,
                                    llmemory.sizeof(test.S2))
     assert p == test.p1b
     #
     expected = [123, 456]
     for i in range(2):
         p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, g1x[i])
         assert p.x == expected[i]
     #
     for i in range(2):
         s = llop.extract_ushort(rffi.USHORT, cslist[i])
         p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, s)
         assert p == test.p1b
     assert cslist[0] & ~0xFFFF == 0x450000
     assert cslist[1] & ~0xFFFF == 0x410000
     #
     return 42
Ejemplo n.º 7
0
 def f():
     p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, test.g1a)
     assert p == test.p1a
     p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, test.g1b)
     assert p == test.p1b
     p = llop.get_group_member(lltype.Ptr(test.S2), grpptr, test.g2a)
     assert p == test.p2a
     p = llop.get_group_member(lltype.Ptr(test.S2), grpptr, test.g2b)
     assert p == test.p2b
     #
     p = llop.get_next_group_member(lltype.Ptr(test.S2), grpptr, test.g1a, llmemory.sizeof(test.S1))
     assert p == test.p2a
     p = llop.get_next_group_member(lltype.Ptr(test.S2), grpptr, test.g2a, llmemory.sizeof(test.S2))
     assert p == test.p2b
     p = llop.get_next_group_member(lltype.Ptr(test.S1), grpptr, test.g2b, llmemory.sizeof(test.S2))
     assert p == test.p1b
     #
     expected = [123, 456]
     for i in range(2):
         p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, g1x[i])
         assert p.x == expected[i]
     #
     for i in range(2):
         s = llop.extract_ushort(rffi.USHORT, cslist[i])
         p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, s)
         assert p == test.p1b
     assert cslist[0] & ~0xFFFF == 0x450000
     assert cslist[1] & ~0xFFFF == 0x410000
     #
     return 42
Ejemplo n.º 8
0
 def f():
     p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, test.g1a)
     assert p == test.p1a
     p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, test.g1b)
     assert p == test.p1b
     p = llop.get_group_member(lltype.Ptr(test.S2), grpptr, test.g2a)
     assert p == test.p2a
     p = llop.get_group_member(lltype.Ptr(test.S2), grpptr, test.g2b)
     assert p == test.p2b
     #
     p = llop.get_next_group_member(lltype.Ptr(test.S2), grpptr,
                                    test.g1a, llmemory.sizeof(test.S1))
     assert p == test.p2a
     p = llop.get_next_group_member(lltype.Ptr(test.S2), grpptr,
                                    test.g2a, llmemory.sizeof(test.S2))
     assert p == test.p2b
     p = llop.get_next_group_member(lltype.Ptr(test.S1), grpptr,
                                    test.g2b, llmemory.sizeof(test.S2))
     assert p == test.p1b
     #
     expected = [123, 456]
     for i in range(2):
         p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, g1x[i])
         assert p.x == expected[i]
     #
     for i in range(2):
         s = llop.extract_ushort(HALFWORD, cslist[i])
         p = llop.get_group_member(lltype.Ptr(test.S1), grpptr, s)
         assert p == test.p1b
     assert cslist[0] & ~MASK == 0x45 << HALFSHIFT
     assert cslist[1] & ~MASK == 0x41 << HALFSHIFT
     assert cslist[0] >> HALFSHIFT == 0x45
     assert cslist[1] >> (HALFSHIFT+1) == 0x41 >> 1
     #
     return 42
Ejemplo n.º 9
0
 def get_varsize(self, typeid):
     res = llop.get_group_member(GCData.VARSIZE_TYPE_INFO_PTR,
                                 self.type_info_group_ptr,
                                 typeid)
     _check_valid_type_info_varsize(res)
     return res
Ejemplo n.º 10
0
 def get(self, typeid):
     res = llop.get_group_member(GCData.TYPE_INFO_PTR,
                                 self.type_info_group_ptr,
                                 typeid)
     _check_valid_type_info(res)
     return res
Ejemplo n.º 11
0
 def get_varsize(self, typeid):
     _check_typeid(typeid)
     return llop.get_group_member(GCData.VARSIZE_TYPE_INFO_PTR,
                                  self.type_info_group_ptr, typeid)
Ejemplo n.º 12
0
 def get(self, typeid):
     _check_typeid(typeid)
     return llop.get_group_member(GCData.TYPE_INFO_PTR,
                                  self.type_info_group_ptr, typeid)
Ejemplo n.º 13
0
 def get_info_varsize(self, type_id):
     return llop.get_group_member(GCData.VARSIZE_TYPE_INFO_PTR,
                                  self.type_info_group._as_ptr(), type_id)
Ejemplo n.º 14
0
 def get_varsize(self, typeid):
     res = llop.get_group_member(GCData.VARSIZE_TYPE_INFO_PTR,
                                 self.type_info_group_ptr, typeid)
     _check_valid_type_info_varsize(res)
     return res
Ejemplo n.º 15
0
 def get_varsize(self, typeid):
     _check_typeid(typeid)
     return llop.get_group_member(GCData.VARSIZE_TYPE_INFO_PTR,
                                  self.type_info_group_ptr,
                                  typeid)
Ejemplo n.º 16
0
 def get(self, typeid):
     _check_typeid(typeid)
     return llop.get_group_member(GCData.TYPE_INFO_PTR,
                                  self.type_info_group_ptr,
                                  typeid)
Ejemplo n.º 17
0
 def get_info_varsize(self, type_id):
     return llop.get_group_member(GCData.VARSIZE_TYPE_INFO_PTR,
                                  self.type_info_group._as_ptr(),
                                  type_id)
Ejemplo n.º 18
0
 def get_info(self, type_id):
     return llop.get_group_member(GCData.TYPE_INFO_PTR,
                                  self.type_info_group._as_ptr(),
                                  type_id)
Ejemplo n.º 19
0
 def get_info(self, type_id):
     return llop.get_group_member(GCData.TYPE_INFO_PTR,
                                  self.type_info_group._as_ptr(), type_id)
Ejemplo n.º 20
0
 def get(self, typeid):
     res = llop.get_group_member(GCData.TYPE_INFO_PTR,
                                 self.type_info_group_ptr, typeid)
     _check_valid_type_info(res)
     return res