Exemple #1
0
 def handle_fail(self, deadframe, metainterp_sd, jitdrivers_sd):
     no = self.no
     assert deadframe._no == no
     if no == 0:
         raise jitexc.DoneWithThisFrameInt(3)
     if no == 1:
         raise jitexc.ContinueRunningNormally([0], [], [], [1], [],
                                              [])
     if no == 3:
         exc = lltype.malloc(OBJECT)
         exc.typeptr = exc_vtable
         raise jitexc.ExitFrameWithExceptionRef(
             lltype.cast_opaque_ptr(llmemory.GCREF, exc))
     assert 0
Exemple #2
0
 def handle_fail(self, deadframe, metainterp_sd, jitdriver_sd):
     assert jitdriver_sd.result_type == history.INT
     result = metainterp_sd.cpu.get_int_value(deadframe, 0)
     raise jitexc.DoneWithThisFrameInt(result)
Exemple #3
0
 def handle_fail(self, deadframe, metainterp_sd, jitdriver_sd):
     assert jitdriver_sd.result_type == history.INT
     cpu = metainterp_sd.cpu
     raise jitexc.DoneWithThisFrameInt(self.get_result(cpu, deadframe))