Author: Armin Rigo <ar...@tunes.org> 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 pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit