[pypy-commit] pypy continulet-jit-3: JIT_FRAME -> FORCE_TOKEN again. The idea is that a "jit frame"

arigo noreply at buildbot.pypy.org
Mon Nov 5 03:28:29 CET 2012


Author: Armin Rigo <arigo at tunes.org>
Branch: continulet-jit-3
Changeset: r58729:9601aaf798dd
Date: 2012-11-05 02:47 +0100
http://bitbucket.org/pypy/pypy/changeset/9601aaf798dd/

Log:	JIT_FRAME -> FORCE_TOKEN again. The idea is that a "jit frame"
	corresponds to a dead finished state, whereas a "force token" is a
	gcref that may be force()d to become a "jit frame".

diff --git a/pypy/jit/metainterp/executor.py b/pypy/jit/metainterp/executor.py
--- a/pypy/jit/metainterp/executor.py
+++ b/pypy/jit/metainterp/executor.py
@@ -341,7 +341,7 @@
                 if func is not None:
                     execute[value] = func
                     continue
-            if value in (rop.JIT_FRAME,
+            if value in (rop.FORCE_TOKEN,
                          rop.CALL_ASSEMBLER,
                          rop.COND_CALL_GC_WB,
                          rop.COND_CALL_GC_WB_ARRAY,
diff --git a/pypy/jit/metainterp/jitframe.py b/pypy/jit/metainterp/jitframe.py
--- a/pypy/jit/metainterp/jitframe.py
+++ b/pypy/jit/metainterp/jitframe.py
@@ -14,7 +14,7 @@
 #
 #   4. when running the machine code with a virtualizable, it is set
 #      to the actual CPU frame allocated by the generated assembler,
-#      as fetched with the 'JIT_FRAME' resoperation.
+#      as fetched with the 'FORCE_TOKEN' resoperation.
 #
 TOKEN_NONE = lltype.nullptr(llmemory.GCREF.TO)
 
diff --git a/pypy/jit/metainterp/optimizeopt/virtualize.py b/pypy/jit/metainterp/optimizeopt/virtualize.py
--- a/pypy/jit/metainterp/optimizeopt/virtualize.py
+++ b/pypy/jit/metainterp/optimizeopt/virtualize.py
@@ -400,7 +400,7 @@
         op = ResOperation(rop.NEW_WITH_VTABLE, [c_cls], op.result)
         vrefvalue = self.make_virtual(c_cls, op.result, op)
         tokenbox = BoxPtr()
-        self.emit_operation(ResOperation(rop.JIT_FRAME, [], tokenbox))
+        self.emit_operation(ResOperation(rop.FORCE_TOKEN, [], tokenbox))
         vrefvalue.setfield(descr_jit_frame, self.getvalue(tokenbox))
 
     def optimize_VIRTUAL_REF_FINISH(self, op):
diff --git a/pypy/jit/metainterp/pyjitpl.py b/pypy/jit/metainterp/pyjitpl.py
--- a/pypy/jit/metainterp/pyjitpl.py
+++ b/pypy/jit/metainterp/pyjitpl.py
@@ -2344,10 +2344,10 @@
         vinfo = self.jitdriver_sd.virtualizable_info
         if vinfo is not None:
             virtualizable_box = self.virtualizable_boxes[-1]
-            jit_frame_box = history.BoxPtr()
-            self.history.record(rop.JIT_FRAME, [], jit_frame_box)
+            token_box = history.BoxPtr()
+            self.history.record(rop.FORCE_TOKEN, [], token_box)
             self.history.record(rop.SETFIELD_GC, [virtualizable_box,
-                                                  jit_frame_box],
+                                                  token_box],
                                 None, descr=vinfo.jit_frame_descr)
 
     def vrefs_after_residual_call(self):
diff --git a/pypy/jit/metainterp/resoperation.py b/pypy/jit/metainterp/resoperation.py
--- a/pypy/jit/metainterp/resoperation.py
+++ b/pypy/jit/metainterp/resoperation.py
@@ -483,7 +483,7 @@
     'NEWSTR/1',
     'NEWUNICODE/1',
     '_MALLOC_LAST',
-    'JIT_FRAME/0',
+    'FORCE_TOKEN/0',
     'VIRTUAL_REF/2',         # removed before it's passed to the backend
     'READ_TIMESTAMP/0',
     'MARK_OPAQUE_PTR/1b',


More information about the pypy-commit mailing list