Commits

Maciej Fijalkowski committed ef0a711

Clean up. force_descr is no longer used. test_runner does not have to have
force_virtualizable test, since it's a normal cond_call these days

  • Participants
  • Parent commits 2cb1b6c
  • Branches kill-gen-store-back-in

Comments (0)

Files changed (2)

rpython/jit/backend/llgraph/runner.py

     _TYPE = llmemory.GCREF
 
     def __init__(self, latest_descr, values,
-                 last_exception=None, saved_data=None, force_descr=None):
+                 last_exception=None, saved_data=None):
         self._latest_descr = latest_descr
         self._values = values
         self._last_exception = last_exception
         self._saved_data = saved_data
-        self.force_descr = force_descr
 
 
 class LLFrame(object):
             values = [value for value in values if value is not None]
             raise Jump(target, values)
         else:
-            if self.force_guard_op is not None:
-                force_descr = self.force_guard_op.getdescr()
-            else:
-                force_descr = None
             raise ExecutionFinished(LLDeadFrame(descr, values,
                                                 self.last_exception,
-                                                saved_data, force_descr))
+                                                saved_data))
 
     def execute_force_spill(self, _, arg):
         pass
 
     def execute_finish(self, descr, *args):
-        if self.force_guard_op is not None:
-            force_descr = self.force_guard_op.getdescr()
-        else:
-            force_descr = None
-        raise ExecutionFinished(LLDeadFrame(descr, args,
-                                   force_descr=force_descr))
+        raise ExecutionFinished(LLDeadFrame(descr, args))
 
     def execute_label(self, descr, *args):
         argboxes = self.current_op.getarglist()

rpython/jit/backend/test/runner_test.py

         assert descr.identifier == 42
         assert not self.cpu.grab_exc_value(frame)
 
-    def test_force_virtualizable(self):
-
-        class FakeVinfo(object):
-            pass
-
-        def clear_vable_token(token):
-            lltype.cast_opaque_ptr(lltype.Ptr(S), token).x = 18
-
-        FUNC = lltype.FuncType([llmemory.GCREF], lltype.Void)
-        clear_vable_ptr = llhelper(lltype.Ptr(FUNC), clear_vable_token)
-        S = lltype.GcStruct('x', ('x', lltype.Signed))
-
-        pdescr = self.cpu.fielddescrof(S, 'x')
-        pdescr.vinfo = FakeVinfo()
-        pdescr.vinfo.clear_vable_token = clear_vable_token
-        pdescr.vinfo.clear_vable_ptr = clear_vable_ptr
-        pdescr.vinfo.clear_vable_descr = self.cpu.calldescrof(FUNC, FUNC.ARGS,
-          FUNC.RESULT, EffectInfo.LEAST_GENERAL)
-        loop = parse("""
-        [p0]
-        force_virtualizable(p0, descr=pdescr)
-        i1 = getfield_gc(p0, descr=pdescr)
-        finish(i1)
-        """, namespace={'pdescr': pdescr})
-        looptoken = JitCellToken()
-        self.cpu.compile_loop(loop.inputargs, loop.operations, looptoken)
-        s = lltype.malloc(S)
-        s.x = 13
-        frame = self.cpu.execute_token(looptoken, lltype.cast_opaque_ptr(llmemory.GCREF, s))
-        assert self.cpu.get_int_value(frame, 0) == 18
-
     def test_setarrayitem_raw_short(self):
         # setarrayitem_raw(140737353744432, 0, 30583, descr=<ArrayS 2>)
         A = rffi.CArray(rffi.SHORT)