Example #1
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
Example #2
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
Example #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
Example #4
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
Example #5
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
Example #6
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
Example #7
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
Example #8
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
Example #9
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