def __alloc_arena(self, elementsize, pages=1): '''allocates an arena for elements of /elementsize/''' allocator = self.allocator size = allocator.getPageSize()*pages pointer = allocator.getWriteable(None, pages) res = bitmap.new(0, size / elementsize ) return (pointer, (int(elementsize), res))
def __alloc_arena(self, elementsize, pages=1): '''allocates an arena for elements of /elementsize/''' allocator = self.allocator size = allocator.getPageSize() * pages pointer = allocator.getWriteable(None, pages) res = bitmap.new(0, size / elementsize) return (pointer, (int(elementsize), res))
def load(self, size): '''Allocate some number of writeable bytes for later making executable''' allocator = self.allocator # allocate size pages = (size / allocator.getPageSize())+1 # get a writeable page, and then write our code to it pointer = self.allocator.getWriteable(None, pages) assert pointer not in self.loaded.keys() # heh # add pointer to lookup self.loaded[pointer] = pages return pointer
def load(self, size): '''Allocate some number of writeable bytes for later making executable''' allocator = self.allocator # allocate size pages = (size / allocator.getPageSize()) + 1 # get a writeable page, and then write our code to it pointer = self.allocator.getWriteable(None, pages) assert pointer not in self.loaded.keys() # heh # add pointer to lookup self.loaded[pointer] = pages return pointer