Author: Remi Meier <remi.me...@gmail.com> Branch: stmgc-c4 Changeset: r65690:1f7031417ccb Date: 2013-07-26 15:46 +0200 http://bitbucket.org/pypy/pypy/changeset/1f7031417ccb/
Log: fix diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py --- a/rpython/jit/backend/x86/assembler.py +++ b/rpython/jit/backend/x86/assembler.py @@ -2260,15 +2260,14 @@ # obj->h_tid & GCFLAG_WRITE_BARRIER) != 0 if isinstance(descr, STMWriteBarrierDescr): + assert IS_X86_64 and (StmGC.GCFLAG_WRITE_BARRIER >> 32) > 0 + assert (StmGC.GCFLAG_WRITE_BARRIER >> 40) == 0 + off = 4 + flag = StmGC.GCFLAG_WRITE_BARRIER >> 32 if loc_base == ebp: - #mc.MOV_rb(X86_64_SCRATCH_REG.value, StmGC.H_TID) - mc.TEST8_bi(StmGC.H_TID, StmGC.GCFLAG_WRITE_BARRIER) + mc.TEST8_bi(StmGC.H_TID + off, flag) else: - # mc.MOV(X86_64_SCRATCH_REG, mem(loc_base, StmGC.H_TID)) - mc.TEST8_mi((loc_base.value, StmGC.H_TID), - StmGC.GCFLAG_WRITE_BARRIER) - #doesn't work: - # mc.TEST(X86_64_SCRATCH_REG, imm(StmGC.GCFLAG_WRITE_BARRIER)) + mc.TEST8_mi((loc_base.value, StmGC.H_TID + off), flag) mc.J_il8(rx86.Conditions['NZ'], 0) # patched below jnz_location2 = mc.get_relative_pos() diff --git a/rpython/memory/gc/stmgc.py b/rpython/memory/gc/stmgc.py --- a/rpython/memory/gc/stmgc.py +++ b/rpython/memory/gc/stmgc.py @@ -49,8 +49,8 @@ GCFLAG_STUB = first_gcflag << 8 # debug GCFLAG_PRIVATE_FROM_PROTECTED = first_gcflag << 9 GCFLAG_HAS_ID = first_gcflag << 10 - GCFLAG_IMMUTABLE = first_gcflag << 11; - GCFLAG_SMALLSTUB = first_gcflag << 12; + GCFLAG_IMMUTABLE = first_gcflag << 11 + GCFLAG_SMALLSTUB = first_gcflag << 12 PREBUILT_FLAGS = first_gcflag * (1 + 2 + 4 + 8) PREBUILT_REVISION = r_uint(1) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit