Author: Richard Plangger <[email protected]>
Branch: new-jit-log
Changeset: r83457:26c9229ea302
Date: 2016-03-31 14:30 +0200
http://bitbucket.org/pypy/pypy/changeset/26c9229ea302/
Log: minor changed in the emitted format
diff --git a/rpython/jit/backend/x86/assembler.py
b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -583,7 +583,7 @@
self.patch_pending_failure_recoveries(rawstart)
# patch the jump from original guard
if logger:
- logger.log_patch_guard(faildescr.adr_jump_offset, rawstart)
+ logger.log_patch_guard(descr_number, rawstart)
self.patch_jump_for_descr(faildescr, rawstart)
ops_offset = self.mc.ops_offset
frame_depth = max(self.current_clt.frame_info.jfi_frame_depth,
diff --git a/rpython/jit/metainterp/jitlog.py b/rpython/jit/metainterp/jitlog.py
--- a/rpython/jit/metainterp/jitlog.py
+++ b/rpython/jit/metainterp/jitlog.py
@@ -23,7 +23,7 @@
MARK_TRACE_ASM = 0x18
# the machine code was patched (e.g. guard)
-MARK_ASM_PATCH = 0x19
+MARK_STITCH_BRIDGE = 0x19
IS_32_BIT = sys.maxint == 2**31-1
@@ -61,14 +61,13 @@
memo = {}
return LogTrace(tag, memo, metainterp_sd, mc, self)
- def log_patch_guard(self, addr, target_addr):
- if self.cintf.jitlog_filter(MARK_ASM_PATCH):
+ def log_patch_guard(self, descr_number, addr):
+ if self.cintf.jitlog_filter(MARK_STITCH_BRIDGE):
return
- le_addr_write = self.encode_le_addr(addr)
- le_len = self.encode_le_32bit(8)
- le_addr = self.encode_le_addr(target_addr)
- lst = [le_addr, le_len, le_addr]
- self.cintf.jitlog_filter(MARK_ASM_PATCH, ''.join(lst))
+ le_descr_number = self.encode_le_addr(descr_number)
+ le_addr = self.encode_le_addr(addr)
+ lst = [le_descr_number, le_addr]
+ self.write_marked(MARK_STITCH_BRIDGE, ''.join(lst))
def encode_str(self, string):
return self.encode_le_32bit(len(string)) + string
@@ -163,7 +162,9 @@
descr_str = descr.repr_of_descr()
line = line + ',' + descr_str
string = self.logger.encode_str(line)
- return MARK_RESOP_DESCR, le_opnum + string
+ descr_number = compute_unique_id(descr)
+ le_descr_number = self.logger.encode_le_addr(descr_number)
+ return MARK_RESOP_DESCR, le_opnum + string + le_descr_number
else:
string = self.logger.encode_str(line)
return MARK_RESOP, le_opnum + string
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit