Exemple #1
0
    def handle_fail(self, metainterp_sd, jitdriver_sd):
        if self.must_compile(metainterp_sd, jitdriver_sd):
            return self._trace_and_compile_from_bridge(metainterp_sd, jitdriver_sd)
        else:
            from pypy.jit.metainterp.blackhole import resume_in_blackhole

            resume_in_blackhole(metainterp_sd, jitdriver_sd, self)
            assert 0, "unreachable"
Exemple #2
0
 def handle_fail(self, metainterp_sd, jitdriver_sd):
     if self.must_compile(metainterp_sd, jitdriver_sd):
         self.start_compiling()
         try:
             self._trace_and_compile_from_bridge(metainterp_sd,
                                                 jitdriver_sd)
         finally:
             self.done_compiling()
     else:
         from pypy.jit.metainterp.blackhole import resume_in_blackhole
         resume_in_blackhole(metainterp_sd, jitdriver_sd, self)
     assert 0, "unreachable"
Exemple #3
0
 def handle_fail(self, metainterp_sd, jitdriver_sd):
     if self.must_compile(metainterp_sd, jitdriver_sd):
         self.start_compiling()
         try:
             self._trace_and_compile_from_bridge(metainterp_sd,
                                                 jitdriver_sd)
         finally:
             self.done_compiling()
     else:
         from pypy.jit.metainterp.blackhole import resume_in_blackhole
         resume_in_blackhole(metainterp_sd, jitdriver_sd, self)
     assert 0, "unreachable"
Exemple #4
0
 def handle_fail(self, metainterp_sd, jitdriver_sd):
     # Failures of a GUARD_NOT_FORCED are never compiled, but
     # always just blackholed.  First fish for the data saved when
     # the virtualrefs and virtualizable have been forced by
     # handle_async_forcing() just a moment ago.
     from pypy.jit.metainterp.blackhole import resume_in_blackhole
     token = metainterp_sd.cpu.get_latest_force_token()
     all_virtuals = self.fetch_data(token)
     if all_virtuals is None:
         all_virtuals = []
     assert jitdriver_sd is self.jitdriver_sd
     resume_in_blackhole(metainterp_sd, jitdriver_sd, self, all_virtuals)
     assert 0, "unreachable"
Exemple #5
0
 def handle_fail(self, metainterp_sd, jitdriver_sd):
     # Failures of a GUARD_NOT_FORCED are never compiled, but
     # always just blackholed.  First fish for the data saved when
     # the virtualrefs and virtualizable have been forced by
     # handle_async_forcing() just a moment ago.
     from pypy.jit.metainterp.blackhole import resume_in_blackhole
     token = metainterp_sd.cpu.get_latest_force_token()
     all_virtuals = self.fetch_data(token)
     if all_virtuals is None:
         all_virtuals = []
     assert jitdriver_sd is self.jitdriver_sd
     resume_in_blackhole(metainterp_sd, jitdriver_sd, self, all_virtuals)
     assert 0, "unreachable"