示例#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)
    madvise_free(data, map_size)
    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)
    madvise_free(data, map_size)
    free(data, map_size)
示例#3
0
def madvise_arena_free(baseaddr, size):
    from rpython.rlib import rmmap

    pagesize = posixpagesize.get()
    baseaddr = rffi.cast(lltype.Signed, baseaddr)
    aligned_addr = (baseaddr + pagesize - 1) & ~(pagesize - 1)
    size -= (aligned_addr - baseaddr)
    if size >= pagesize:
        rmmap.madvise_free(rffi.cast(rmmap.PTR, aligned_addr),
                           size & ~(pagesize - 1))
示例#4
0
文件: llarena.py 项目: mozillazg/pypy
def madvise_arena_free(baseaddr, size):
    from rpython.rlib import rmmap

    pagesize = posixpagesize.get()
    baseaddr = rffi.cast(lltype.Signed, baseaddr)
    aligned_addr = (baseaddr + pagesize - 1) & ~(pagesize - 1)
    size -= (aligned_addr - baseaddr)
    if size >= pagesize:
        rmmap.madvise_free(rffi.cast(rmmap.PTR, aligned_addr),
                           size & ~(pagesize - 1))