[pypy-commit] pypy arm-backend-2: add a encode64 helper
bivab
noreply at buildbot.pypy.org
Fri Jun 24 17:39:51 CEST 2011
Author: David Schneider <david.schneider at picle.org>
Branch: arm-backend-2
Changeset: r45104:09c1f23df4bd
Date: 2011-06-24 10:41 +0200
http://bitbucket.org/pypy/pypy/changeset/09c1f23df4bd/
Log: add a encode64 helper
diff --git a/pypy/jit/backend/arm/helper/assembler.py b/pypy/jit/backend/arm/helper/assembler.py
--- a/pypy/jit/backend/arm/helper/assembler.py
+++ b/pypy/jit/backend/arm/helper/assembler.py
@@ -152,3 +152,7 @@
mem[i+1] = chr((n >> 8) & 0xFF)
mem[i+2] = chr((n >> 16) & 0xFF)
mem[i+3] = chr((n >> 24) & 0xFF)
+
+def encode64(mem, i, n):
+ for x in range(8):
+ mem[i+x] = chr((n >> (x*8)) & 0xFF)
diff --git a/pypy/jit/backend/arm/test/test_helper.py b/pypy/jit/backend/arm/test/test_helper.py
--- a/pypy/jit/backend/arm/test/test_helper.py
+++ b/pypy/jit/backend/arm/test/test_helper.py
@@ -1,5 +1,6 @@
-from pypy.jit.backend.arm.helper.assembler import count_reg_args, decode32, \
- decode64, encode32
+from pypy.jit.backend.arm.helper.assembler import count_reg_args, \
+ decode32, encode32, \
+ decode64, encode64
from pypy.jit.metainterp.history import (BoxInt, BoxPtr, BoxFloat,
INT, REF, FLOAT)
@@ -36,3 +37,8 @@
def test_decode64():
mem = list('\x87\xd6\x12\x00\x00\x00\x0F\x00')
assert decode64(mem, 0) == 4222124651894407L
+
+def test_encode64():
+ mem = [None] * 8
+ encode64(mem, 0, 4222124651894407L)
+ assert ''.join(mem) == '\x87\xd6\x12\x00\x00\x00\x0F\x00'
More information about the pypy-commit
mailing list