[pypy-commit] pypy jitframe-on-heap: move code to llmodel

bivab noreply at buildbot.pypy.org
Wed Feb 6 17:50:12 CET 2013


Author: David Schneider <david.schneider at picle.org>
Branch: jitframe-on-heap
Changeset: r60906:80c28f5cff6d
Date: 2013-02-06 17:09 +0100
http://bitbucket.org/pypy/pypy/changeset/80c28f5cff6d/

Log:	move code to llmodel

diff --git a/rpython/jit/backend/llsupport/llmodel.py b/rpython/jit/backend/llsupport/llmodel.py
--- a/rpython/jit/backend/llsupport/llmodel.py
+++ b/rpython/jit/backend/llsupport/llmodel.py
@@ -11,7 +11,8 @@
 from rpython.jit.backend.llsupport.descr import (
     get_size_descr, get_field_descr, get_array_descr,
     get_call_descr, get_interiorfield_descr,
-    FieldDescr, ArrayDescr, CallDescr, InteriorFieldDescr)
+    FieldDescr, ArrayDescr, CallDescr, InteriorFieldDescr,
+    FLAG_POINTER, FLAG_FLOAT)
 from rpython.jit.backend.llsupport.asmmemmgr import AsmMemoryManager
 from rpython.annotator import model as annmodel
 
@@ -46,8 +47,25 @@
             self._setup_exception_handling_untranslated()
         self.asmmemmgr = AsmMemoryManager()
         self._setup_frame_realloc(translate_support_code)
+        ad = self.gc_ll_descr.getframedescrs(self).arraydescr
+        self.signedarraydescr = ad
+        # the same as normal JITFRAME, however with an array of pointers
+        self.refarraydescr = ArrayDescr(ad.basesize, ad.itemsize, ad.lendescr,
+                                        FLAG_POINTER)
+        self.floatarraydescr = ArrayDescr(ad.basesize, ad.itemsize, ad.lendescr,
+                                          FLAG_FLOAT)
         self.setup()
 
+    def getarraydescr_for_frame(self, type, index):
+        if type == history.FLOAT:
+            descr = self.floatarraydescr
+        elif type == history.REF:
+            descr = self.refarraydescr
+        else:
+            descr = self.signedarraydescr
+        return JITFRAME_FIXED_SIZE + index, descr
+
+
     def setup(self):
         pass
 
diff --git a/rpython/jit/backend/x86/runner.py b/rpython/jit/backend/x86/runner.py
--- a/rpython/jit/backend/x86/runner.py
+++ b/rpython/jit/backend/x86/runner.py
@@ -13,8 +13,6 @@
 from rpython.jit.backend.llsupport import jitframe
 from rpython.jit.backend.x86 import regloc
 from rpython.jit.backend.llsupport.symbolic import WORD
-from rpython.jit.backend.llsupport.descr import ArrayDescr, FLAG_POINTER,\
-     FLAG_FLOAT
 
 import sys
 
@@ -48,23 +46,6 @@
 
         self.profile_agent = profile_agent
 
-        ad = self.gc_ll_descr.getframedescrs(self).arraydescr
-        self.signedarraydescr = ad
-        # the same as normal JITFRAME, however with an array of pointers
-        self.refarraydescr = ArrayDescr(ad.basesize, ad.itemsize, ad.lendescr,
-                                        FLAG_POINTER)
-        self.floatarraydescr = ArrayDescr(ad.basesize, ad.itemsize, ad.lendescr,
-                                          FLAG_FLOAT)
-
-    def getarraydescr_for_frame(self, type, index):
-        if type == history.FLOAT:
-            descr = self.floatarraydescr
-        elif type == history.REF:
-            descr = self.refarraydescr
-        else:
-            descr = self.signedarraydescr
-        return JITFRAME_FIXED_SIZE + index, descr
-
     def set_debug(self, flag):
         return self.assembler.set_debug(flag)
 


More information about the pypy-commit mailing list