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

Reply via email to