Author: Armin Rigo <[email protected]>
Branch: stmgc-c8
Changeset: r78261:dbbc3ef7779c
Date: 2015-06-23 14:35 +0200
http://bitbucket.org/pypy/pypy/changeset/dbbc3ef7779c/
Log: More
diff --git a/rpython/jit/backend/x86/regalloc.py
b/rpython/jit/backend/x86/regalloc.py
--- a/rpython/jit/backend/x86/regalloc.py
+++ b/rpython/jit/backend/x86/regalloc.py
@@ -321,7 +321,7 @@
while i < len(operations):
op = operations[i]
self.assembler.mc.mark_op(op)
- if not self.assembler.cpu.gc_ll_descr.stm: # incorrect with stm
+ if not rgc.stm_is_enabled(): # incorrect with stm
assert self.assembler.mc._frame_size == DEFAULT_FRAME_BYTES
self.rm.position = i
self.xrm.position = i
diff --git a/rpython/jit/backend/x86/rx86.py b/rpython/jit/backend/x86/rx86.py
--- a/rpython/jit/backend/x86/rx86.py
+++ b/rpython/jit/backend/x86/rx86.py
@@ -3,6 +3,7 @@
from rpython.rlib.objectmodel import specialize
from rpython.rlib.unroll import unrolling_iterable
from rpython.rlib.rarithmetic import intmask
+from rpython.rlib import rgc
from rpython.rtyper.lltypesystem import rffi
from rpython.jit.backend.x86.arch import IS_X86_64
@@ -504,12 +505,14 @@
def stack_frame_size_delta(self, delta):
"Called when we generate an instruction that changes the value of ESP"
self._frame_size += delta
+ if rgc.stm_is_enabled():
+ return # the rest is ignored with STM
self.frame_positions.append(self.get_relative_pos())
self.frame_assignments.append(self._frame_size)
assert self._frame_size >= self.WORD
def check_stack_size_at_ret(self):
- if IS_X86_64:
+ if IS_X86_64 and not rgc.stm_is_enabled():
assert self._frame_size == self.WORD
if not we_are_translated():
self._frame_size = None
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit