[pypy-commit] pypy default: add a jitdriver here
fijal
noreply at buildbot.pypy.org
Wed Feb 22 02:36:02 CET 2012
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch:
Changeset: r52752:126806ef2466
Date: 2012-02-21 18:35 -0700
http://bitbucket.org/pypy/pypy/changeset/126806ef2466/
Log: add a jitdriver here
diff --git a/pypy/module/micronumpy/interp_support.py b/pypy/module/micronumpy/interp_support.py
--- a/pypy/module/micronumpy/interp_support.py
+++ b/pypy/module/micronumpy/interp_support.py
@@ -3,7 +3,7 @@
from pypy.rpython.lltypesystem import lltype, rffi
from pypy.module.micronumpy import interp_dtype
from pypy.objspace.std.strutil import strip_spaces
-
+from pypy.rlib import jit
FLOAT_SIZE = rffi.sizeof(lltype.Float)
@@ -72,11 +72,18 @@
"string is smaller than requested size"))
a = W_NDimArray(count, [count], dtype=dtype)
+ fromstring_loop(a, count, dtype, itemsize, s)
+ return space.wrap(a)
+
+fromstring_driver = jit.JitDriver(greens=[], reds=['a', 'count', 'dtype',
+ 'itemsize', 's'])
+
+def fromstring_loop(a, count, dtype, itemsize, s):
for i in range(count):
+ fromstring_driver.jit_merge_point(a=a, count=count, dtype=dtype,
+ itemsize=itemsize, s=s)
val = dtype.itemtype.runpack_str(s[i*itemsize:i*itemsize + itemsize])
a.dtype.setitem(a.storage, i, val)
-
- return space.wrap(a)
@unwrap_spec(s=str, count=int, sep=str)
def fromstring(space, s, w_dtype=None, count=-1, sep=''):
More information about the pypy-commit
mailing list