[pypy-commit] pypy default: size2shift() already exists as _get_scale().
arigo
noreply at buildbot.pypy.org
Thu Apr 18 10:30:47 CEST 2013
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r63476:c9796f6f5eeb
Date: 2013-04-18 10:30 +0200
http://bitbucket.org/pypy/pypy/changeset/c9796f6f5eeb/
Log: size2shift() already exists as _get_scale().
diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -2415,8 +2415,9 @@
jmp_adr0 = self.mc.get_relative_pos()
self.mc.MOV(eax, heap(nursery_free_adr))
- shift = size2shift(itemsize)
- if shift < 0:
+ if _valid_addressing_size(itemsize):
+ shift = _get_scale(itemsize)
+ else:
self.mc.IMUL_rri(edi.value, varsizeloc.value, itemsize)
varsizeloc = edi
shift = 0
@@ -2523,13 +2524,5 @@
os.write(2, '[x86/asm] %s\n' % msg)
raise NotImplementedError(msg)
-def size2shift(size):
- "Return a result 0..3 such that (1<<result) == size, or -1 if impossible"
- if size == 1: return 0
- if size == 2: return 1
- if size == 4: return 2
- if size == 8: return 3
- return -1
-
class BridgeAlreadyCompiled(Exception):
pass
More information about the pypy-commit
mailing list