[pypy-commit] pypy remove-globals-in-jit: Pass the first test.
arigo
noreply at buildbot.pypy.org
Thu Nov 15 21:45:55 CET 2012
Author: Armin Rigo <arigo at tunes.org>
Branch: remove-globals-in-jit
Changeset: r58925:7dad9c72895a
Date: 2012-11-15 12:04 +0100
http://bitbucket.org/pypy/pypy/changeset/7dad9c72895a/
Log: Pass the first test.
diff --git a/pypy/jit/backend/llsupport/llmodel.py b/pypy/jit/backend/llsupport/llmodel.py
--- a/pypy/jit/backend/llsupport/llmodel.py
+++ b/pypy/jit/backend/llsupport/llmodel.py
@@ -6,7 +6,7 @@
from pypy.jit.metainterp import history
from pypy.jit.codewriter import heaptracker, longlong
from pypy.jit.backend.model import AbstractCPU
-from pypy.jit.backend.llsupport import symbolic
+from pypy.jit.backend.llsupport import symbolic, jitframe
from pypy.jit.backend.llsupport.symbolic import WORD, unroll_basic_sizes
from pypy.jit.backend.llsupport.descr import (
get_size_descr, get_field_descr, get_array_descr,
@@ -307,6 +307,27 @@
self._zer_error_inst)
return zer_vtable, zer_inst
+ def get_latest_descr(self, deadframe):
+ deadframe = lltype.cast_opaque_ptr(jitframe.DEADFRAMEPTR, deadframe)
+ descr = deadframe.jf_descr
+ return history.AbstractDescr.show(self, descr)
+
+ def get_latest_value_int(self, deadframe, index):
+ deadframe = lltype.cast_opaque_ptr(jitframe.DEADFRAMEPTR, deadframe)
+ return deadframe.jf_values[index].int
+
+ def get_latest_value_ref(self, deadframe, index):
+ deadframe = lltype.cast_opaque_ptr(jitframe.DEADFRAMEPTR, deadframe)
+ return deadframe.jf_values[index].ref
+
+ def get_latest_value_float(self, deadframe, index):
+ deadframe = lltype.cast_opaque_ptr(jitframe.DEADFRAMEPTR, deadframe)
+ return deadframe.jf_values[index].float
+
+ def get_latest_value_count(self, deadframe):
+ deadframe = lltype.cast_opaque_ptr(jitframe.DEADFRAMEPTR, deadframe)
+ return len(deadframe.jf_values)
+
# ____________________________________________________________
def bh_arraylen_gc(self, array, arraydescr):
diff --git a/pypy/jit/backend/x86/runner.py b/pypy/jit/backend/x86/runner.py
--- a/pypy/jit/backend/x86/runner.py
+++ b/pypy/jit/backend/x86/runner.py
@@ -87,18 +87,6 @@
return self.assembler.assemble_bridge(faildescr, inputargs, operations,
original_loop_token, log=log)
- def get_latest_value_int(self, index):
- return self.assembler.fail_boxes_int.getitem(index)
-
- def get_latest_value_float(self, index):
- return self.assembler.fail_boxes_float.getitem(index)
-
- def get_latest_value_ref(self, index):
- return self.assembler.fail_boxes_ptr.getitem(index)
-
- def get_latest_value_count(self):
- return self.assembler.fail_boxes_count
-
def clear_latest_values(self, count):
setitem = self.assembler.fail_boxes_ptr.setitem
null = lltype.nullptr(llmemory.GCREF.TO)
More information about the pypy-commit
mailing list