[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