Author: Alex Gaynor <alex.gay...@gmail.com> Branch: inline-dict-ops Changeset: r48287:43a10843f902 Date: 2011-10-20 19:28 -0400 http://bitbucket.org/pypy/pypy/changeset/43a10843f902/
Log: fix various tests diff --git a/pypy/jit/backend/llsupport/gc.py b/pypy/jit/backend/llsupport/gc.py --- a/pypy/jit/backend/llsupport/gc.py +++ b/pypy/jit/backend/llsupport/gc.py @@ -107,6 +107,8 @@ def malloc_array(basesize, itemsize, ofs_length, num_elem): size = basesize + itemsize * num_elem res = self.funcptr_for_new(size) + if not res: + return res rffi.cast(rffi.CArrayPtr(lltype.Signed), res)[ofs_length/WORD] = num_elem return res self.malloc_array = malloc_array diff --git a/pypy/jit/backend/x86/assembler.py b/pypy/jit/backend/x86/assembler.py --- a/pypy/jit/backend/x86/assembler.py +++ b/pypy/jit/backend/x86/assembler.py @@ -1506,7 +1506,6 @@ def genop_newstr(self, op, arglocs, result_loc): assert result_loc is eax - assert self.malloc_str_func_addr self.call(self.malloc_str_func_addr, arglocs, eax) self.propagate_memoryerror_if_eax_is_null() diff --git a/pypy/jit/backend/x86/test/test_runner.py b/pypy/jit/backend/x86/test/test_runner.py --- a/pypy/jit/backend/x86/test/test_runner.py +++ b/pypy/jit/backend/x86/test/test_runner.py @@ -72,19 +72,13 @@ allocs = [None] all = [] + orig_new = self.cpu.gc_ll_descr.funcptr_for_new def f(size): allocs.insert(0, size) - buf = ctypes.create_string_buffer(size) - all.append(buf) - return ctypes.cast(buf, ctypes.c_void_p).value - func = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_int)(f) - addr = ctypes.cast(func, ctypes.c_void_p).value - # ctypes produces an unsigned value. We need it to be signed for, eg, - # relative addressing to work properly. - addr = rffi.cast(lltype.Signed, addr) + return orig_new(size) self.cpu.assembler.setup_once() - self.cpu.assembler.malloc_func_addr = addr + self.cpu.gc_ll_descr.funcptr_for_new = f ofs = symbolic.get_field_token(rstr.STR, 'chars', False)[0] res = self.execute_operation(rop.NEWSTR, [ConstInt(7)], 'ref') _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit