Author: Richard Plangger <[email protected]>
Branch:
Changeset: r83729:3701004a39a5
Date: 2016-04-18 08:26 +0200
http://bitbucket.org/pypy/pypy/changeset/3701004a39a5/
Log: (s390x) prevent setting the key none in reg_bindings
diff --git a/rpython/jit/backend/zarch/regalloc.py
b/rpython/jit/backend/zarch/regalloc.py
--- a/rpython/jit/backend/zarch/regalloc.py
+++ b/rpython/jit/backend/zarch/regalloc.py
@@ -328,6 +328,16 @@
self.free_regs = [fr for fr in self.free_regs \
if fr is not even and \
fr is not odd]
+ if not even_var:
+ even_var = TempVar()
+ self.longevity[even_var] = (self.position, self.position)
+ self.temp_boxes.append(even_var)
+ if not odd_var:
+ odd_var = TempVar()
+ self.longevity[odd_var] = (self.position, self.position)
+ self.temp_boxes.append(odd_var)
+ assert even_var is not None
+ assert odd_var is not None
self.reg_bindings[even_var] = even
self.reg_bindings[odd_var] = odd
return even, odd
@@ -346,6 +356,7 @@
if candidate_var is not None:
self._sync_var(candidate_var)
self.assembler.regalloc_mov(reg, candidate)
+ assert var is not None
self.reg_bindings[var] = candidate
reverse_mapping[reg] = var
self.free_regs.append(reg)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit