Author: Richard Plangger <[email protected]>
Branch: new-jit-log
Changeset: r83980:c6b6bb67de34
Date: 2016-04-27 14:58 +0200
http://bitbucket.org/pypy/pypy/changeset/c6b6bb67de34/
Log: copy machine code byte by byte instead of converting it to HEX
diff --git a/rpython/rlib/jitlog.py b/rpython/rlib/jitlog.py
--- a/rpython/rlib/jitlog.py
+++ b/rpython/rlib/jitlog.py
@@ -474,11 +474,21 @@
end_offset = ops_offset[op2]
count = end_offset - start_offset
- dump = self.mc.copy_core_dump(self.mc.absolute_addr(), start_offset,
count)
+ dump = self.copy_core_dump(self.mc.absolute_addr(), start_offset,
count)
offset = encode_le_16bit(start_offset)
edump = encode_str(dump)
self.logger._write_marked(MARK_ASM, offset + edump)
+ def copy_core_dump(self, addr, offset=0, count=-1):
+ dump = []
+ src = rffi.cast(rffi.CCHARP, addr)
+ end = self.get_relative_pos()
+ if count != -1:
+ end = offset + count
+ for p in range(offset, end):
+ dump.append(src[p])
+ return ''.join(dump)
+
def var_to_str(self, arg):
try:
mv = self.memo[arg]
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit