[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