Author: David Schneider <david.schnei...@picle.org> Branch: emit-call-arm Changeset: r64528:73b3305ea5f3 Date: 2013-05-23 14:02 -0500 http://bitbucket.org/pypy/pypy/changeset/73b3305ea5f3/
Log: add a location to directly access the stack based on sp diff --git a/rpython/jit/backend/arm/locations.py b/rpython/jit/backend/arm/locations.py --- a/rpython/jit/backend/arm/locations.py +++ b/rpython/jit/backend/arm/locations.py @@ -12,6 +12,9 @@ def is_stack(self): return False + def is_raw_sp(self): + return False + def is_reg(self): return False @@ -145,7 +148,27 @@ return self.position + 10000 def is_float(self): - return type == FLOAT + return self.type == FLOAT + +class RawSPStackLocation(AssemblerLocation): + _immutable_ = True + + def __init__(self, sp_offset, type=INT): + if type == FLOAT: + self.width = DOUBLE_WORD + else: + self.width = WORD + self.value = sp_offset + self.type = type + + def __repr__(self): + return 'SP(%s)+%d' % (self.type, self.value,) + + def is_raw_sp(self): + return True + + def is_float(self): + return self.type == FLOAT def imm(i): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit