Author: Armin Rigo <[email protected]>
Branch: stm-thread-2
Changeset: r57765:c68951e7edec
Date: 2012-10-03 15:20 +0200
http://bitbucket.org/pypy/pypy/changeset/c68951e7edec/
Log: Fixes
diff --git a/pypy/jit/backend/x86/stmtlocal.py
b/pypy/jit/backend/x86/stmtlocal.py
--- a/pypy/jit/backend/x86/stmtlocal.py
+++ b/pypy/jit/backend/x86/stmtlocal.py
@@ -55,21 +55,28 @@
FAILARGS_LIMIT)),
)
+def get_thread_ident(cpu):
+ if cpu.with_threads:
+ return get_ident()
+ else:
+ return 0
+
@rgc.no_collect
def get_asm_tlocal(cpu):
- id = get_ident()
+ id = get_thread_ident(cpu)
return cpu.assembler.asmtlocals[id]
def prepare_asm_tlocal(cpu):
- id = get_ident()
+ id = get_thread_ident(cpu)
if id not in cpu.assembler.asmtlocals:
cpu.assembler.asmtlocals[id] = lltype.malloc(ASSEMBLER_THREAD_LOCAL)
def fail_boxes_int_addr(tlocal, num):
tgt = llmemory.cast_ptr_to_adr(tlocal)
tgt += rffi.offsetof(ASSEMBLER_THREAD_LOCAL, 'fail_boxes_int')
+ tgt = rffi.cast(lltype.Signed, tgt)
tgt += num * rffi.sizeof(lltype.Signed)
- return rffi.cast(lltype.Signed, tgt)
+ return tgt
def fail_boxes_ptr_addr(tlocal, num):
tgt = llmemory.cast_ptr_to_adr(tlocal)
@@ -81,5 +88,6 @@
def fail_boxes_float_addr(tlocal, num):
tgt = llmemory.cast_ptr_to_adr(tlocal)
tgt += rffi.offsetof(ASSEMBLER_THREAD_LOCAL, 'fail_boxes_float')
+ tgt = rffi.cast(lltype.Signed, tgt)
tgt += num * rffi.sizeof(longlong.FLOATSTORAGE)
- return rffi.cast(lltype.Signed, tgt)
+ return tgt
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit