[pypy-commit] pypy stmgc-c7: Argh argh argh.

arigo noreply at buildbot.pypy.org
Wed Apr 2 22:49:30 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: stmgc-c7
Changeset: r70411:fa48683fb7c7
Date: 2014-04-02 22:46 +0200
http://bitbucket.org/pypy/pypy/changeset/fa48683fb7c7/

Log:	Argh argh argh.

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
@@ -2463,7 +2463,12 @@
         assert 0 < offset <= 127
         self.mc.overwrite(jmp_adr1-1, chr(offset))
         # write down the tid, but not if it's the result of the CALL
-        self.mc.MOV(mem(self.SEGMENT_GC, eax, 0), imm(arraydescr.tid))
+        if self.cpu.gc_ll_descr.stm:
+            assert IS_X86_64
+            self.mc.MOV32(mem(self.SEGMENT_GC, eax, rstm.tid_offset),
+                          imm(arraydescr.tid))
+        else:
+            self.mc.MOV(mem(self.SEGMENT_GC, eax, 0), imm(arraydescr.tid))
         # while we're at it, this line is not needed if we've done the CALL
         self.mc.MOV(heap(self.SEGMENT_GC, nursery_free_adr), edi)
         #


More information about the pypy-commit mailing list