Commits

Maciej Fijalkowski committed e521b3b

if we're in the middle of handle-async-forcing then we cannot really
have a virtualizable in an odd state - it should be normal

  • Participants
  • Parent commits e2daec7
  • Branches kill-gen-store-back-in

Comments (0)

Files changed (2)

File rpython/jit/metainterp/pyjitpl.py

         # xxx hack
         if not self.metainterp.heapcache.is_class_known(exc_value_box):
             clsbox = self.cls_of_box(exc_value_box)
-            self.generate_guard(rop.GUARD_CLASS, exc_value_box, [clsbox],
-                                resumepc=orgpc)
+            self.metainterp.generate_guard(rop.GUARD_CLASS, exc_value_box,
+                                           [clsbox], resumepc=orgpc)
         self.metainterp.class_of_last_exc_is_const = True
         self.metainterp.last_exc_value_box = exc_value_box
         self.metainterp.popframe()

File rpython/jit/metainterp/resume.py

         virtualizable = self.decode_ref(numb.nums[index])
         if self.resume_after_guard_not_forced == 1:
             # in the middle of handle_async_forcing()
-            if not vinfo.is_token_nonnull_gcref(virtualizable):
-                raise AlreadyForced
+            assert vinfo.is_token_nonnull_gcref(virtualizable)
             vinfo.reset_token_gcref(virtualizable)
         else:
             # just jumped away from assembler (case 4 in the comment in