Author: Hakan Ardo <ha...@debian.org> Branch: jit-targets Changeset: r48927:31885b3fa5e9 Date: 2011-11-08 10:43 +0100 http://bitbucket.org/pypy/pypy/changeset/31885b3fa5e9/
Log: exception support diff --git a/pypy/jit/metainterp/pyjitpl.py b/pypy/jit/metainterp/pyjitpl.py --- a/pypy/jit/metainterp/pyjitpl.py +++ b/pypy/jit/metainterp/pyjitpl.py @@ -2127,20 +2127,19 @@ assert False # FIXME: kill TerminatingLoopToken? # FIXME: can we call compile_trace? - self.history.record(rop.FINISH, exits, None, descr=loop_tokens[0].finishdescr) + token = loop_tokens[0].finishdescr + self.history.record(rop.FINISH, exits, None, descr=token) target_token = compile.compile_trace(self, self.resumekey) - if not target_token: + if target_token is not token: compile.giveup() def compile_exit_frame_with_exception(self, valuebox): self.gen_store_back_in_virtualizable() - # temporarily put a JUMP to a pseudo-loop - self.history.record(rop.JUMP, [valuebox], None) sd = self.staticdata - loop_tokens = sd.loop_tokens_exit_frame_with_exception_ref - target_loop_token = compile.compile_new_bridge(self, loop_tokens, - self.resumekey) - if target_loop_token is not loop_tokens[0]: + token = sd.loop_tokens_exit_frame_with_exception_ref[0].finishdescr + self.history.record(rop.FINISH, [valuebox], None, descr=token) + target_token = compile.compile_trace(self, self.resumekey) + if target_token is not token: compile.giveup() @specialize.arg(1) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit