Author: Richard Plangger <[email protected]>
Branch: ppc-vsx-support
Changeset: r86027:912c2e29f742
Date: 2016-08-05 11:17 +0200
http://bitbucket.org/pypy/pypy/changeset/912c2e29f742/
Log: jitlog encode fail arguments (how could I forget that :) ppc
misaligned_is_fine = Ture
diff --git a/rpython/rlib/rawstorage.py b/rpython/rlib/rawstorage.py
--- a/rpython/rlib/rawstorage.py
+++ b/rpython/rlib/rawstorage.py
@@ -48,7 +48,8 @@
try:
cpuname = detect_cpu.autodetect()
misaligned_is_fine = cpuname.startswith('x86') or \
- cpuname.startswith('s390x')
+ cpuname.startswith('s390x') or \
+ cpuname.startswith('ppc')
del cpuname
except detect_cpu.ProcessorAutodetectError:
misaligned_is_fine = False
diff --git a/rpython/rlib/rjitlog/rjitlog.py b/rpython/rlib/rjitlog/rjitlog.py
--- a/rpython/rlib/rjitlog/rjitlog.py
+++ b/rpython/rlib/rjitlog/rjitlog.py
@@ -509,7 +509,9 @@
""" an operation is written as follows:
<marker> <opid (16 bit)> \
<len (32 bit)> \
- <res_val>,<arg_0>,...,<arg_n>,<descr>
+ <res_val>,<arg_0>,...,<arg_n> \
+ <descr>
+ <failarg_0>,...<failarg_n>
The marker indicates if the last argument is
a descr or a normal argument.
"""
@@ -518,16 +520,21 @@
le_opnum = encode_le_16bit(op.getopnum())
str_res = self.var_to_str(op)
line = ','.join([str_res] + str_args)
+ failargslist = op.getfailargs()
+ failargs = ''
+ if failargslist:
+ failargs = ','.join([self.var_to_str(farg) for farg in
failargslist])
+ #
if descr:
descr_str = descr.repr_of_descr()
line = line + ',' + descr_str
string = encode_str(line)
descr_number = compute_unique_id(descr)
le_descr_number = encode_le_addr(descr_number)
- return MARK_RESOP_DESCR, le_opnum + string + le_descr_number
+ return MARK_RESOP_DESCR, le_opnum + string + le_descr_number +
encode_str(failargs)
else:
string = encode_str(line)
- return MARK_RESOP, le_opnum + string
+ return MARK_RESOP, le_opnum + string + encode_str(failargs)
def write_core_dump(self, operations, i, op, ops_offset):
@@ -579,6 +586,8 @@
return ''.join(dump)
def var_to_str(self, arg):
+ if arg is None:
+ return '-'
try:
mv = self.memo[arg]
except KeyError:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit