예제 #1
0
def test_alloc_free():
    map_size = 65536
    data = alloc(map_size)
    for i in range(0, map_size, 171):
        data[i] = chr(i & 0xff)
    for i in range(0, map_size, 171):
        assert data[i] == chr(i & 0xff)
    free(data, map_size)
예제 #2
0
def test_alloc_free():
    map_size = 65536
    data = alloc(map_size)
    for i in range(0, map_size, 171):
        data[i] = chr(i & 0xff)
    for i in range(0, map_size, 171):
        assert data[i] == chr(i & 0xff)
    free(data, map_size)
예제 #3
0
def detect_sse2():
    data = alloc(4096)
    pos = 0
    for c in ("\xB8\x01\x00\x00\x00"     # MOV EAX, 1
              "\x53"                     # PUSH EBX
              "\x0F\xA2"                 # CPUID
              "\x5B"                     # POP EBX
              "\x92"                     # XCHG EAX, EDX
              "\xC3"):                   # RET
        data[pos] = c
        pos += 1
    fnptr = rffi.cast(lltype.Ptr(lltype.FuncType([], lltype.Signed)), data)
    code = fnptr()
    free(data, 4096)
    return bool(code & (1<<25)) and bool(code & (1<<26))
예제 #4
0
def detect_sse2():
    data = alloc(4096)
    pos = 0
    for c in ("\xB8\x01\x00\x00\x00"  # MOV EAX, 1
              "\x53"  # PUSH EBX
              "\x0F\xA2"  # CPUID
              "\x5B"  # POP EBX
              "\x92"  # XCHG EAX, EDX
              "\xC3"):  # RET
        data[pos] = c
        pos += 1
    fnptr = rffi.cast(lltype.Ptr(lltype.FuncType([], lltype.Signed)), data)
    code = fnptr()
    free(data, 4096)
    return bool(code & (1 << 25)) and bool(code & (1 << 26))
예제 #5
0
 def _delete(self):
     "NOT_RPYTHON"
     if self._allocated:
         for data, size in self._allocated:
             rmmap.free(data, size)
     self._allocated = None
예제 #6
0
파일: codebuf.py 프로젝트: enyst/plexnet
 def __del__(self):
     size = self._size
     assert size >= 0
     free(self._data, size)
예제 #7
0
 def entry_point(argv):
     one = alloc(1024)
     free(one, 1024)
     return 0
예제 #8
0
 def entry_point(argv):
     one = alloc(1024)
     free(one, 1024)
     return 0
예제 #9
0
파일: asmmemmgr.py 프로젝트: Debug-Orz/Sypy
 def _delete(self):
     "NOT_RPYTHON"
     if self._allocated:
         for data, size in self._allocated:
             rmmap.free(data, size)
     self._allocated = None
예제 #10
0
파일: codebuf.py 프로젝트: neurobcn/plexnet
 def __del__(self):
     size = self._size
     assert size >= 0
     free(self._data, size)