Author: Maciej Fijalkowski <fij...@gmail.com> Branch: jitframe-on-heap Changeset: r60418:fbd8924eff85 Date: 2013-01-24 14:37 +0200 http://bitbucket.org/pypy/pypy/changeset/fbd8924eff85/
Log: remove some hacks diff --git a/rpython/jit/backend/x86/runner.py b/rpython/jit/backend/x86/runner.py --- a/rpython/jit/backend/x86/runner.py +++ b/rpython/jit/backend/x86/runner.py @@ -124,8 +124,6 @@ if not self.translate_support_code: prev_interpreter = LLInterpreter.current_interpreter LLInterpreter.current_interpreter = self.debug_ll_interpreter - if hasattr(self, 'register_frame'): - self.register_frame(frame) try: num = JITFRAME_FIXED_SIZE * WORD for i, kind in kinds: diff --git a/rpython/jit/backend/x86/test/test_gc_integration.py b/rpython/jit/backend/x86/test/test_gc_integration.py --- a/rpython/jit/backend/x86/test/test_gc_integration.py +++ b/rpython/jit/backend/x86/test/test_gc_integration.py @@ -351,6 +351,9 @@ self.nursery_addr = rffi.cast(lltype.Signed, self.nursery) self.write_barrier_descr = WriteBarrierDescr(self) + def do_write_barrier(self, gcref_struct, gcref_newptr): + pass + def get_malloc_slowpath_addr(self): return 0 @@ -405,8 +408,7 @@ for item, s in zip(gcmap, new_items): new_frame.jf_frame[item] = rffi.cast(lltype.Signed, s) assert cpu.gc_ll_descr.gcrootmap.stack[0] == rffi.cast(lltype.Signed, frame) - hdrbuilder.new_header(new_frame) - gc_ll_descr.gcrootmap.stack[0] = rffi.cast(lltype.Signed, new_frame) + cpu.gc_ll_descr.gcrootmap.stack[0] = rffi.cast(lltype.Signed, new_frame) frames.append(new_frame) def check2(i): @@ -437,20 +439,11 @@ 'fielddescr': cpu.fielddescrof(S, 'x')}) token = JitCellToken() cpu.compile_loop(loop.inputargs, loop.operations, token) - cpu.register_frame = lambda frame : hdrbuilder.new_header(frame) - HDR = lltype.Struct('HDR', ('tid', lltype.Signed)) - hdrbuilder = GCHeaderBuilder(HDR) - gc_ll_descr = cpu.gc_ll_descr - gc_ll_descr.gcheaderbuilder = hdrbuilder - gc_ll_descr.HDRPTR = lltype.Ptr(HDR) p0 = lltype.malloc(S, zero=True) p1 = lltype.malloc(S) p2 = lltype.malloc(S) new_items = [lltype.malloc(S), lltype.malloc(S), lltype.malloc(S)] new_items[0].x = new_items[2] - hdrbuilder.new_header(p0) - hdrbuilder.new_header(p1) - hdrbuilder.new_header(p2) frame = cpu.execute_token(token, p0, p1, p2) frame = lltype.cast_opaque_ptr(jitframe.JITFRAMEPTR, frame) gcmap = unpack_gcmap(lltype.cast_opaque_ptr(jitframe.JITFRAMEPTR, frame)) @@ -458,3 +451,9 @@ assert gcmap[0] < 29 item = rffi.cast(lltype.Ptr(S), frame.jf_frame[gcmap[0]]) assert item == new_items[2] + + def test_malloc_frame_writebarrier(self): + loop = self.parse(""" + [] + """, namespace={}) + loop _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit