Author: Armin Rigo <[email protected]>
Branch: stackroot-speedup-2
Changeset: r75716:42a6cd5c1785
Date: 2015-02-04 23:54 +0100
http://bitbucket.org/pypy/pypy/changeset/42a6cd5c1785/
Log: Move this piece of code up. Minor benefit.
diff --git a/rpython/memory/gctransform/asmgcroot.py
b/rpython/memory/gctransform/asmgcroot.py
--- a/rpython/memory/gctransform/asmgcroot.py
+++ b/rpython/memory/gctransform/asmgcroot.py
@@ -469,6 +469,13 @@
if gc.points_to_valid_gc_object(addr):
collect_stack_root(gc, addr)
#
+ # small hack: the JIT reserves THREADLOCAL_OFS's last bit for
+ # us. We use it to store an "already traced past this frame"
+ # flag.
+ if self._with_jit and self.gcdata._gc_collect_is_minor:
+ if self.mark_jit_frame_can_stop(callee):
+ return False
+ #
# track where the caller_frame saved the registers from its own
# caller
#
@@ -478,13 +485,6 @@
addr = self.getlocation(callee, ebp_in_caller, location)
caller.regs_stored_at[reg] = addr
reg -= 1
- #
- # small hack: the JIT reserves THREADLOCAL_OFS's last bit for
- # us. We use it to store an "already traced past this frame"
- # flag.
- if self._with_jit and self.gcdata._gc_collect_is_minor:
- if self.mark_jit_frame_can_stop(callee):
- return False
location = self._shape_decompressor.next()
caller.frame_address = self.getlocation(callee, ebp_in_caller,
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit