Author: Maciej Fijalkowski <[email protected]>
Branch: share-guard-info
Changeset: r79753:19ab0b0ba9bb
Date: 2015-09-22 11:14 +0200
http://bitbucket.org/pypy/pypy/changeset/19ab0b0ba9bb/
Log: more overflow implementations in blackhole
diff --git a/rpython/jit/metainterp/blackhole.py
b/rpython/jit/metainterp/blackhole.py
--- a/rpython/jit/metainterp/blackhole.py
+++ b/rpython/jit/metainterp/blackhole.py
@@ -408,13 +408,19 @@
def bhimpl_int_mul(a, b):
return intmask(a * b)
- @arguments("i", "i", returns="i")
- def bhimpl_int_add_ovf(a, b):
- return ovfcheck(a + b)
+ @arguments("L", "i", "i", returns="iL")
+ def bhimpl_int_add_jump_if_ovf(label, a, b):
+ try:
+ return ovfcheck(a + b), -1
+ except OverflowError:
+ return 0, label
- @arguments("i", "i", returns="i")
- def bhimpl_int_sub_ovf(a, b):
- return ovfcheck(a - b)
+ @arguments("L", "i", "i", returns="iL")
+ def bhimpl_int_sub_jump_if_ovf(label, a, b):
+ try:
+ return ovfcheck(a - b), -1
+ except OverflowError:
+ return 0, label
@arguments("L", "i", "i", returns="iL")
def bhimpl_int_mul_jump_if_ovf(label, a, b):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit