Пример #1
0
 def handle_fail(self, deadframe, metainterp_sd, jitdriver_sd):
     if self.must_compile(deadframe, metainterp_sd, jitdriver_sd):
         self.start_compiling()
         try:
             self._trace_and_compile_from_bridge(deadframe, metainterp_sd,
                                                 jitdriver_sd)
         finally:
             self.done_compiling()
     else:
         from rpython.jit.metainterp.blackhole import resume_in_blackhole
         resume_in_blackhole(metainterp_sd, jitdriver_sd, self, deadframe)
     assert 0, "unreachable"
Пример #2
0
 def handle_fail(self, deadframe, metainterp_sd, jitdriver_sd):
     if self.must_compile(deadframe, metainterp_sd, jitdriver_sd):
         self.start_compiling()
         try:
             self._trace_and_compile_from_bridge(deadframe, metainterp_sd,
                                                 jitdriver_sd)
         finally:
             self.done_compiling()
     else:
         from rpython.jit.metainterp.blackhole import resume_in_blackhole
         resume_in_blackhole(metainterp_sd, jitdriver_sd, self, deadframe)
     assert 0, "unreachable"
Пример #3
0
 def handle_fail(self, deadframe, 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 rpython.jit.metainterp.blackhole import resume_in_blackhole
     hidden_all_virtuals = metainterp_sd.cpu.get_savedata_ref(deadframe)
     obj = AllVirtuals.show(metainterp_sd.cpu, hidden_all_virtuals)
     all_virtuals = obj.cache
     if all_virtuals is None:
         all_virtuals = ResumeDataDirectReader.VirtualCache([], [])
     assert jitdriver_sd is self.jitdriver_sd
     resume_in_blackhole(metainterp_sd, jitdriver_sd, self, deadframe,
                         all_virtuals)
     assert 0, "unreachable"
Пример #4
0
 def handle_fail(self, deadframe, metainterp_sd, jitdriver_sd):
     if self.must_compile(deadframe, metainterp_sd, jitdriver_sd):
         self.start_compiling()
         try:
             self._trace_and_compile_from_bridge(deadframe, metainterp_sd,
                                                 jitdriver_sd)
         finally:
             self.done_compiling()
     else:
         from rpython.jit.metainterp.blackhole import resume_in_blackhole
         if isinstance(self, ResumeGuardCopiedDescr):
             resume_in_blackhole(metainterp_sd, jitdriver_sd, self.prev, deadframe)    
         else:
             assert isinstance(self, ResumeGuardDescr)
             resume_in_blackhole(metainterp_sd, jitdriver_sd, self, deadframe)
     assert 0, "unreachable"