From glavoie at gmail.com Thu Oct 1 06:18:44 2009 From: glavoie at gmail.com (Gabriel Lavoie) Date: Thu, 1 Oct 2009 00:18:44 -0400 Subject: [pypy-dev] Stackless Python and PyPy Stackless.py In-Reply-To: <20090930075918.GB15455@trillke.net> References: <622253.76367.qm@web112410.mail.gq1.yahoo.com> <3D291582-7965-4F9E-933E-FA520540514D@gmail.com> <20090930075918.GB15455@trillke.net> Message-ID: Hello Holger, I have no paper done yet but I'll have to write something in the near future (next few months). I have some ideas of my final goal written in a wiki between me and my professor but I need to translate them since they are written in french. I just read your blog post and the homepage of py.execnet and I like the idea. I can clearly see some use in my work as a backend to start remote interpreters and make the communication over the network (for my networked channels). And for sure, it would be a nice improvement to the "socketprotocolgenerator.py" library I made for the communication. Like I said, I want my library to fit as much as possible in the idea of Stackless Python with as few additions as possible to the Stackles API. Things like the named channels I have in my examples will disappear as they are only there for developpement/debugging purpose. If you're interested in chatting about it, I'm often on #pypy. See ya, Gabriel (WildChild) 2009/9/30 holger krekel : > Hi Gabriel, > > very cool. ?Do you happen to have some conceptual paper/post describing > your programming model in more detail? ?I am asking because i am working > on related ideas, i.e. "networked interpreters", see my latest blog > post http://tinyurl.com/yco9aua > > cheers, > holger > > On Tue, Sep 29, 2009 at 21:20 -0400, Gabriel Lavoie wrote: >> Hello everyone, >> ? ? here is a first look at my work. Comments are welcome! :) >> >> http://www.mutehq.net/~wildchild/dstackless.html >> >> See ya, >> >> Gabriel >> >> 2009/9/28 Gabriel Lavoie : >> > 2009/9/28 Leonardo Santagada : >> >> I am very interested, I thought to do something like it. Where could I see >> >> your code? >> >> >> >> On Sep 28, 2009, at 10:04 AM, Gabriel Lavoie wrote: >> >> >> >>> Hello Andrew, >> >>> ? ?I'm currently experimenting with PyPy's implementation of >> >>> Stackless to add new features for a university master degree project. >> >>> I chose PyPy's implementation because it's easier to play with Python >> >>> code than with C code. Also, since PyPy is "still experimental", it >> >>> was the best implementation to choose to hack with and I don't regret >> >>> my choice. What I'm trying to achieve is to add distributed features >> >>> to Stackless: >> >>> >> >>> - Local and networked channels with automatic switch between both >> >>> - Easy tasklet migration to a remote host, keeping the channel >> >>> connections between tasklets. >> >>> - Transparent/automatic dependencies migration when a tasklet is sent >> >>> to a remote host. >> >>> >> >>> Most of the features are done and I'm currently working on the >> >>> dependencies migration. The only bad part is that I'm doing this >> >>> project part time since I have a full time job but I have to complete >> >>> the programming part in the next two months (I've been working for too >> >>> long on this). >> >>> >> >>> If you're interested to see what I've done, just ask! :) >> >>> >> >>> See ya, >> >>> >> >>> Gabriel >> >>> >> >>> 2009/9/25 Andrew Francis : >> >>>> >> >>>> Hi Folks: >> >>>> >> >>>> Again as a part of my Stackless Python talk, I wanted to include a >> >>>> section on the "Future." I assume a part of Stackless Python's future is >> >>>> PyPy? Or am I being presumptuous? >> >>>> >> >>>> Regardless I would like to end the talk with a brief section on PyPy. I >> >>>> noticed the Stackless.py module in lib that contains the Stackless >> >>>> implementation in Python. >> >>>> >> >>>> What I plan to do in my talk is show how a rough approximation of Limbo's >> >>>> alt (selecting the first ready channel from a list) could be implemented. >> >>>> >> >>>> I am a newbie in regards to PyPy. However I have been reading the >> >>>> Stackless documentation. I thought it would be neat if I ended the talk with >> >>>> redoing this, but in PyPy as a part of how one could quickly prototype new >> >>>> Stackless Python features. Any thoughts? Is there anything gotchas? >> >>>> >> >>>> Cheers, >> >>>> Andrew >> >>>> >> >>>> >> >>>> >> >>>> _______________________________________________ >> >>>> pypy-dev at codespeak.net >> >>>> http://codespeak.net/mailman/listinfo/pypy-dev >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> Gabriel Lavoie >> >>> glavoie at gmail.com >> >>> _______________________________________________ >> >>> pypy-dev at codespeak.net >> >>> http://codespeak.net/mailman/listinfo/pypy-dev >> >> >> >> -- >> >> Leonardo Santagada >> >> santagada at gmail.com >> >> >> >> >> >> >> >> >> > >> > I still haven't shown publicly my work. I'll try to quickly prepare >> > something this week with my current test code samples and a quick >> > description of the API. I think the code quality is pretty bad as this >> > is my first real Python project. My priority is to have something that >> > works before doing a big cleanup. >> > >> > Gabriel >> > >> > -- >> > Gabriel Lavoie >> > glavoie at gmail.com >> > >> >> >> >> -- >> Gabriel Lavoie >> glavoie at gmail.com >> _______________________________________________ >> pypy-dev at codespeak.net >> http://codespeak.net/mailman/listinfo/pypy-dev > -- > Metaprogramming, Python, Testing: http://tetamap.wordpress.com > Python, PyPy, pytest contracting: http://merlinux.eu > -- Gabriel Lavoie glavoie at gmail.com From glavoie at gmail.com Thu Oct 1 06:22:02 2009 From: glavoie at gmail.com (Gabriel Lavoie) Date: Thu, 1 Oct 2009 00:22:02 -0400 Subject: [pypy-dev] Mac osx patches In-Reply-To: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> Message-ID: Does it help to build pypy-c under Snow Leopard? I'm still using a build I made when my system was still on Leopard as I'm currently unable to build pypy-c under Snow Leopard. It must have something to do with the switch to 64bits as the default GCC target. I did not have more time to investigate yet. Here's the build error: [Timer] Timings: [Timer] annotate --- 358.5 s [Timer] ========================================== [Timer] Total: --- 358.5 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "translate.py", line 277, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/translator/driver.py", line 721, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip()) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/translator/tool/taskengine.py", line 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/translator/driver.py", line 275, in _do [translation:ERROR] res = func() [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/translator/driver.py", line 302, in task_annotate [translation:ERROR] s = annotator.build_types(self.entry_point, self.inputtypes) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 99, in build_types [translation:ERROR] return self.build_graph_types(flowgraph, inputcells, complete_now=complete_now) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 190, in build_graph_types [translation:ERROR] self.complete() [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 246, in complete [translation:ERROR] self.processblock(graph, block) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 471, in processblock [translation:ERROR] self.flowin(graph, block) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 531, in flowin [translation:ERROR] self.consider_op(block.operations[i]) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 735, in consider_op [translation:ERROR] raise_nicer_exception(op, str(graph)) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 732, in consider_op [translation:ERROR] resultcell = consider_meth(*argcells) [translation:ERROR] File "", line 3, in consider_op_setattr [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/unaryop.py", line 760, in setattr [translation:ERROR] setattr(example, s_attr.const, v_lltype._defl()) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/rpython/lltypesystem/lltype.py", line 1033, in __setattr__ [translation:ERROR] " got %r" % (self._T, field_name, T1, T2)) [translation:ERROR] TypeError': instance field 'c_tv_usec': [translation:ERROR] expects [translation:ERROR] got [translation:ERROR] .. v1541 = setattr(v1539, ('c_tv_usec'), v1540) [translation:ERROR] .. '(pypy.rlib.rpoll:75)select' [translation:ERROR] Processing block: [translation:ERROR] block at 421 is a [translation:ERROR] in (pypy.rlib.rpoll:75)select [translation:ERROR] containing the following operations: [translation:ERROR] v1539 = call_args((function malloc), ((1, ('flavor',), False, False)), (Struct timeval), ('raw')) [translation:ERROR] v1542 = simple_call((builtin_function_or_method fmod), timeout_0, (1.0)) [translation:ERROR] v1543 = simple_call((type int), timeout_0) [translation:ERROR] v1544 = setattr(v1539, ('c_tv_sec'), v1543) [translation:ERROR] v1545 = simple_call((type int), timeout_0) [translation:ERROR] v1546 = sub(timeout_0, v1545) [translation:ERROR] v1547 = mul(v1546, (1000000.0)) [translation:ERROR] v1540 = simple_call((type int), v1547) [translation:ERROR] v1541 = setattr(v1539, ('c_tv_usec'), v1540) [translation:ERROR] --end-- [translation] start debugger... > /Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/rpython/lltypesystem/lltype.py(1033)__setattr__() -> " got %r" % (self._T, field_name, T1, T2)) (Pdb+) Gabriel 2009/9/30 Leonardo Santagada : > To make compilation and asmgcroot happy on osx I made some changes, I > would like to know if someone has anything against applying this stuff > to trunk? > > Index: pypy/translator/c/gcc/trackgcroot.py > =================================================================== > --- pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(revision 68036) > +++ pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(working copy) > @@ -22,7 +22,11 @@ > ?r_sectionstart ? ? ? ? = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) > +").*$") > ?r_functionstart_darwin = re.compile(r"_(\w+):\s*$") > > -OFFSET_LABELS ? = 2**30 > +# darwin's ld complain about this hack > +if sys.platform == 'darwin': > + ? ?OFFSET_LABELS = 0 > +else: > + ? ?OFFSET_LABELS = 2**30 > > ?# inside functions > ?LABEL ? ? ? ? ? = r'([.]?[\w$@]+)' > Index: pypy/translator/platform/test/test_darwin.py > =================================================================== > --- pypy/translator/platform/test/test_darwin.py ? ? ? ?(revision 68036) > +++ pypy/translator/platform/test/test_darwin.py ? ? ? ?(working copy) > @@ -2,8 +2,8 @@ > ?""" File containing darwin platform tests > ?""" > > -import py, os > -if os.name != 'darwin': > +import py, sys > +if sys.platform != 'darwin': > ? ? ?py.test.skip("Darwin only") > > ?from pypy.tool.udir import udir > Index: pypy/translator/platform/darwin.py > =================================================================== > --- pypy/translator/platform/darwin.py ?(revision 68036) > +++ pypy/translator/platform/darwin.py ?(working copy) > @@ -18,7 +18,7 @@ > ? ? ? ? ?self.cc = cc > > ? ? ?def _args_for_shared(self, args): > - ? ? ? ?return (self.shared_only + ['-bundle', '-undefined', > 'dynamic_lookup'] > + ? ? ? ?return (self.shared_only + ['-dynamiclib', '-undefined', > 'dynamic_lookup'] > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? + args) > > ? ? ?def include_dirs_for_libffi(self): > > > -- > Leonardo Santagada > santagada at gmail.com > > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- Gabriel Lavoie glavoie at gmail.com From santagada at gmail.com Thu Oct 1 08:18:47 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Thu, 1 Oct 2009 03:18:47 -0300 Subject: [pypy-dev] Mac osx patches In-Reply-To: References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> Message-ID: <66E1DECE-05A1-499A-A5FD-2620605CDEBF@gmail.com> I will be migrating to snow leopard (SL) soon, but right now I don't have access to it so I can't help you with that. Although it happens so soon during translation that it should be unrelated to SL. ps: Hope that when someone fixes the error "'GC_local_malloc' not found in library 'gc'" I can try to fix the jit errors on osx. I hate compiler problems in pypy (I always take hours to discover what is wrong) but if noone fix this by tomorrow I will give it a try :) On Oct 1, 2009, at 1:22 AM, Gabriel Lavoie wrote: > Does it help to build pypy-c under Snow Leopard? I'm still using a > build I made when my system was still on Leopard as I'm currently > unable to build pypy-c under Snow Leopard. It must have something to > do with the switch to 64bits as the default GCC target. I did not have > more time to investigate yet. > > Here's the build error: > > [Timer] Timings: > [Timer] annotate --- 358.5 s > [Timer] ========================================== > [Timer] Total: --- 358.5 s > [translation:ERROR] Error: > [translation:ERROR] Traceback (most recent call last): > [translation:ERROR] File "translate.py", line 277, in main > [translation:ERROR] drv.proceed(goals) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/translator/driver.py", > line 721, in proceed > [translation:ERROR] return self._execute(goals, task_skip = > self._maybe_skip()) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/translator/tool/taskengine.py", > line 116, in _execute > [translation:ERROR] res = self._do(goal, taskcallable, *args, > **kwds) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/translator/driver.py", > line 275, in _do > [translation:ERROR] res = func() > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/translator/driver.py", > line 302, in task_annotate > [translation:ERROR] s = annotator.build_types(self.entry_point, > self.inputtypes) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 99, in build_types > [translation:ERROR] return self.build_graph_types(flowgraph, > inputcells, complete_now=complete_now) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 190, in build_graph_types > [translation:ERROR] self.complete() > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 246, in complete > [translation:ERROR] self.processblock(graph, block) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 471, in processblock > [translation:ERROR] self.flowin(graph, block) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 531, in flowin > [translation:ERROR] self.consider_op(block.operations[i]) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 735, in consider_op > [translation:ERROR] raise_nicer_exception(op, str(graph)) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 732, in consider_op > [translation:ERROR] resultcell = consider_meth(*argcells) > [translation:ERROR] File " /Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py:770>", > line 3, in consider_op_setattr > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/unaryop.py", > line 760, in setattr > [translation:ERROR] setattr(example, s_attr.const, > v_lltype._defl()) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/rpython/lltypesystem/lltype.py", > line 1033, in __setattr__ > [translation:ERROR] " got %r" % (self._T, field_name, T1, T2)) > [translation:ERROR] TypeError': c_tv_usec, c__pad0, c__pad1, c__pad2, c__pad3 }> instance field > 'c_tv_usec': > [translation:ERROR] expects > [translation:ERROR] got > [translation:ERROR] .. v1541 = setattr(v1539, ('c_tv_usec'), v1540) > [translation:ERROR] .. '(pypy.rlib.rpoll:75)select' > [translation:ERROR] Processing block: > [translation:ERROR] block at 421 is a 'pypy.objspace.flow.flowcontext.SpamBlock'> > [translation:ERROR] in (pypy.rlib.rpoll:75)select > [translation:ERROR] containing the following operations: > [translation:ERROR] v1539 = call_args((function malloc), ((1, > ('flavor',), False, False)), (Struct timeval), ('raw')) > [translation:ERROR] v1542 = > simple_call((builtin_function_or_method fmod), timeout_0, (1.0)) > [translation:ERROR] v1543 = simple_call((type int), timeout_0) > [translation:ERROR] v1544 = setattr(v1539, ('c_tv_sec'), v1543) > [translation:ERROR] v1545 = simple_call((type int), timeout_0) > [translation:ERROR] v1546 = sub(timeout_0, v1545) > [translation:ERROR] v1547 = mul(v1546, (1000000.0)) > [translation:ERROR] v1540 = simple_call((type int), v1547) > [translation:ERROR] v1541 = setattr(v1539, ('c_tv_usec'), > v1540) > [translation:ERROR] --end-- > [translation] start debugger... >> /Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- >> trunk/pypy/rpython/lltypesystem/lltype.py(1033)__setattr__() > -> " got %r" % (self._T, field_name, T1, T2)) > (Pdb+) > > Gabriel > > 2009/9/30 Leonardo Santagada : >> To make compilation and asmgcroot happy on osx I made some changes, I >> would like to know if someone has anything against applying this >> stuff >> to trunk? >> >> Index: pypy/translator/c/gcc/trackgcroot.py >> =================================================================== >> --- pypy/translator/c/gcc/trackgcroot.py (revision 68036) >> +++ pypy/translator/c/gcc/trackgcroot.py (working copy) >> @@ -22,7 +22,11 @@ >> r_sectionstart = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) >> +").*$") >> r_functionstart_darwin = re.compile(r"_(\w+):\s*$") >> >> -OFFSET_LABELS = 2**30 >> +# darwin's ld complain about this hack >> +if sys.platform == 'darwin': >> + OFFSET_LABELS = 0 >> +else: >> + OFFSET_LABELS = 2**30 >> >> # inside functions >> LABEL = r'([.]?[\w$@]+)' >> Index: pypy/translator/platform/test/test_darwin.py >> =================================================================== >> --- pypy/translator/platform/test/test_darwin.py (revision >> 68036) >> +++ pypy/translator/platform/test/test_darwin.py (working >> copy) >> @@ -2,8 +2,8 @@ >> """ File containing darwin platform tests >> """ >> >> -import py, os >> -if os.name != 'darwin': >> +import py, sys >> +if sys.platform != 'darwin': >> py.test.skip("Darwin only") >> >> from pypy.tool.udir import udir >> Index: pypy/translator/platform/darwin.py >> =================================================================== >> --- pypy/translator/platform/darwin.py (revision 68036) >> +++ pypy/translator/platform/darwin.py (working copy) >> @@ -18,7 +18,7 @@ >> self.cc = cc >> >> def _args_for_shared(self, args): >> - return (self.shared_only + ['-bundle', '-undefined', >> 'dynamic_lookup'] >> + return (self.shared_only + ['-dynamiclib', '-undefined', >> 'dynamic_lookup'] >> + args) >> >> def include_dirs_for_libffi(self): >> >> >> -- >> Leonardo Santagada >> santagada at gmail.com >> >> >> >> _______________________________________________ >> pypy-dev at codespeak.net >> http://codespeak.net/mailman/listinfo/pypy-dev >> > > > > -- > Gabriel Lavoie > glavoie at gmail.com -- Leonardo Santagada santagada at gmail.com From iko at openend.se Thu Oct 1 12:31:57 2009 From: iko at openend.se (Anders Hammarquist) Date: Thu, 01 Oct 2009 12:31:57 +0200 Subject: [pypy-dev] Nightly Benchmarks In-Reply-To: Message from Miquel Torres of "Tue, 29 Sep 2009 11:31:21 +0200." References: Message-ID: <200910011031.n91AVvcc023352@fido.openend.se> Hello, In a message of Tue, 29 Sep 2009 11:31:21 +0200, Miquel Torres writes: >We agreed on a Django DB backend, and plot rendering by the browser, so we >need to talk about the way to store the nightly benchmark data into the DB. Hmm, I've already started to implement a DB store using SQLalchemy. Can Django use that? (it is in the repository at http://codespeak.net/svn/pypy/build/benchmark) >The end goal is to build a speed.pypy.org where you can compare all kind of >pypy versions to cpython and other python interpreters and other languages[...] Could prove interesting, and the DB structure I've got should be able to deal with that as well (it is quite minimal). The runner that is there is mostly useless for comparing different lanugagues though. >Can you please explain to me what you are doing in that area now? The intended next step is to interface a benchmark runner (of pypy trunk) with the database so the results will be persistent. I've been caught up in other (non-PyPy-related) work though. and if the database interface I've got is not useful, maybe I shouldn't do that. /Anders From arigo at tunes.org Thu Oct 1 17:41:08 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 1 Oct 2009 17:41:08 +0200 Subject: [pypy-dev] support for 64-bit processors and eliminating global state In-Reply-To: <4AC3A11A.6050506@eecs.berkeley.edu> References: <4AC3870B.40907@eecs.berkeley.edu> <693bc9ab0909301022n3c0b7b1bq8e0d9aacde54e3f8@mail.gmail.com> <4AC3A11A.6050506@eecs.berkeley.edu> Message-ID: <20091001154108.GA13805@code0.codespeak.net> Hi Jeff, On Wed, Sep 30, 2009 at 11:19:06AM -0700, Jeff Anderson-Lee wrote: > > It's true that we don't have a good story here and we need one. Something > > a'la Jython would work (unlike in CPython), but it's work. > > > The last time I looked, Hoard didn't support x86_64 although it did seem > to work for threaded environments fairly efficiently if I recall. > Having a separate arena for each thread (or each virtual processor) > helps to avoid a lot of locking for frequent/small allocations in a VM. > That may mean factoring out the allocation so that it calls something > like myalloc(pool,size) rather than just malloc(size). I read that pypy > was trying to factor out the GC code to support multiple back-ends. > Having an API that supports multiple concurrent allocator pools can be > useful in that regard. That's all true, but the primary issue with the GIL in Python (either in CPython or PyPy) is more fundamental. Its purpose is to protect concurrent object accesses. It is to avoid getting random nonsense or crashing the interpreter if you do two lst.append() on the same list in two threads in parallel, for example. The Python language reference itself says that doing this gives you the "expected" result, i.e. the same as if the lst.append() was protected with locking. From there to the GIL the distance is not very large. We could ignore this point and try to implement a free multithreading interpreter in PyPy -- and we would then hit all the issues you describe above, and have to solve them somehow. But the point is that it would no longer be a fully compliant Python interpreter. Depending on the use case it might be either a very useful quasi-Python interpreter, or a useless one that crashes randomly when running any large body of code that otherwise works on CPython or Jython. Of course it's not the end of the story, as shown e.g. by Jython, in which the locking exists too but is more fine-grained. There is one lock per list or dictionary, which itself costs very little because the Java platform is extremely good at optimizing such locks. A bientot, Armin. From arigo at tunes.org Thu Oct 1 17:42:39 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 1 Oct 2009 17:42:39 +0200 Subject: [pypy-dev] support for 64-bit processors and eliminating global state In-Reply-To: References: <4AC3870B.40907@eecs.berkeley.edu> <693bc9ab0909301022n3c0b7b1bq8e0d9aacde54e3f8@mail.gmail.com> <693bc9ab0909301232p17c0fbd2ge904f0a2f6538ec0@mail.gmail.com> Message-ID: <20091001154239.GB13805@code0.codespeak.net> Hi Gabriel, On Wed, Sep 30, 2009 at 04:01:25PM -0400, Gabriel Lavoie wrote: > Actually, what are the officially supported platforms? Linux, Mac OS/X and Windows. All in 32-bit only right now, although the 64-bit version on Linux and OS/X generally works more or less. A bientot, Armin. From arigo at tunes.org Thu Oct 1 17:56:35 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 1 Oct 2009 17:56:35 +0200 Subject: [pypy-dev] Mac osx patches In-Reply-To: References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> Message-ID: <20091001155635.GC13805@code0.codespeak.net> Hi Gabriel, On Thu, Oct 01, 2009 at 12:22:02AM -0400, Gabriel Lavoie wrote: > It must have something to > do with the switch to 64bits as the default GCC target. Yes, indeed, it's a crash that means that our 'select' module needs a small patch to support 64-bit architectures. I may look into it a some point. A bientot, Armin. From andrewfr_ice at yahoo.com Thu Oct 1 19:36:15 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Thu, 1 Oct 2009 10:36:15 -0700 (PDT) Subject: [pypy-dev] [Stackless] Question on Hard Switching and Soft Switching In-Reply-To: <930F189C8A437347B80DF2C156F7EC7F098FC8DC13@exchis.ccp.ad.local> Message-ID: <329645.19005.qm@web112406.mail.gq1.yahoo.com> Hi Kristj?n: --- On Tue, 9/29/09, Kristj?n Valur J?nsson wrote: > I've been exporing the bowels of Stackless a bit in the > last weeks and am somewhat familiar with the topic. Thanks a lot for the detailed description! As per Armin's suggestion, I will move this thread to the stackless mailing list. > I have not done any performance measurements to evaluate > the merits of soft switching. But I must confess that > the presence of soft-switching makes stackless much more > difficult to understand for me. And a lot of the diff > between trunk python and stackless python is because of the > boilerplate code required to get soft switching to work. Well I came across two slides in the "Stackless Python and PyPy Nults and Bolts" talk. It states that soft switching is 100 x faster than a thread. Hard switching is 10 x. I don't know if this fact is helpful. > I hope this clears things up. It helps. I need to learn a lot more to better use the information you have given me. Cheers, Andrew From tobami at googlemail.com Thu Oct 1 23:07:38 2009 From: tobami at googlemail.com (Miquel Torres) Date: Thu, 1 Oct 2009 23:07:38 +0200 Subject: [pypy-dev] Nightly Benchmarks In-Reply-To: <200910011031.n91AVvcc023352@fido.openend.se> References: <200910011031.n91AVvcc023352@fido.openend.se> Message-ID: Hi Anders, SQLAlchemy is problematic. there is a django-sqlalchemy project, but it is still work in progress: http://code.google.com/p/django-sqlalchemy/wiki/Roadmap Otherwise, your DB design is valid. The simpler, the better. One question: did you intend to keep a DB locally and then copy to the web server backend or to store the data directly on the web server ( speed.pypy.org)? About the DB design, while sufficient, I would probably add a couple of things like version tags (for betas and final releases, for example), maybe compile options (??). Why? because we want to be able to filter trunk versions in every possible way. In any case I want to discuss this a little bit more, because the DB needs to be as complete as possible from the beginning. While the first version of the visualization interface will be quick and dirty so that developers don't have to wait months to have something useful (And only then will I design a more powerful interface), I don't want to make big changes to the DB once we start to regularly run benchmarks. That way the data can be safely stored from the start. Cheers, Miquel 2009/10/1 Anders Hammarquist > Hello, > > In a message of Tue, 29 Sep 2009 11:31:21 +0200, Miquel Torres writes: > >We agreed on a Django DB backend, and plot rendering by the browser, so we > >need to talk about the way to store the nightly benchmark data into the > DB. > > Hmm, I've already started to implement a DB store using SQLalchemy. Can > Django use that? (it is in the repository at > http://codespeak.net/svn/pypy/build/benchmark) > > >The end goal is to build a speed.pypy.org where you can compare all kind > of > >pypy versions to cpython and other python interpreters and other > languages[...] > > Could prove interesting, and the DB structure I've got should be able > to deal with that as well (it is quite minimal). The runner that is there > is mostly useless for comparing different lanugagues though. > > >Can you please explain to me what you are doing in that area now? > > The intended next step is to interface a benchmark runner (of pypy trunk) > with the database so the results will be persistent. I've been caught up > in other (non-PyPy-related) work though. and if the database interface > I've got is not useful, maybe I shouldn't do that. > > /Anders > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091001/102b4fdd/attachment.htm From holger at merlinux.eu Fri Oct 2 13:40:28 2009 From: holger at merlinux.eu (holger krekel) Date: Fri, 2 Oct 2009 13:40:28 +0200 Subject: [pypy-dev] new speed.pypy.org site? Message-ID: <20091002114028.GK15455@trillke.net> Hi Miquel, all, regarding the new speed.pypy.org host I realized that the current setting is not suited for setting up another VM. Too few resources and old-ish software. I plan to order a new host, setup speed.pypy.org there (and migrate existing VMs later). Takes a week or two i guess. Hope this doesn't block you. Could maybe someone here on the list (temporarily) offer a suitable VM to run Django Apps/DBs where Miquel can get an account? i'd then point the "speed.pypy.org" DNS entry to it. The earlier the site gets running the earlier we can all follow speed developments with the PyPy JIT :) best, holger -- Metaprogramming, Python, Testing: http://tetamap.wordpress.com Python, PyPy, pytest contracting: http://merlinux.eu From pg at cs.stanford.edu Fri Oct 2 18:35:30 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Fri, 2 Oct 2009 09:35:30 -0700 Subject: [pypy-dev] how can i pickle an application-level object from interpreter code? Message-ID: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> Hi all, I'm brand-new to PyPy, and here is my question: I want to selectively pickle Python objects that appear in application-level code, from *within* the interpreter. e.g., let's say i'm using the PyPy Python interpreter to run this program: import foo x = foo.ComplicatedObject() right after the interpreter creates an instance of foo.ComplicatedObject(), I want to serialize that instance to disk, in effect simulating this statement: pickle.dump(x, open('data.pickle')) What is the easiest way for me to do this from within the interpreter code? It seems like an instance object is represented within the interpreter as of type "class W_InstanceObject(Wrappable)", and I can't directly pickle that object. If I could just call the Python standard library's pickle on 'x' from within the interpreter, that would be great. Thanks in advance, Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091002/840ba52a/attachment.htm From tobami at googlemail.com Fri Oct 2 19:05:11 2009 From: tobami at googlemail.com (Miquel Torres) Date: Fri, 2 Oct 2009 19:05:11 +0200 Subject: [pypy-dev] new speed.pypy.org site? In-Reply-To: <20091002114028.GK15455@trillke.net> References: <20091002114028.GK15455@trillke.net> Message-ID: Hi Holger, for the time being it is not a problem. I can begin the implementation locally and later continue on the server VM. One thing I would need though: a speed.pypy wiki page. I would like that you (pypy core developers) write down the most important use cases for speed.pypy.org For example: - See right away the last x trunk revisions. A line plot (and table?) will be shown for each individual benchmark in the benchmark suite. - Allow to select multiple, arbitrary trunk revisions for comparing - Show different data series in the same graph for different compile options (like tuatara's benchmarks??) ... I have my own ideas, but you will be the main users, so you need to tell me what you need implemented first. Another wiki page could be about what benchmarks could be useful for the suite. It would be great if all benchmarks results were points, or all seconds (less is better), (or x times faster/slower than cpython) because that way results can be shown in a much more compact form. For example stacked: http://www.codinghorror.com/blog/images/browser-javascript-performance-graph-totals-1.png * * or combined in a single chart: http://www.codinghorror.com/blog/images/browser-javascript-performance-graph-breakdown-1.png Anyway the lack of a VM is not a problem for me right now. Cheers, Miquel 2009/10/2 holger krekel > Hi Miquel, all, > > regarding the new speed.pypy.org host I realized that the current > setting is not suited for setting up another VM. Too few resources > and old-ish software. I plan to order a new host, setup speed.pypy.org > there (and migrate existing VMs later). Takes a week or two i guess. > Hope this doesn't block you. > > Could maybe someone here on the list (temporarily) offer a suitable VM > to run Django Apps/DBs where Miquel can get an account? > i'd then point the "speed.pypy.org" DNS entry to it. > The earlier the site gets running the earlier we can all follow > speed developments with the PyPy JIT :) > > best, > holger > > -- > Metaprogramming, Python, Testing: http://tetamap.wordpress.com > Python, PyPy, pytest contracting: http://merlinux.eu > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091002/94c0fda6/attachment-0001.htm From amauryfa at gmail.com Fri Oct 2 19:32:51 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Fri, 2 Oct 2009 19:32:51 +0200 Subject: [pypy-dev] how can i pickle an application-level object from interpreter code? In-Reply-To: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> References: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> Message-ID: Hi, 2009/10/2 Philip Guo : > Hi all, > > I'm brand-new to PyPy, and here is my question: I want to selectively pickle > Python objects that appear in application-level code, from *within* the > interpreter.? e.g., let's say i'm using the PyPy Python interpreter to run > this program: > > import foo > x = foo.ComplicatedObject() > > right after the interpreter creates an instance of foo.ComplicatedObject(), > I want to serialize that instance to disk, in effect simulating this > statement: > > pickle.dump(x, open('data.pickle')) > > What is the easiest way for me to do this from within the interpreter code? > > It seems like an instance object is represented within the interpreter as of > type "class W_InstanceObject(Wrappable)", and I can't directly pickle that > object.? If I could just call the Python standard library's pickle on 'x' > from within the interpreter, that would be great. This should be possible by using gateway.applevel, like the following code. Be careful however that pickle.dump is itself a python function which creates objects. Modifying W_InstanceObject.__init__ this way is probably not a good idea... Note: I wrote this quickly to get an idea; I did not test at all. I took the idea from some other code in pypy/module/__builtin__/operation.py from pypy.interpreter import gateway dump_object = gateway.applevel(r''' def dump_object(x): import pickle pickle.dump(x, open('data.pickle', 'w')) ''', filename =__file__).interphook('dump_object') then you should be able to call it this way: dump_object(space, w_instanceObject) -- Amaury Forgeot d'Arc From stefan_ml at behnel.de Fri Oct 2 22:20:23 2009 From: stefan_ml at behnel.de (Stefan Behnel) Date: Fri, 02 Oct 2009 22:20:23 +0200 Subject: [pypy-dev] benchmarking input In-Reply-To: <200909211527.n8LFR4xQ028739@theraft.openend.se> References: <200909211527.n8LFR4xQ028739@theraft.openend.se> Message-ID: Anders Hammarquist wrote: > Anyway, what I was thinking about, and need input on, is how to get > at the interpreters to run the benchmark. [...] I wonder, would it be possible to add Cython to the benchmark loop? I would love to see it compared to PyPy, simply because both projects aim to compile Python code to C code (amongst other things, obviously). I know that Cython can't currently compete with PyPy in terms of feature completeness - it clearly lacks some very important features of the Python language, so it won't be able to run all benchmarks for a while, and the comparison would easily show where the black spots are that need fixing. Just out of curiosity (and to wet your appetite :), I ran PyPy's richards benchmark unmodified in Cython (latest cython-unstable) and got this: python2.6 -c 'import richards; richards.main()' Richards benchmark (Python) starting... [...] finished. Total time for 10 iterations: 3.98 secs Average time per iteration: 398.44 ms compared to CPython 2.6.2: python2.6 -c 'import richards; richards.main()' Richards benchmark (Python) starting... [...] finished. Total time for 10 iterations: 4.86 secs Average time per iteration: 485.97 ms That's almost 20% faster IMO and not bad at all, given that Cython's main performance feature (C typing) wasn't used. When I use an external .pxd file (attached) to redeclare the classes as extension types and to add a C nature to their methods (still without any benchmark code modifications), I get this: python2.6 -c 'import richards; richards.main(iterations=10)' Richards benchmark (Python) starting... [...] finished. Total time for 10 iterations: 0.99 secs Average time per iteration: 99.28 ms That's almost a factor of five compared to CPython. If possible, I would like to add both a normal Cython compiler run and a pxd enabled run to the benchmark comparison with PyPy and CPython. Any chance this could be integrated? I'm asking now, because I imagine that the benchmarking framework will have to integrate the Cython compiler somehow, maybe using distutils or on-the-fly compilation with pyximport. Stefan -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: richards.pxd Url: http://codespeak.net/pipermail/pypy-dev/attachments/20091002/d732fa52/attachment.diff From santagada at gmail.com Fri Oct 2 23:49:10 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Fri, 2 Oct 2009 18:49:10 -0300 Subject: [pypy-dev] benchmarking input In-Reply-To: References: <200909211527.n8LFR4xQ028739@theraft.openend.se> Message-ID: <95D64C05-BD79-454C-BB79-49FB83D10AD0@gmail.com> On Oct 2, 2009, at 5:20 PM, Stefan Behnel wrote: > Anders Hammarquist wrote: >> Anyway, what I was thinking about, and need input on, is how to get >> at the interpreters to run the benchmark. > [...] > > I wonder, would it be possible to add Cython to the benchmark loop? > I would > love to see it compared to PyPy, simply because both projects aim to > compile Python code to C code (amongst other things, obviously). > > I know that Cython can't currently compete with PyPy in terms of > feature > completeness - it clearly lacks some very important features of the > Python > language, so it won't be able to run all benchmarks for a while, and > the > comparison would easily show where the black spots are that need > fixing. I think you did some really interesting experiments but the projects don't aim at the same thing at all. PyPy python interpreter is not compiling python code to C it is just interpreting it and using a jit to dynamically compile code (and this is directly to machine code). PyPy python interpreter is meant to be a fully compatible python interpreter and it doesn't depend on no CPython code (like cython does). I only think it is interesting to compare pypy to other python interpreters, anything that fully suports the python language. I do find cython cool, but as it doesn't try to be a python interpreter there would be no point in doing that. What I would like to see is comparisons against python 2.5-7, 3.1, unladen swallow, psyco 2.0 and ironpython. -- Leonardo Santagada santagada at gmail.com From holger at merlinux.eu Sat Oct 3 00:15:44 2009 From: holger at merlinux.eu (holger krekel) Date: Sat, 3 Oct 2009 00:15:44 +0200 Subject: [pypy-dev] benchmarking input In-Reply-To: <95D64C05-BD79-454C-BB79-49FB83D10AD0@gmail.com> References: <200909211527.n8LFR4xQ028739@theraft.openend.se> <95D64C05-BD79-454C-BB79-49FB83D10AD0@gmail.com> Message-ID: <20091002221544.GP15455@trillke.net> On Fri, Oct 02, 2009 at 18:49 -0300, Leonardo Santagada wrote: > On Oct 2, 2009, at 5:20 PM, Stefan Behnel wrote: > > > Anders Hammarquist wrote: > >> Anyway, what I was thinking about, and need input on, is how to get > >> at the interpreters to run the benchmark. > > [...] > > > > I wonder, would it be possible to add Cython to the benchmark loop? > > I would > > love to see it compared to PyPy, simply because both projects aim to > > compile Python code to C code (amongst other things, obviously). > > > > I know that Cython can't currently compete with PyPy in terms of > > feature > > completeness - it clearly lacks some very important features of the > > Python > > language, so it won't be able to run all benchmarks for a while, and > > the > > comparison would easily show where the black spots are that need > > fixing. > > I think you did some really interesting experiments but the projects > don't aim at the same thing at all. PyPy python interpreter is not > compiling python code to C it is just interpreting it and using a jit > to dynamically compile code (and this is directly to machine code). > PyPy python interpreter is meant to be a fully compatible python > interpreter and it doesn't depend on no CPython code (like cython does). I am sure Stefan is fully aware of what PyPy is. > I only think it is interesting to compare pypy to other python > interpreters, anything that fully suports the python language. I do > find cython cool, but as it doesn't try to be a python interpreter > there would be no point in doing that. > > What I would like to see is comparisons against python 2.5-7, 3.1, > unladen swallow, psyco 2.0 and ironpython. sure, and Jython. I don't see harm in adding Cython for the benchmarks it understands and if it's all easy enough. But let's first get started to automatically benchmark pypy trunk/selected branches over the revisions and compare it to one or multiple CPython versions. best, holger From arigo at tunes.org Sat Oct 3 01:30:29 2009 From: arigo at tunes.org (Armin Rigo) Date: Sat, 3 Oct 2009 01:30:29 +0200 Subject: [pypy-dev] how can i pickle an application-level object from interpreter code? In-Reply-To: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> References: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> Message-ID: <20091002233029.GA402@code0.codespeak.net> Hi Philip, On Fri, Oct 02, 2009 at 09:35:30AM -0700, Philip Guo wrote: > I'm brand-new to PyPy, and here is my question: I want to selectively pickle > Python objects that appear in application-level code, from *within* the > interpreter. What about writing a metaclass and keeping it all as portable, regular Python code? E.g. class MetaPickle(type): def __call__(self, *args, **kwds): x = type.__call__(self, *args, **kwds) pickle.dump(x, f) return x class X(object): __metaclass__ = MetaPickle There are also ways to do it by patching the classes without changing anything to their definition. If you need more information about these solutions, please ask in a general Python list. A bientot, Armin From pg at cs.stanford.edu Sat Oct 3 18:14:37 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Sat, 3 Oct 2009 09:14:37 -0700 Subject: [pypy-dev] how can i pickle an application-level object from interpreter code? In-Reply-To: References: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> Message-ID: <79e41e9f0910030914v62035ddbge704e9c8f4731622@mail.gmail.com> On Fri, Oct 2, 2009 at 10:32 AM, Amaury Forgeot d'Arc wrote: > Hi, > > 2009/10/2 Philip Guo : > > Hi all, > > > > I'm brand-new to PyPy, and here is my question: I want to selectively > pickle > > Python objects that appear in application-level code, from *within* the > > interpreter. e.g., let's say i'm using the PyPy Python interpreter to > run > > this program: > > > > import foo > > x = foo.ComplicatedObject() > > > > right after the interpreter creates an instance of > foo.ComplicatedObject(), > > I want to serialize that instance to disk, in effect simulating this > > statement: > > > > pickle.dump(x, open('data.pickle')) > > > > What is the easiest way for me to do this from within the interpreter > code? > > > > It seems like an instance object is represented within the interpreter as > of > > type "class W_InstanceObject(Wrappable)", and I can't directly pickle > that > > object. If I could just call the Python standard library's pickle on 'x' > > from within the interpreter, that would be great. > > This should be possible by using gateway.applevel, like the following code. > Be careful however that pickle.dump is itself a python function which > creates objects. > Modifying W_InstanceObject.__init__ this way is probably not a good idea... > > Note: I wrote this quickly to get an idea; I did not test at all. > I took the idea from some other code in > pypy/module/__builtin__/operation.py > > from pypy.interpreter import gateway > > dump_object = gateway.applevel(r''' > def dump_object(x): > import pickle > pickle.dump(x, open('data.pickle', 'w')) > ''', filename =__file__).interphook('dump_object') > > then you should be able to call it this way: > dump_object(space, w_instanceObject) > Thanks so much for your quick reply, Amaury! This works extremely well. I'm still trying to wrap my head around app-level vs. interpreter-level, especially how to serialize data on both levels; your code snippet helped a lot! Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091003/51876f44/attachment.htm From andrewfr_ice at yahoo.com Sun Oct 4 00:37:10 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Sat, 3 Oct 2009 15:37:10 -0700 (PDT) Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching Message-ID: <592585.30481.qm@web112409.mail.gq1.yahoo.com> Hello Armin: --- On Wed, 9/30/09, Armin Rigo wrote: > This is a question for Stackless Python only, not PyPy, so > you should post in that mailing list, not here :-)? To answer it, > it's not visible to the user: it's just two different implementations of > switching. "Hard switching" is by actually moving part of the C stack > away; "soft switching" is using a purely standard C approach.? > PyPy only has soft switching (but with the same Stackless interface). But is soft switching still about roughly 10 times faster than hard switching (value quoted in the Nuts and Bolts presentation). Because of only support for soft switching, I will assume I will have to write my own PyPy extension for say, networking I/O like select()/asyncore. Or does that already exist? Cheers, Andrew From arigo at tunes.org Sun Oct 4 13:42:42 2009 From: arigo at tunes.org (Armin Rigo) Date: Sun, 4 Oct 2009 13:42:42 +0200 Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching In-Reply-To: <592585.30481.qm@web112409.mail.gq1.yahoo.com> References: <592585.30481.qm@web112409.mail.gq1.yahoo.com> Message-ID: <20091004114242.GC26505@code0.codespeak.net> Hi Andrew, On Sat, Oct 03, 2009 at 03:37:10PM -0700, Andrew Francis wrote: > But is soft switching still about roughly 10 times faster than hard > switching (value quoted in the Nuts and Bolts presentation). I don't know Stackless Python enough to tell you if this is still the case, but I assume so. > Because of only support for soft switching, I will assume I will have > to write my own PyPy extension for say, networking I/O like > select()/asyncore. Or does that already exist? Indeed, any blocking system call will block all tasklets in PyPy. (I don't think it has anything to do with soft- vs hard-switching; it is the same in Stackless Python as far as I know.) In general we didn't do much work to improve the situation -- it's a matter of priorities: we chose to focus on issues like good garbage collection and the just-in-time compiler generator, and mostly left Stackless aside. I fear that we don't want to spend much time improving Stackless support right now, but you are welcome to try and contribute e.g. a modification to the '_select' module to optionally use, internally, non-blocking sockets and be Stackless-aware in a user-transparent manner. (Such a module can even be written in plain Python and be portable across Stackless Python and Stackless PyPy. It might even already have been written for Stackless Python; you should look around.) A bientot, Armin. From richard.m.tew at gmail.com Sun Oct 4 22:36:34 2009 From: richard.m.tew at gmail.com (Richard Tew) Date: Mon, 5 Oct 2009 09:36:34 +1300 Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching In-Reply-To: <20091004114242.GC26505@code0.codespeak.net> References: <592585.30481.qm@web112409.mail.gq1.yahoo.com> <20091004114242.GC26505@code0.codespeak.net> Message-ID: <952d92df0910041336qe7fe5dev438232095c547be3@mail.gmail.com> On Mon, Oct 5, 2009 at 12:42 AM, Armin Rigo wrote: > Stackless aside. ?I fear that we don't want to spend much time improving > Stackless support right now, but you are welcome to try and contribute > e.g. a modification to the '_select' module to optionally use, > internally, non-blocking sockets and be Stackless-aware in a > user-transparent manner. ?(Such a module can even be written in plain > Python and be portable across Stackless Python and Stackless PyPy. ?It > might even already have been written for Stackless Python; you should > look around.) While I also agree that low-level support like a beneficial idea, in practice I have my doubts about it. When you write low-level modules which work with Stackless, they make assumptions about how they should work with the scheduler. These assumptions may not match how the user is running the scheduler at a higher level. For instance, in the CCP framework you cannot loop over 'stackless.schedule' as tasklets are expected to yield out of the scheduler onto a channel. In any case, select would not be the right place. It is where someone goes to work with asynchronous IO. I would rather suggest that the uber-module would be the socket module, and that behind the scenes it might use IO completion ports on Windows and poll or something similar on other platforms. But the goal in doing it, would be to make IO just work with a microthread scheduling framework for the user with minimal difficulty or effort. In order for this to be so, how it works with the scheduler would have to be equally simple for the user. Cheers, Richard. From dsposx at mac.com Sun Oct 4 22:17:31 2009 From: dsposx at mac.com (Donovan Preston) Date: Sun, 04 Oct 2009 13:17:31 -0700 Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching In-Reply-To: <20091004114242.GC26505@code0.codespeak.net> References: <592585.30481.qm@web112409.mail.gq1.yahoo.com> <20091004114242.GC26505@code0.codespeak.net> Message-ID: On Oct 4, 2009, at 4:42 AM, Armin Rigo wrote: > I fear that we don't want to spend much time improving > Stackless support right now, but you are welcome to try and contribute > e.g. a modification to the '_select' module to optionally use, > internally, non-blocking sockets and be Stackless-aware in a > user-transparent manner. (Such a module can even be written in plain > Python and be portable across Stackless Python and Stackless PyPy. It > might even already have been written for Stackless Python; you should > look around.) Eventlet implements the blocking socket apis, using non-blocking i/o under the hood in a user-transparent manner, by using the greenlet apis. Eventlet already works on stackless pypy. Eventlet in theory also works on stackless python but I don't know how many people have actually tried it. Eventlet also provides monkeypatching of the socket module so existing code doesn't have to change. Eventlet even provides implementations of the thread and threading modules so that code which is written to use preemptive threads can transparently be used with green threads. There are also several other implementations of cooperative sockets specific for Stackless Python. I think one even comes distributed with the source. Donovan From andrewfr_ice at yahoo.com Mon Oct 5 03:22:21 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Sun, 4 Oct 2009 18:22:21 -0700 (PDT) Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching Message-ID: <476477.20218.qm@web112403.mail.gq1.yahoo.com> Hello Richard, Armin et al: --- On Sun, 10/4/09, Richard Tew wrote: > In any case, select would not be the right place. It > is where someone goes to work with asynchronous IO. I would rather > suggest that the uber-module would be the socket module, and that > behind the scenes it might use IO completion ports on Windows and > poll or something similar on other platforms. But the goal in doing > it, would be to make IO just work with a microthread scheduling > framework for the user with minimal difficulty or effort. > In order for this to be so, how it works with the scheduler >would have to be equally simple for the user. Yes using IO completion ports or epoll, if done right, is a quick way to give better performance. However I think the interesting area is analysing how the scheduler interacts with the reactor (assuming we are using a reactor). I think a strategy will start with looking at stuff like many requests come in and how fast they can be processed (trying to determine what is a steady state). I will also assume that a good solution, given the aforementioned, is trying minimize stuff like context switches (even though they are fast) and calls to the OS (where one takes a hit). Then there is the issue of how much overhead is incurred from laying, that is locating "networking smarts" in a tasklet, as opposed to the interpreter. Again, as I stated in a previous post, I don't have a good conceptual framework. I have read some papers on high performance server design. Would have to read more. I also suspect a lot of experimentation would have to be done to see what works. Cheers, Andrew From tobami at googlemail.com Mon Oct 5 23:04:16 2009 From: tobami at googlemail.com (Miquel Torres) Date: Mon, 5 Oct 2009 23:04:16 +0200 Subject: [pypy-dev] Nightly Benchmarks In-Reply-To: <200910051420.n95EK1bj009044@theraft.openend.se> References: <200910011031.n91AVvcc023352@fido.openend.se> <200910051420.n95EK1bj009044@theraft.openend.se> Message-ID: > as I'm not doing any more > work on the benchmarking framework. That is a pity. But well, I'll have to do with asking. There are a couple of things I want to discuss: - An extra table (class) may be needed to store the hardware the benchmark was run on. pypy will probably need to be tested on other architectures. - The interpreter table needs extra fields: - revision: absolutely necessary - tag: this is for 1.0, 1.1, beta, trunk, snapshot, or what ever. This is needed to know what pypy revisions to list in the web page that allows comparison to other python implementations (most importantly cpython). - Furthermore: You state that compile options are not needed, that they would be different interpreters. I agree that we can have pypy-c, pypy-crl and pypy-c-jit (for example) as different interpreters. But things can get messy if we add garbage collectors and other options: pypy-c-68150-gc=hybrid--opt=3--no-allworkingmodules , etc... What are your thoughts on this? 2009/10/5 Anders Hammarquist > Hi, > > In a message of Thu, 01 Oct 2009 23:07:38 +0200, Miquel Torres writes: > >SQLAlchemy is problematic. there is a django-sqlalchemy project, but it is > >still work in progress: > >http://code.google.com/p/django-sqlalchemy/wiki/Roadmap > > And that seems rather dead, no checkins since april... > > >Otherwise, your DB design is valid. The simpler, the better. > >One question: did you intend to keep a DB locally and then copy to the web > >server backend or to store the data directly on the web server ( > >speed.pypy.org)? > > Well, my thoughts hadn't gone much past getting the runner up and storing > the results. My intention was to have whatever web presentation running > on that same host, but I had no plans for more complicated presentation. > > >About the DB design, while sufficient, I would probably add a couple of > >things like version tags (for betas and final releases, for example), > maybe > >compile options (??). Why? because we want to be able to filter trunk > >versions in every possible way. > > I think remembering the svn revision of the run makes sense. Compile > options, and probably branch tags, are probably better implemented as > separate interpreters in my DB design. > > >In any case I want to discuss this a little bit more, because the DB needs > >to be as complete as possible from the beginning. While the first version > of > >the visualization interface will be quick and dirty so that developers > don't > >have to wait months to have something useful (And only then will I design > a > >more powerful interface), I don't want to make big changes to the DB once > we > >start to regularly run benchmarks. That way the data can be safely stored > >from the start. > > This makes perfect sense. I will be happy to discuss with you, but I will > leave the implementation in your capable hands as I'm not doing any more > work on the benchmarking framework. > > /Anders > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091005/ea441e77/attachment.htm From fijall at gmail.com Tue Oct 6 09:48:53 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Tue, 6 Oct 2009 01:48:53 -0600 Subject: [pypy-dev] gcc 4.4 Message-ID: <693bc9ab0910060048v3a2e90b0g8a0fa26d1620ba45@mail.gmail.com> I've seen various reports about gcc 4.4 misbehaving. I installed this on bigdog-vm2, so if anyone feels like giving it a shot, it's there. Cheers, fijal From Jan.Wedel at ettex.de Tue Oct 6 15:15:41 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Tue, 6 Oct 2009 15:15:41 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? Message-ID: Hi, I was currently working on a port of PyMite (8-Bit MCU port of CPython) to Java ME. I already got the interpreter working so that basic Python scripts could run as code images on a mobile java IMP device. Actually we need Python interpreters on different embedded platforms supporting either C or Java ME (IMP). I discovered a lot of problems including the missing class implementation of PyMite. Then, by recommendation, I found PyPy. It looks as if it is exactly what I was looking for and I read that it is specifically designed to support embedded platforms. But I want to clarify a few things: 1.) Does PyPy generate both C and Java Bytecode for the Interpreter out of the box or with low effort? 2.) Is the java code compatible with Java ME or is it possible to modify the PyPy-code/Interpreter-code so that Java ME is supported? 3.) What standard libraries are supported? I coulnd't find a list. Especially the communication (such as socket) functionality is important. 4.) Do you think PyPy is stable enough for commercial use? The MIT license allows commercial use as far as I read. Thank you very much! Regards, Jan From pg at cs.stanford.edu Tue Oct 6 22:18:46 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Tue, 6 Oct 2009 13:18:46 -0700 Subject: [pypy-dev] is there incremental building for the translator? Message-ID: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> Hi all, Sorry for another newbie question, but I'm wondering whether there is any sort of "Makefile"-like incremental building functionality for the PyPy translator. I just ran: cd pypy/translator/goal python translate.py --opt=3 targetpypystandalone.py to create pypy-c, which works perfectly, but it took about an hour on my machine. If I start hacking the PyPy source code, it seems like I have to do the full translation step each time I want to create a new pypy-c. Is there any way around this? Thanks, Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091006/77914a4f/attachment.htm From benjamin at python.org Tue Oct 6 22:23:43 2009 From: benjamin at python.org (Benjamin Peterson) Date: Tue, 6 Oct 2009 15:23:43 -0500 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> Message-ID: <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> 2009/10/6 Philip Guo : > Hi all, > > Sorry for another newbie question, but I'm wondering whether there is any > sort of "Makefile"-like incremental building functionality for the PyPy > translator.? I just ran: > > cd pypy/translator/goal > python translate.py --opt=3 targetpypystandalone.py > > to create pypy-c, which works perfectly, but it took about an hour on my > machine.? If I start hacking the PyPy source code, it seems like I have to > do the full translation step each time I want to create a new pypy-c.? Is > there any way around this? No, because if you make a change then the whole program has to retranslated to maintian invariants. What you can do, though, is speed up the translation process by turning off optimization and using --no-allworkingmodules. -- Regards, Benjamin From fijall at gmail.com Tue Oct 6 22:51:33 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Tue, 6 Oct 2009 14:51:33 -0600 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> Message-ID: <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> Also, our workflow is to test stuff on top of CPython first, so you don't have to recompile very often (sometimes not at all). Cheers, fijal On Tue, Oct 6, 2009 at 2:23 PM, Benjamin Peterson wrote: > 2009/10/6 Philip Guo : >> Hi all, >> >> Sorry for another newbie question, but I'm wondering whether there is any >> sort of "Makefile"-like incremental building functionality for the PyPy >> translator.? I just ran: >> >> cd pypy/translator/goal >> python translate.py --opt=3 targetpypystandalone.py >> >> to create pypy-c, which works perfectly, but it took about an hour on my >> machine.? If I start hacking the PyPy source code, it seems like I have to >> do the full translation step each time I want to create a new pypy-c.? Is >> there any way around this? > > No, because if you make a change then the whole program has to > retranslated to maintian invariants. What you can do, though, is speed > up the translation process by turning off optimization and using > --no-allworkingmodules. > > > -- > Regards, > Benjamin > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev From pg at cs.stanford.edu Tue Oct 6 22:54:49 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Tue, 6 Oct 2009 13:54:49 -0700 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> Message-ID: <79e41e9f0910061354m54c57e79h3aed262e3df00802@mail.gmail.com> sounds great, thanks for all the suggestions! On Tue, Oct 6, 2009 at 1:51 PM, Maciej Fijalkowski wrote: > Also, our workflow is to test stuff on top of CPython first, so you > don't have to recompile very often (sometimes not at all). > > Cheers, > fijal > > On Tue, Oct 6, 2009 at 2:23 PM, Benjamin Peterson > wrote: > > 2009/10/6 Philip Guo : > >> Hi all, > >> > >> Sorry for another newbie question, but I'm wondering whether there is > any > >> sort of "Makefile"-like incremental building functionality for the PyPy > >> translator. I just ran: > >> > >> cd pypy/translator/goal > >> python translate.py --opt=3 targetpypystandalone.py > >> > >> to create pypy-c, which works perfectly, but it took about an hour on my > >> machine. If I start hacking the PyPy source code, it seems like I have > to > >> do the full translation step each time I want to create a new pypy-c. > Is > >> there any way around this? > > > > No, because if you make a change then the whole program has to > > retranslated to maintian invariants. What you can do, though, is speed > > up the translation process by turning off optimization and using > > --no-allworkingmodules. > > > > > > -- > > Regards, > > Benjamin > > _______________________________________________ > > pypy-dev at codespeak.net > > http://codespeak.net/mailman/listinfo/pypy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091006/e93aa53b/attachment.htm From santagada at gmail.com Tue Oct 6 23:00:12 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Tue, 6 Oct 2009 18:00:12 -0300 Subject: [pypy-dev] Mac osx patches In-Reply-To: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> Message-ID: <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> Thanks pedronis for applying one of the patches, but without the trackgcroot one I can't get no trackgcroot test to pass, and without the -dynamiclib change I get one failure on test_rffi_platform.py, but with it the generated pypy .s files can't be read by trackgcroot. Anyone knows how to fix the current failure on test_rffi_platform on osx without changing the -bundle to -dynamiclib? And the other failure about offset_labels, maybe it is possible to offset them but not by so much as 2**30 but maybe 2**24 or something? On Sep 30, 2009, at 2:06 PM, Leonardo Santagada wrote: > To make compilation and asmgcroot happy on osx I made some changes, > I would like to know if someone has anything against applying this > stuff to trunk? > > Index: pypy/translator/c/gcc/trackgcroot.py > =================================================================== > --- pypy/translator/c/gcc/trackgcroot.py (revision 68036) > +++ pypy/translator/c/gcc/trackgcroot.py (working copy) > @@ -22,7 +22,11 @@ > r_sectionstart = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) > +").*$") > r_functionstart_darwin = re.compile(r"_(\w+):\s*$") > > -OFFSET_LABELS = 2**30 > +# darwin's ld complain about this hack > +if sys.platform == 'darwin': > + OFFSET_LABELS = 0 > +else: > + OFFSET_LABELS = 2**30 > > # inside functions > LABEL = r'([.]?[\w$@]+)' > Index: pypy/translator/platform/test/test_darwin.py > =================================================================== > --- pypy/translator/platform/test/test_darwin.py (revision > 68036) > +++ pypy/translator/platform/test/test_darwin.py (working copy) > @@ -2,8 +2,8 @@ > """ File containing darwin platform tests > """ > > -import py, os > -if os.name != 'darwin': > +import py, sys > +if sys.platform != 'darwin': > py.test.skip("Darwin only") > > from pypy.tool.udir import udir > Index: pypy/translator/platform/darwin.py > =================================================================== > --- pypy/translator/platform/darwin.py (revision 68036) > +++ pypy/translator/platform/darwin.py (working copy) > @@ -18,7 +18,7 @@ > self.cc = cc > > def _args_for_shared(self, args): > - return (self.shared_only + ['-bundle', '-undefined', > 'dynamic_lookup'] > + return (self.shared_only + ['-dynamiclib', '-undefined', > 'dynamic_lookup'] > + args) > > def include_dirs_for_libffi(self): > > > -- > Leonardo Santagada > santagada at gmail.com > > > -- Leonardo Santagada santagada at gmail.com From pg at cs.stanford.edu Wed Oct 7 01:49:31 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Tue, 6 Oct 2009 16:49:31 -0700 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <79e41e9f0910061354m54c57e79h3aed262e3df00802@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> <79e41e9f0910061354m54c57e79h3aed262e3df00802@mail.gmail.com> Message-ID: <79e41e9f0910061649k191d5c7bwcc11193b49f63647@mail.gmail.com> As a general rule, should I be trying to implement my PyPy extensions as new object spaces (e.g., like the thunk object space)? For the first draft of my hacked interpreter, I just made changes all throughout the core PyPy interpreter codebase, which worked fine when I was running in interpreted mode (py.py), but as soon as I tried to translate to create pypy-c, understandable all hell broke loose and translation mysteriously failed. I'm pretty sure that some of my hacks screwed something up. The thing is, I want to hack some changes to affect control flow, and I don't know how to do that with an object space. In particular, I want to alter control flow so that some function calls execute normally but other ones don't actually execute the function call but rather use a memoized return value that I previously saved. It's fairly straightforward to do by hacking PyPy interpreter directly, but I can't think of an easy way to do it with a separate object space. Any tips would be greatly appreciated. Thanks! Philip On Tue, Oct 6, 2009 at 1:54 PM, Philip Guo wrote: > sounds great, thanks for all the suggestions! > > > On Tue, Oct 6, 2009 at 1:51 PM, Maciej Fijalkowski wrote: > >> Also, our workflow is to test stuff on top of CPython first, so you >> don't have to recompile very often (sometimes not at all). >> >> Cheers, >> fijal >> >> On Tue, Oct 6, 2009 at 2:23 PM, Benjamin Peterson >> wrote: >> > 2009/10/6 Philip Guo : >> >> Hi all, >> >> >> >> Sorry for another newbie question, but I'm wondering whether there is >> any >> >> sort of "Makefile"-like incremental building functionality for the PyPy >> >> translator. I just ran: >> >> >> >> cd pypy/translator/goal >> >> python translate.py --opt=3 targetpypystandalone.py >> >> >> >> to create pypy-c, which works perfectly, but it took about an hour on >> my >> >> machine. If I start hacking the PyPy source code, it seems like I have >> to >> >> do the full translation step each time I want to create a new pypy-c. >> Is >> >> there any way around this? >> > >> > No, because if you make a change then the whole program has to >> > retranslated to maintian invariants. What you can do, though, is speed >> > up the translation process by turning off optimization and using >> > --no-allworkingmodules. >> > >> > >> > -- >> > Regards, >> > Benjamin >> > _______________________________________________ >> > pypy-dev at codespeak.net >> > http://codespeak.net/mailman/listinfo/pypy-dev >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091006/06a6575c/attachment.htm From benjamin at python.org Wed Oct 7 01:56:51 2009 From: benjamin at python.org (Benjamin Peterson) Date: Tue, 6 Oct 2009 18:56:51 -0500 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <79e41e9f0910061649k191d5c7bwcc11193b49f63647@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> <79e41e9f0910061354m54c57e79h3aed262e3df00802@mail.gmail.com> <79e41e9f0910061649k191d5c7bwcc11193b49f63647@mail.gmail.com> Message-ID: <1afaf6160910061656n4d2f7c72qeff46f576167f17d@mail.gmail.com> 2009/10/6 Philip Guo : > As a general rule, should I be trying to implement my PyPy extensions as new > object spaces (e.g., like the thunk object space)? > > For the first draft of my hacked interpreter, I just made changes all > throughout the core PyPy interpreter codebase, which worked fine when I was > running in interpreted mode (py.py), but as soon as I tried to translate to > create pypy-c, understandable all hell broke loose and translation > mysteriously failed.? I'm pretty sure that some of my hacks screwed > something up. Well, no matter where you implement your changes, it will probably not translate. :) > > The thing is, I want to hack some changes to affect control flow, and I > don't know how to do that with an object space.? In particular, I want to > alter control flow so that some function calls execute normally but other > ones don't actually execute the function call but rather use a memoized > return value that I previously saved.? It's fairly straightforward to do by > hacking PyPy interpreter directly, but I can't think of an easy way to do it > with a separate object space. Usually control changes have to be implemented in the interpreter since they consistute a change in the language. The objspace is primarily useful for changing object behavior. > > Any tips would be greatly appreciated. > > Thanks! > Philip -- Regards, Benjamin From Jan.Wedel at ettex.de Wed Oct 7 10:01:26 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Wed, 7 Oct 2009 10:01:26 +0200 Subject: [pypy-dev] Problems translating PyPy to Java Message-ID: Ok, I tried to translate PyPy to Java using ./translate.py --backend=jvm targetpypystandalone.py But it tried to call the MS Compiler cl.exe which I don?t have. I?m wondering why? This results in several errors (see below). What?s happening? Thanks, Jan C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dateien\repo\trunk\rialto\tools\ pypy-1.1.0\pypy\translator\goal>translate.py --backend=jvm targetpypystandalone. py [translation:info] Translating target as defined by targetpypystandalone [platform:error] Could not find a Microsoft Compiler [platform:msg] Setting platform to 'host' cc=None [translation] PyPy config object: [translation] [objspace] [translation] compiler = ast [translation] nofaking = True [translation] [opcodes] [translation] CALL_LIKELY_BUILTIN = True [translation] CALL_METHOD = True [translation] [std] [translation] builtinshortcut = True [translation] getattributeshortcut = True [translation] multimethods = doubledispatch [translation] optimized_list_getitem = True [translation] withmethodcache = True [translation] withmultidict = True [translation] withprebuiltchar = True [translation] withrangelist = True [translation] withshadowtracking = True [translation] withtypeversion = True [translation] [usemodules] [translation] __pypy__ = True [translation] _codecs = True [translation] _pickle_support = True [translation] _random = True [translation] _sre = True [translation] _weakref = True [translation] cStringIO = True [translation] errno = True [translation] gc = True [translation] itertools = True [translation] marshal = True [translation] math = True [translation] md5 = True [translation] operator = True [translation] posix = True [translation] rbench = True [translation] recparser = True [translation] sha = True [translation] symbol = True [translation] time = True [platform:execute] cl.exe /nologo /c /MD /O2 /IC:\Python26\PC c:\windows\temp\us ession-2\gcctest.c /Foc:\windows\temp\usession-2\gcctest.obj [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p y", line 257, in main [translation:ERROR] default_goal='compile') [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\driver.py", line 723, in from_targetspec [translation:ERROR] spec = target(driver, args) [translation:ERROR] File "targetpypystandalone.py", line 202, in target [translation:ERROR] return self.get_entry_point(config) [translation:ERROR] File "targetpypystandalone.py", line 209, in get_entry_po int [translation:ERROR] space = make_objspace(config) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\tool\option.py", line 48, in make_o bjspace [translation:ERROR] space = Space(config) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\interpreter\baseobjspace.py ", line 265, in __init__ [translation:ERROR] self.initialize() [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\objspace\std\objspace.py", line 73, in initialize [translation:ERROR] self.model = StdTypeModel(self.config) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\objspace\std\model.py", line 88, in __init__ [translation:ERROR] import pypy.objspace.std.marshal_impl # install marshal multimethods [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\objspace\std\marshal_impl.p y", line 40, in [translation:ERROR] from pypy.module.marshal.interp_marshal import register [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\module\marshal\interp_marsh al.py", line 4, in [translation:ERROR] from pypy.module._file.interp_file import W_File [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\module\_file\interp_file.py ", line 3, in [translation:ERROR] from pypy.rlib import streamio [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rlib\streamio.py", line 167, in [translation:ERROR] from pypy.rlib import rwin32 [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rlib\rwin32.py", line 5, in [translation:ERROR] from pypy.rpython.tool import rffi_platform [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\tool\rffi_platform. py", lin e 5, in [translation:ERROR] from pypy.rpython.lltypesystem import rffi [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\lltypesystem\rffi.p y", line 348, in [translation:ERROR] NUMBER_TYPES = setup() [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\lltypesystem\rffi.p y", line 340, in setup [translation:ERROR] tp = platform.inttype(name.upper(), c_name, signed) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\tool\rfficache.py", line 53 , in inttype [translation:ERROR] bits = sizeof_c_type(c_name, **kwds) * 8 [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\tool\rfficache.py", line 39 , in sizeof_c_type [translation:ERROR] answer = ask_gcc(question, **kwds).split('=') [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\tool\rfficache.py", line 34 , in ask_gcc [translation:ERROR] return build_executable_cache([c_file], eci) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\tool\gcc_cache.py", line 22, in bui ld_executable_cache [translation:ERROR] result = platform.execute(platform.compile(c_files, eci) ) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\__init_ _.py", l ine 61, in compile [translation:ERROR] ofiles = self._compile_o_files(cfiles, eci, standalone) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\__init_ _.py", l ine 70, in _compile_o_files [translation:ERROR] ofiles.append(self._compile_c_file(self.cc, cfile, compi le_args)) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\windows .py", li ne 143, in _compile_c_file [translation:ERROR] self._execute_c_compiler(cc, args, oname) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\__init_ _.py", l ine 98, in _execute_c_compiler [translation:ERROR] returncode, stdout, stderr = _run_subprocess(cc, args, s elf.c_environ) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\__init_ _.py", l ine 25, in _run_subprocess [translation:ERROR] pipe = Popen(args, stdout=PIPE, stderr=PIPE, shell=shell , env=env) [translation:ERROR] File "C:\Python26\lib\subprocess.py", line 595, in __init __ [translation:ERROR] errread, errwrite) [translation:ERROR] File "C:\Python26\lib\subprocess.py", line 804, in _execu te_child [translation:ERROR] startupinfo) [translation:ERROR] WindowsError: [Error 2] Das System kann die angegebene Date i nicht finden [translation] start debugger... > c:\python26\lib\subprocess.py(810)_execute_child() -> raise WindowsError(*e.args) (Pdb+) exit -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091007/938e4500/attachment-0001.htm From amauryfa at gmail.com Wed Oct 7 11:17:52 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Wed, 7 Oct 2009 11:17:52 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: Message-ID: Hello, 2009/10/7 Jan Wedel : > Ok, I tried to translate PyPy to Java using > > ./translate.py --backend=jvm targetpypystandalone.py > > But it tried to call the MS Compiler cl.exe which I don?t have. I?m > wondering why? This results in several errors (see below). > > What?s happening? I'm afraid you will need a C compiler to translate pypy: the jvm backend starts with the C implementation of functions, and ultimately replaces system calls with java methods. If you have the mingw32 compiler installed (and in your PATH), you may try with the --cc=mingw32 option. -- Amaury Forgeot d'Arc From anto.cuni at gmail.com Wed Oct 7 11:59:43 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Wed, 07 Oct 2009 11:59:43 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: References: Message-ID: <4ACC668F.3060802@gmail.com> Hi Jan, Jan Wedel wrote: > 1.) Does PyPy generate both C and Java Bytecode for the Interpreter out > of the box or with low effort? yes > 2.) Is the java code compatible with Java ME or is it possible to modify > the PyPy-code/Interpreter-code so that Java ME is supported? I don't know what are the requirements/restrictions for Java ME. If the restrictions are only about the library, it's possible that it works out of the box as pypy-jvm doesn't use many external libraries. However, note that you might have memory problems because the binary it's kind of big (the JAR file is ~8-10 MB, IIRC). > 3.) What standard libraries are supported? I coulnd't find a list. > Especially the communication (such as socket) functionality is > important. unfortunately, you cannot access any external java library from pypy-jvm so far. I agree that it makes it a bit pointless, but basically nobody ever cared enough/had time to add support for it. I plan to do it at some point, but surely not before I finish my PhD (which is supposed to finish at the end of next april). > 4.) Do you think PyPy is stable enough for commercial use? The MIT > license allows commercial use as far as I read. The Python interpreter in PyPy is quite stable and compliant with CPython. However, the resulting pypy-jvm has never been extensively tested as far as I know, so it's likely to have undiscovered bugs (but usually they are easy to fix). So, to sum up: I'm sorry but pypy-jvm is not usable for production right now; it could be made useful with relatively low effort if someone invested time and/or money on it, but I don't think it's going to happen very soon. ciao, Anto From Jan.Wedel at ettex.de Wed Oct 7 14:03:12 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Wed, 7 Oct 2009 14:03:12 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: Message-ID: Hmmm, downloaded VS2008. Now, it starts to do something strange and displays colored ASCII art of Mandelbrot pictures. During the process, I got several errors and warnings such as: [platform:ERROR] platcheck_3.c [platform:ERROR] c:\windows\temp\usession-3\platcheck_3.c(1) : fatal error C1083 : Datei (Include) kann nicht ge?ffnet werden: "sys/time.h": No such file or dire Ctory [geninterp:WARNING] skipped classmethod: > [platform:ERROR] platcheck_10.c [platform:ERROR] c:\windows\temp\usession-3\platcheck_10.c(15) : error C2065: 'g ettimeofday': nichtdeklarierter Bezeichner ............................ [annrpython:WARNING] make_sure_not_resized called, but has no effect since list_ comprehension is off [annrpython:WARNING] make_sure_not_resized called, but has no effect since list_ comprehension is off . [annrpython:WARNING] make_sure_not_resized called, but has no effect since list_ comprehension is off ................. [rtyper] specializing: 19900 / 49722 blocks (40%) *************%%%%% [rtyper:WARNING] compute_unique_id() is not fully supported on ootype *************%%%%%%%%%%%% [rtyper] specializing: 22500 / 49865 blocks (45%) And at the end: [rtyper] specializing: 48800 / 50785 blocks (96%) [rtyper] -=- specialized 50785 blocks -=- * [rtyper:WARNING] prebuilt instance Ellipsis has no attribute 'errno' ** [rtyper] -=- specialized 8 more blocks -=- [translation:info] ootype back-end optimisations... [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heur istic *************%%%%%%%%%%%%%%########%%%%%%%%%** [Timer] Timings: [Timer] annotate --- 367.1 s [Timer] rtype_ootype --- 125.8 s [Timer] backendopt_ootype --- 7.0 s [Timer] ========================================== [Timer] Total: --- 500.0 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p y", line 273, in main Whats the problem now? Do I need to install these additional libraries even if want to translate to Java? Regards, Jan -----Urspr?ngliche Nachricht----- Von: Amaury Forgeot d'Arc [mailto:amauryfa at gmail.com] Gesendet: Mittwoch, 7. Oktober 2009 11:18 An: Jan Wedel Cc: pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Problems translating PyPy to Java Hello, 2009/10/7 Jan Wedel : > Ok, I tried to translate PyPy to Java using > > ./translate.py --backend=jvm targetpypystandalone.py > > But it tried to call the MS Compiler cl.exe which I dont have. Im > wondering why? This results in several errors (see below). > > Whats happening? I'm afraid you will need a C compiler to translate pypy: the jvm backend starts with the C implementation of functions, and ultimately replaces system calls with java methods. If you have the mingw32 compiler installed (and in your PATH), you may try with the --cc=mingw32 option. -- Amaury Forgeot d'Arc From amauryfa at gmail.com Wed Oct 7 15:10:49 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Wed, 7 Oct 2009 15:10:49 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: Message-ID: 2009/10/7 Jan Wedel : > Hmmm, downloaded VS2008. Now, it starts to do something strange and > displays colored ASCII art of Mandelbrot pictures. cool. > During the process, I got several errors and warnings such as: > > [platform:ERROR] platcheck_3.c > [platform:ERROR] c:\windows\temp\usession-3\platcheck_3.c(1) : fatal > error C1083 > : Datei (Include) kann nicht ge?ffnet werden: "sys/time.h": No such file > or dire > Ctory > > [geninterp:WARNING] skipped classmethod: of ss UserDict.UserDict at 0x00CA1300>> > > [platform:ERROR] platcheck_10.c > [platform:ERROR] c:\windows\temp\usession-3\platcheck_10.c(15) : error > C2065: 'g > ettimeofday': nichtdeklarierter Bezeichner > > ............................ > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > . > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > ................. > > [rtyper] specializing: 19900 / 49722 blocks ? (40%) > *************%%%%% > [rtyper:WARNING] compute_unique_id() is not fully supported on ootype > *************%%%%%%%%%%%% > [rtyper] specializing: 22500 / 49865 blocks ? (45%) > > > And at the end: > > [rtyper] specializing: 48800 / 50785 blocks ? (96%) > [rtyper] -=- specialized 50785 blocks -=- > * > [rtyper:WARNING] prebuilt instance Ellipsis has no attribute 'errno' > ** > [rtyper] -=- specialized 8 more blocks -=- > [translation:info] ootype back-end optimisations... > [backendopt:inlining] phase with threshold factor: 32.4 > [backendopt:inlining] heuristic: > pypy.translator.backendopt.inline.inlining_heur > istic > *************%%%%%%%%%%%%%%########%%%%%%%%%** > [Timer] Timings: > [Timer] annotate ? ? ? ? ? ? ? ? ? ? ? --- 367.1 s > [Timer] rtype_ootype ? ? ? ? ? ? ? ? ? --- 125.8 s > [Timer] backendopt_ootype ? ? ? ? ? ? ?--- ? 7.0 s > [Timer] ========================================== > [Timer] Total: ? ? ? ? ? ? ? ? ? ? ? ? --- 500.0 s > [translation:ERROR] Error: > [translation:ERROR] ?Traceback (most recent call last): > [translation:ERROR] ? ?File "C:\Dokumente und Einstellungen\Jan > Wedel\Eigene Dat > eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p > y", line > ?273, in main The first warnings are normal, they come from conditional code that detects the capabilities of the platform. for example, "sys/time.h" is tried to see if the function "utimes()" can be used. More interesting is the last traceback, but your post truncated it. Can you provide a full traceback? -- Amaury Forgeot d'Arc From Jan.Wedel at ettex.de Wed Oct 7 15:17:12 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Wed, 7 Oct 2009 15:17:12 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: Message-ID: > More interesting is the last traceback, but your post truncated it. > Can you provide a full traceback? Actually...no! There is no traceback except what I posted. After this line, its an unknown (at least to me) debugger and displays a promp which I exited by typing "exit". -J -----Urspr?ngliche Nachricht----- Von: Amaury Forgeot d'Arc [mailto:amauryfa at gmail.com] Gesendet: Mittwoch, 7. Oktober 2009 15:11 An: Jan Wedel Cc: pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Problems translating PyPy to Java 2009/10/7 Jan Wedel : > Hmmm, downloaded VS2008. Now, it starts to do something strange and > displays colored ASCII art of Mandelbrot pictures. cool. > During the process, I got several errors and warnings such as: > > [platform:ERROR] platcheck_3.c > [platform:ERROR] c:\windows\temp\usession-3\platcheck_3.c(1) : fatal > error C1083 > : Datei (Include) kann nicht ge?ffnet werden: "sys/time.h": No such file > or dire > Ctory > > [geninterp:WARNING] skipped classmethod: of ss UserDict.UserDict at 0x00CA1300>> > > [platform:ERROR] platcheck_10.c > [platform:ERROR] c:\windows\temp\usession-3\platcheck_10.c(15) : error > C2065: 'g > ettimeofday': nichtdeklarierter Bezeichner > > ............................ > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > . > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > ................. > > [rtyper] specializing: 19900 / 49722 blocks ? (40%) > *************%%%%% > [rtyper:WARNING] compute_unique_id() is not fully supported on ootype > *************%%%%%%%%%%%% > [rtyper] specializing: 22500 / 49865 blocks ? (45%) > > > And at the end: > > [rtyper] specializing: 48800 / 50785 blocks ? (96%) > [rtyper] -=- specialized 50785 blocks -=- > * > [rtyper:WARNING] prebuilt instance Ellipsis has no attribute 'errno' > ** > [rtyper] -=- specialized 8 more blocks -=- > [translation:info] ootype back-end optimisations... > [backendopt:inlining] phase with threshold factor: 32.4 > [backendopt:inlining] heuristic: > pypy.translator.backendopt.inline.inlining_heur > istic > *************%%%%%%%%%%%%%%########%%%%%%%%%** > [Timer] Timings: > [Timer] annotate ? ? ? ? ? ? ? ? ? ? ? --- 367.1 s > [Timer] rtype_ootype ? ? ? ? ? ? ? ? ? --- 125.8 s > [Timer] backendopt_ootype ? ? ? ? ? ? ?--- ? 7.0 s > [Timer] ========================================== > [Timer] Total: ? ? ? ? ? ? ? ? ? ? ? ? --- 500.0 s > [translation:ERROR] Error: > [translation:ERROR] ?Traceback (most recent call last): > [translation:ERROR] ? ?File "C:\Dokumente und Einstellungen\Jan > Wedel\Eigene Dat > eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p > y", line > ?273, in main The first warnings are normal, they come from conditional code that detects the capabilities of the platform. for example, "sys/time.h" is tried to see if the function "utimes()" can be used. More interesting is the last traceback, but your post truncated it. Can you provide a full traceback? -- Amaury Forgeot d'Arc From amauryfa at gmail.com Wed Oct 7 15:22:14 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Wed, 7 Oct 2009 15:22:14 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: Message-ID: 2009/10/7 Jan Wedel : > >> More interesting is the last traceback, but your post truncated it. >> Can you provide a full traceback? > > Actually...no! There is no traceback except what I posted. After this > line, its an unknown (at least to me) debugger and displays a promp > which I exited by typing "exit". Err... no exception type, no message... maybe some kind of out-of-memory condition? -- Amaury Forgeot d'Arc From Jan.Wedel at ettex.de Wed Oct 7 16:40:39 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Wed, 7 Oct 2009 16:40:39 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: Message-ID: Hi, sorry I was mistaken. There is a trace indeed! My bad... [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p y", line 273, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\driver.py", line 704, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip ()) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\tool\taskengine. py", lin e 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\driver.py", line 267, in _do [translation:ERROR] res = func() [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\driver.py", line 395, in task_backendopt_ootype [translation:ERROR] backend_optimizations(self.translator) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\all.p y", line 80, in backend_optimizations [translation:ERROR] inline_heuristic=heuristic) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\all.p y", line 156, in inline_malloc_removal_phase [translation:ERROR] call_count_pred=call_count_pred) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 779, in auto_inline_graphs [translation:ERROR] call_count_pred=call_count_pred) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 750, in auto_inlining [translation:ERROR] call_count_pred, cleanup=False) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 108, in inline_function [translation:ERROR] return inliner.inline_all() [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 217, in inline_all [translation:ERROR] self.inline_once(block, index_operation) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 244, in inline_once [translation:ERROR] self.translator, self.raise_analyzer): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 160, in any_call_to_raising_graphs [translation:ERROR] if does_raise_directly(graph_or_something, raise_analyze r): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 153, in does_raise_directly [translation:ERROR] if raise_analyzer.can_raise(op): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\canra ise.py", line 33, in can_raise [translation:ERROR] return self.analyze(op, seen) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\graph analyze. py", line 38, in analyze [translation:ERROR] return self.analyze_external_call(op) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\canra ise.py", line 21, in analyze_external_call [translation:ERROR] fnobj = deref(op.args[0].value) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\typesystem.py", line 153, i n deref [translation:ERROR] assert isinstance(ootype.typeOf(obj), ootype.OOType) [translation:ERROR] AssertionError [translation] start debugger... > c:\dokumente und einstellungen\jan wedel\eigene dateien\repo\trunk\rialto\tool s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() -> assert isinstance(ootype.typeOf(obj), ootype.OOType) (Pdb+) exit -----Urspr?ngliche Nachricht----- Von: Amaury Forgeot d'Arc [mailto:amauryfa at gmail.com] Gesendet: Mittwoch, 7. Oktober 2009 15:22 An: Jan Wedel Cc: pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Problems translating PyPy to Java 2009/10/7 Jan Wedel : > >> More interesting is the last traceback, but your post truncated it. >> Can you provide a full traceback? > > Actually...no! There is no traceback except what I posted. After this > line, its an unknown (at least to me) debugger and displays a promp > which I exited by typing "exit". Err... no exception type, no message... maybe some kind of out-of-memory condition? -- Amaury Forgeot d'Arc From anto.cuni at gmail.com Wed Oct 7 17:10:14 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Wed, 07 Oct 2009 17:10:14 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: Message-ID: <4ACCAF56.5000205@gmail.com> Jan Wedel wrote: >> c:\dokumente und einstellungen\jan wedel\eigene > dateien\repo\trunk\rialto\tool > s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() > -> assert isinstance(ootype.typeOf(obj), ootype.OOType) > (Pdb+) exit uhm, that's weird. I've just tried a jvm translation on a linux machine and it works fine. I don't have any windows machine with JDK to try it by myself, but I'm downloading it right now. In the meantime: could you tell us what is the result of typing "print obj" and "print ootype.typeOf(obj)" at the pdb prompt? Thanks, Anto From amauryfa at gmail.com Wed Oct 7 17:15:40 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Wed, 7 Oct 2009 17:15:40 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: <4ACCAF56.5000205@gmail.com> References: <4ACCAF56.5000205@gmail.com> Message-ID: > Jan Wedel wrote: > >>> c:\dokumente und einstellungen\jan wedel\eigene >> >> dateien\repo\trunk\rialto\tool >> s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() >> -> assert isinstance(ootype.typeOf(obj), ootype.OOType) >> (Pdb+) exit Hey, do you use trunk version, or some release branch? Recent development is done on trunk... -- Amaury Forgeot d'Arc From anto.cuni at gmail.com Wed Oct 7 17:22:35 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Wed, 07 Oct 2009 17:22:35 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: <4ACCAF56.5000205@gmail.com> Message-ID: <4ACCB23B.7010406@gmail.com> Amaury Forgeot d'Arc wrote: >> Jan Wedel wrote: >> >>>> c:\dokumente und einstellungen\jan wedel\eigene >>> dateien\repo\trunk\rialto\tool >>> s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() >>> -> assert isinstance(ootype.typeOf(obj), ootype.OOType) >>> (Pdb+) exit > > Hey, do you use trunk version, or some release branch? > Recent development is done on trunk... ah, indeed, I didn't notice the 1.1.0. I remember that at post-europython sprint (which was after the 1.1.0 release) I fixed a couple of issues that prevented pypy-jvm to be translated on windows, so if you shoul really use trunk for this. From Jan.Wedel at ettex.de Thu Oct 8 09:05:26 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Thu, 8 Oct 2009 09:05:26 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: <4ACCAF56.5000205@gmail.com> Message-ID: > In the meantime: could you tell us what is the result of typing "print obj" > and "print ootype.typeOf(obj)" at the pdb prompt? I don't know if its still necessary, but: [translation] start debugger... > c:\dokumente und einstellungen\jan wedel\eigene dateien\repo\trunk\rialto\tool s\pypy-1.1.0\py\io\terminalwriter.py(40)SetConsoleTextAttribute() -> handle, attr) (Pdb+) print obj *** NameError: name 'obj' is not defined (Pdb+) print ootype.typeOf(obj) *** NameError: name 'ootype' is not defined (Pdb+) Anyhow, I will try to use the trunk version. Thanks so far! -J -----Urspr?ngliche Nachricht----- Von: Antonio Cuni [mailto:anto.cuni at gmail.com] Gesendet: Mittwoch, 7. Oktober 2009 17:10 An: Jan Wedel Cc: amauryfa at gmail.com; pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Problems translating PyPy to Java Jan Wedel wrote: >> c:\dokumente und einstellungen\jan wedel\eigene > dateien\repo\trunk\rialto\tool > s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() > -> assert isinstance(ootype.typeOf(obj), ootype.OOType) > (Pdb+) exit uhm, that's weird. I've just tried a jvm translation on a linux machine and it works fine. I don't have any windows machine with JDK to try it by myself, but I'm downloading it right now. In the meantime: could you tell us what is the result of typing "print obj" and "print ootype.typeOf(obj)" at the pdb prompt? Thanks, Anto From anto.cuni at gmail.com Thu Oct 8 14:37:09 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Thu, 08 Oct 2009 14:37:09 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: References: Message-ID: <4ACDDCF5.6000104@gmail.com> Jan Wedel wrote: > Hi Anto! > > Thanks for your answer. Hi Jan, (I'm cc-ing pypy-dev again) > Although it's now made by Sun, it shows the key points: > - No class loading > - No JNI > - No reflection > > Which means you cannot load dynamic code during run-time. On top, there > are a lot of libraries missing (XML parsing, Regex, logging...) so far pypy-jvm doesn't use any of those, so it should not be a problem. However, in the future reflection will be surely needed to access java libraries (but you don't seem to be interested in it) and class loading for the jit. > THAT might be a problem since we are working on memory constrained > systems with a maximum of a few MB of flash and approx. 200kB RAM. Are > there any estimations about the RAM usage of PyPy using classes and > other memory-consuming features? I think that 200kB are definitely not enough for pypy-jvm. I don't know for sure how to measure memory usage of java programs, but if I just launch pypy-jvm and measure the amount of memory used on linux, I get something like ~400 MB: this also includes the overhead of the jvm itself, but it's still a lot. > And is this 8-10MB including only the core interpreter? Or are there any > ways to strip it down by excluding unnecessary libs? it includes the core interpreter and the builtin modules; some of them can be stripped down, but I don't know how much you can save. > I didn't make myself clear. I meant python libs/modules. E.g. sys, > socket, sre etc... Because if these modules are supported I won't need a > lot of Java Libraries. As I explained, I already ported PyMite to Java > and I discovered that numerous python modules have a C counterpart such > as _socket, _sre etc. So If you want to run these libs, you need to > translate these C files. ah, now I understand. This is the complete list of builtin modules that are enabled for pypy-jvm: [translation] [usemodules] [translation] __pypy__ = True [translation] _ast = True [translation] _codecs = True [translation] _pickle_support = True [translation] _random = True [translation] _sre = True [translation] _testing = True [translation] _weakref = True [translation] cStringIO = True [translation] errno = True [translation] gc = True [translation] itertools = True [translation] marshal = True [translation] math = True [translation] md5 = True [translation] operator = True [translation] parser = True [translation] posix = True [translation] rbench = True [translation] sha = True [translation] symbol = True [translation] time = True [translation] token = True As you can see, _socket is missing. It's surely possible to write a version of it that works for the jvm, but as usual it takes some time and nobody cared enough to implement it. ciao, Anto From Jan.Wedel at ettex.de Thu Oct 8 14:51:31 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Thu, 8 Oct 2009 14:51:31 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: <4ACDDCF5.6000104@gmail.com> Message-ID: > so far pypy-jvm doesn't use any of those, so it should not be a problem. > However, in the future reflection will be surely needed to access java > libraries (but you don't seem to be interested in it) and class loading for > the jit. Hmm, I'm not sure if one the goals for the future is still to use PyPy for embedded target (as it was stated in one of these EU papers). But if the answer is yes, you should really check embedded system constraits. I think the idea of PyPy is really good because you can develop platform independend application in Python and moreover auto-generate interpreters for different software platforms while keeping the interpreter code "synchronized" for all platforms. This is a really good approach but you should consider the limitations of embedded devices. > I don't know for sure how to measure memory usage of java programs, but if I > just launch pypy-jvm and measure the amount of memory used on linux, I get > something like ~400 MB: this also includes the overhead of the jvm itself, but > it's still a lot. I think for my task, PyPy is still too heavyweight although 400MB includes paged memory and all loaded Java libraries so its REALLY not possible to find out the real memory usage of a Java application (I tried this on Linux before). So, I guess I will stick to the Java port of PyMite/Python-on-a-chip. But thank you for your help and good luck! Jan -----Urspr?ngliche Nachricht----- Von: Antonio Cuni [mailto:anto.cuni at gmail.com] Gesendet: Donnerstag, 8. Oktober 2009 14:37 An: Jan Wedel; PyPy Dev Betreff: Re: AW: Re: [pypy-dev] Does PyPy supports Java ME? Jan Wedel wrote: > Hi Anto! > > Thanks for your answer. Hi Jan, (I'm cc-ing pypy-dev again) > Although it's now made by Sun, it shows the key points: > - No class loading > - No JNI > - No reflection > > Which means you cannot load dynamic code during run-time. On top, there > are a lot of libraries missing (XML parsing, Regex, logging...) so far pypy-jvm doesn't use any of those, so it should not be a problem. However, in the future reflection will be surely needed to access java libraries (but you don't seem to be interested in it) and class loading for the jit. > THAT might be a problem since we are working on memory constrained > systems with a maximum of a few MB of flash and approx. 200kB RAM. Are > there any estimations about the RAM usage of PyPy using classes and > other memory-consuming features? I think that 200kB are definitely not enough for pypy-jvm. I don't know for sure how to measure memory usage of java programs, but if I just launch pypy-jvm and measure the amount of memory used on linux, I get something like ~400 MB: this also includes the overhead of the jvm itself, but it's still a lot. > And is this 8-10MB including only the core interpreter? Or are there any > ways to strip it down by excluding unnecessary libs? it includes the core interpreter and the builtin modules; some of them can be stripped down, but I don't know how much you can save. > I didn't make myself clear. I meant python libs/modules. E.g. sys, > socket, sre etc... Because if these modules are supported I won't need a > lot of Java Libraries. As I explained, I already ported PyMite to Java > and I discovered that numerous python modules have a C counterpart such > as _socket, _sre etc. So If you want to run these libs, you need to > translate these C files. ah, now I understand. This is the complete list of builtin modules that are enabled for pypy-jvm: [translation] [usemodules] [translation] __pypy__ = True [translation] _ast = True [translation] _codecs = True [translation] _pickle_support = True [translation] _random = True [translation] _sre = True [translation] _testing = True [translation] _weakref = True [translation] cStringIO = True [translation] errno = True [translation] gc = True [translation] itertools = True [translation] marshal = True [translation] math = True [translation] md5 = True [translation] operator = True [translation] parser = True [translation] posix = True [translation] rbench = True [translation] sha = True [translation] symbol = True [translation] time = True [translation] token = True As you can see, _socket is missing. It's surely possible to write a version of it that works for the jvm, but as usual it takes some time and nobody cared enough to implement it. ciao, Anto From holger at merlinux.eu Thu Oct 8 15:17:10 2009 From: holger at merlinux.eu (holger krekel) Date: Thu, 8 Oct 2009 15:17:10 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: References: Message-ID: <20091008131710.GA29141@trillke.net> Hi Jan, On Tue, Oct 06, 2009 at 15:15 +0200, Jan Wedel wrote: > I was currently working on a port of PyMite (8-Bit MCU port of CPython) > to Java ME. I already got the interpreter working so that basic Python > scripts could run as code images on a mobile java IMP device. Actually > we need Python interpreters on different embedded platforms supporting > either C or Java ME (IMP). I discovered a lot of problems including the > missing class implementation of PyMite. > > Then, by recommendation, I found PyPy. It looks as if it is exactly what > I was looking for and I read that it is specifically designed to support > embedded platforms. Do you have a pointer to documentation or a text that says so? I wouldn't see PyPy this way. However, we do have a pypy-c version that works on Maemo and is more efficient for larger amounts of user objects. We also have ideas how to reduce RSS size after interpreter startup, mostly tied to pypy-c so far, though. In principle it's also possible to translate RPython to C or JVM and avoid interpretation alltogether. RPython is >50 times faster than CPython but less convenient to work with than regular Python so only makes sense to consider for special purposes. And is probably best learned in collaboration with developers who know how to work with it and are willing or paid to help. cheers, holger -- Metaprogramming, Python, Testing: http://tetamap.wordpress.com Python, PyPy, pytest contracting: http://merlinux.eu From Jan.Wedel at ettex.de Thu Oct 8 15:30:28 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Thu, 8 Oct 2009 15:30:28 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: <20091008131710.GA29141@trillke.net> Message-ID: > Do you have a pointer to documentation or a text that says so? Yes : http://codespeak.net/pypy/extradoc/eu-report/D11.1_PyPy_for_Embedded_Devices-2007-03-26.pdf > It should be possible with future versions of PyPy to use the framework in other ways in the embedded context > for instance by shipping a restricted version of the interpreter, dedicated to the interpretation of a given > set of programs. I think I read something more precise but I couldn't find it anymore. -----Urspr?ngliche Nachricht----- Von: holger krekel [mailto:holger at merlinux.eu] Gesendet: Donnerstag, 8. Oktober 2009 15:17 An: Jan Wedel Cc: pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Does PyPy supports Java ME? Hi Jan, On Tue, Oct 06, 2009 at 15:15 +0200, Jan Wedel wrote: > I was currently working on a port of PyMite (8-Bit MCU port of CPython) > to Java ME. I already got the interpreter working so that basic Python > scripts could run as code images on a mobile java IMP device. Actually > we need Python interpreters on different embedded platforms supporting > either C or Java ME (IMP). I discovered a lot of problems including the > missing class implementation of PyMite. > > Then, by recommendation, I found PyPy. It looks as if it is exactly what > I was looking for and I read that it is specifically designed to support > embedded platforms. Do you have a pointer to documentation or a text that says so? I wouldn't see PyPy this way. However, we do have a pypy-c version that works on Maemo and is more efficient for larger amounts of user objects. We also have ideas how to reduce RSS size after interpreter startup, mostly tied to pypy-c so far, though. In principle it's also possible to translate RPython to C or JVM and avoid interpretation alltogether. RPython is >50 times faster than CPython but less convenient to work with than regular Python so only makes sense to consider for special purposes. And is probably best learned in collaboration with developers who know how to work with it and are willing or paid to help. cheers, holger -- Metaprogramming, Python, Testing: http://tetamap.wordpress.com Python, PyPy, pytest contracting: http://merlinux.eu From holger at merlinux.eu Thu Oct 8 15:57:05 2009 From: holger at merlinux.eu (holger krekel) Date: Thu, 8 Oct 2009 15:57:05 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: References: <20091008131710.GA29141@trillke.net> Message-ID: <20091008135705.GB29141@trillke.net> On Thu, Oct 08, 2009 at 15:30 +0200, Jan Wedel wrote: > > Do you have a pointer to documentation or a text that says so? > > Yes : > > http://codespeak.net/pypy/extradoc/eu-report/D11.1_PyPy_for_Embedded_Devices-2007-03-26.pdf > > > It should be possible with future versions of PyPy to use the > framework in other ways in the embedded context > > for instance by shipping a restricted version of the interpreter, > dedicated to the interpretation of a given > > set of programs. > > I think I read something more precise but I couldn't find it anymore. That use case study mainly worked with using RPython and says that its efficiency is not far from using C. I guess this could be extended to also apply for Java-ME so that an RPython program would run as fast as native Java. A restricted version of the existing Python interpreter is quite a lot of work and it's unclear how successful it could be. Python might be an easy-to-read and to-learn language but it's internals are quite complex, unfortunately. best, holger > -----Urspr?ngliche Nachricht----- > Von: holger krekel [mailto:holger at merlinux.eu] > Gesendet: Donnerstag, 8. Oktober 2009 15:17 > An: Jan Wedel > Cc: pypy-dev at codespeak.net > Betreff: Re: [pypy-dev] Does PyPy supports Java ME? > > Hi Jan, > > On Tue, Oct 06, 2009 at 15:15 +0200, Jan Wedel wrote: > > I was currently working on a port of PyMite (8-Bit MCU port of > CPython) > > to Java ME. I already got the interpreter working so that basic Python > > > scripts could run as code images on a mobile java IMP device. Actually > > > we need Python interpreters on different embedded platforms supporting > > > either C or Java ME (IMP). I discovered a lot of problems including > the > > missing class implementation of PyMite. > > > > Then, by recommendation, I found PyPy. It looks as if it is exactly > what > > I was looking for and I read that it is specifically designed to > support > > embedded platforms. > > Do you have a pointer to documentation or a text that says so? I > wouldn't > see PyPy this way. However, we do have a pypy-c version that works on > Maemo and is more efficient for larger amounts of user objects. We also > have ideas how to reduce RSS size after interpreter startup, > mostly tied to pypy-c so far, though. > > In principle it's also possible to translate RPython to C or JVM > and avoid interpretation alltogether. RPython is >50 times faster > than CPython but less convenient to work with than regular Python > so only makes sense to consider for special purposes. And is > probably best learned in collaboration with developers who know > how to work with it and are willing or paid to help. > > cheers, > holger > > -- > Metaprogramming, Python, Testing: http://tetamap.wordpress.com > Python, PyPy, pytest contracting: http://merlinux.eu > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- Metaprogramming, Python, Testing: http://tetamap.wordpress.com Python, PyPy, pytest contracting: http://merlinux.eu From iko at openend.se Thu Oct 8 19:24:43 2009 From: iko at openend.se (Anders Hammarquist) Date: Thu, 08 Oct 2009 19:24:43 +0200 Subject: [pypy-dev] Nightly Benchmarks In-Reply-To: Message from Miquel Torres of "Mon, 05 Oct 2009 23:04:16 +0200." References: <200910011031.n91AVvcc023352@fido.openend.se> <200910051420.n95EK1bj009044@theraft.openend.se> Message-ID: <200910081724.n98HOhOf029738@fido.openend.se> In a message of Mon, 05 Oct 2009 23:04:16 +0200, Miquel Torres writes: >There are a couple of things I want to discuss: > >- An extra table (class) may be needed to store the hardware the benchmark >was run on. pypy will probably need to be tested on other architectures. Keeping track of the architecture makes sense. Possibly it could go as a field on the interpreter instead. >- The interpreter table needs extra fields: > - revision: absolutely necessary My original thoughts for the revision would be to put it on the Run, but if you are going to add several different languages it probably makes more sense to put it on the interpreter. This would be the version number for released (non-PyPy) interpreters. > - tag: this is for 1.0, 1.1, beta, trunk, snapshot, or what ever. This >is needed to know what pypy revisions to list in the web page that allows >comparison to other python implementations (most importantly cpython). > - Furthermore: You state that compile options are not needed, that they >would be different interpreters. >I agree that we can have pypy-c, pypy-crl and pypy-c-jit (for example) as >different interpreters. But things can get messy if we add garbage >collectors and other options: >pypy-c-68150-gc=hybrid--opt=3--no-allworkingmodules I think we misunderstood eachother on this one. I would certainly add a field for it on the interpreter object, keeping it in the name could quickly get messy. I thought you were talking about adding compile options to the Run. /Anders From pg at cs.stanford.edu Fri Oct 9 08:16:45 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Thu, 8 Oct 2009 23:16:45 -0700 Subject: [pypy-dev] Help with "Exception: unexpected prebuilt constant" Message-ID: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> Sorry for another newbish question, but I'm having trouble getting PyPy translated into C code. I added some calls to open() throughout the interpreter codebase (to log some info to files), but it failed translation with the following error: [translation:ERROR] Exception: unexpected prebuilt constant: I then tried doing 'import os' and then using os.fdopen, but with the same error: [translation:ERROR] Exception: unexpected prebuilt constant: In general, what Python standard library calls can I make from my modified PyPy code and still have it translate properly? Specifically, how do I read/write files from within PyPy? Thanks! Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091008/ab1739bc/attachment.htm From anto.cuni at gmail.com Fri Oct 9 10:46:18 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Fri, 09 Oct 2009 10:46:18 +0200 Subject: [pypy-dev] Help with "Exception: unexpected prebuilt constant" In-Reply-To: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> References: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> Message-ID: <4ACEF85A.7090203@gmail.com> Hi Philip, Philip Guo wrote: > Sorry for another newbish question, but I'm having trouble getting PyPy > translated into C code. I added some calls to open() throughout the > interpreter codebase (to log some info to files), but it failed > translation with the following error: > > [translation:ERROR] Exception: unexpected prebuilt constant: > > > I then tried doing 'import os' and then using os.fdopen, but with the > same error: > > [translation:ERROR] Exception: unexpected prebuilt constant: > as you have noticed, neither os.open nor os.fdopen are supported by RPython. The only low-level supported way to deal with files is using os.open/os.read/os.write. However, you might want to have a look to rlib.streamio, that provides a higher level API to deal with files, offering features such as buffering, CR/LF conversions etc. In particular, you can use streamio.open_file_as_stream to get a file like object similar to the builtin python ones. > In general, what Python standard library calls can I make from my > modified PyPy code and still have it translate properly? Specifically, > how do I read/write files from within PyPy? see above :-) ciao, Anto From pg at cs.stanford.edu Fri Oct 9 18:15:09 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Fri, 9 Oct 2009 09:15:09 -0700 Subject: [pypy-dev] Help with "Exception: unexpected prebuilt constant" In-Reply-To: <4ACEF85A.7090203@gmail.com> References: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> <4ACEF85A.7090203@gmail.com> Message-ID: <79e41e9f0910090915u218bd968y7d69b87883b3506c@mail.gmail.com> Thanks for the informative reply, Antonio! My (probably dumb) follow-up question is: Is pickle (or cPickle) supported by RPython? The bottom line is that I need to serialize some data structures from my modified PyPy interpreter to disk so that data can persist across successive interpreter runs. Pickling is the most obvious way to do so, but it requires a Python built-in file object. If pickling doesn't work, what other way of persisting data on disk do you suggest? (e.g., printing it to a file as plaintext and then eval-ing it again? does eval() even work in RPython?) On Fri, Oct 9, 2009 at 1:46 AM, Antonio Cuni wrote: > Hi Philip, > > Philip Guo wrote: > >> Sorry for another newbish question, but I'm having trouble getting PyPy >> translated into C code. I added some calls to open() throughout the >> interpreter codebase (to log some info to files), but it failed translation >> with the following error: >> >> [translation:ERROR] Exception: unexpected prebuilt constant: > function open> >> >> I then tried doing 'import os' and then using os.fdopen, but with the same >> error: >> >> [translation:ERROR] Exception: unexpected prebuilt constant: > function fdopen> >> > > as you have noticed, neither os.open nor os.fdopen are supported by > RPython. > The only low-level supported way to deal with files is using > os.open/os.read/os.write. > > However, you might want to have a look to rlib.streamio, that provides a > higher level API to deal with files, offering features such as buffering, > CR/LF conversions etc. In particular, you can use > streamio.open_file_as_stream to get a file like object similar to the > builtin python ones. > > In general, what Python standard library calls can I make from my modified >> PyPy code and still have it translate properly? Specifically, how do I >> read/write files from within PyPy? >> > > see above :-) > > ciao, > Anto > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091009/1823d6c1/attachment.htm From anto.cuni at gmail.com Fri Oct 9 18:30:27 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Fri, 09 Oct 2009 18:30:27 +0200 Subject: [pypy-dev] Help with "Exception: unexpected prebuilt constant" In-Reply-To: <79e41e9f0910090915u218bd968y7d69b87883b3506c@mail.gmail.com> References: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> <4ACEF85A.7090203@gmail.com> <79e41e9f0910090915u218bd968y7d69b87883b3506c@mail.gmail.com> Message-ID: <4ACF6523.70307@gmail.com> Philip Guo wrote: > Thanks for the informative reply, Antonio! My (probably dumb) follow-up > question is: Is pickle (or cPickle) supported by RPython? The bottom > line is that I need to serialize some data structures from my modified > PyPy interpreter to disk so that data can persist across successive > interpreter runs. Pickling is the most obvious way to do so, but it > requires a Python built-in file object. pickle and cpickle are not supported by RPython. If you need to serialize interp-level objects, I fear the only way is to manually write the code to write them to disk and read back. You might want to have a look at rlib.rmarshal, which can be used to serialize simple objects such as numbers, lists and tuples. On the other hand, remember that you have the whole PyPy python interpreter in your hands: depending on what you are trying to do, you could use it to interact with the fully working cPickle modules. But please notice that this solution works only if you want to serialize app-level objects (i.e. all the objects that are called as w_* inside the pypy sources). > If pickling doesn't work, what other way of persisting data on disk do > you suggest? (e.g., printing it to a file as plaintext and then > eval-ing it again? does eval() even work in RPython?) no, eval() doesn't work in RPython. ciao, Anto From glavoie at gmail.com Sat Oct 10 17:19:35 2009 From: glavoie at gmail.com (Gabriel Lavoie) Date: Sat, 10 Oct 2009 11:19:35 -0400 Subject: [pypy-dev] Mac osx patches In-Reply-To: <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> Message-ID: Hello everyone, here's a patch so pypy-c can be built under Snow Leopard (64 bits Python/GCC). I'm not 100% sure on how to make type casts but it builds. I'm sure someone can validate. :) Cheers, Gabriel 2009/10/6 Leonardo Santagada : > Thanks pedronis for applying one of the patches, but without the > trackgcroot one I can't get no trackgcroot test to pass, and without > the -dynamiclib change I get one failure on test_rffi_platform.py, but > with it the generated pypy .s files can't be read by trackgcroot. > > Anyone knows how to fix the current failure on test_rffi_platform on > osx without changing the -bundle to -dynamiclib? > > And the other failure about offset_labels, maybe it is possible to > offset them but not by so much as 2**30 but maybe 2**24 or something? > > > On Sep 30, 2009, at 2:06 PM, Leonardo Santagada wrote: > >> To make compilation and asmgcroot happy on osx I made some changes, >> I would like to know if someone has anything against applying this >> stuff to trunk? >> >> Index: pypy/translator/c/gcc/trackgcroot.py >> =================================================================== >> --- pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(revision 68036) >> +++ pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(working copy) >> @@ -22,7 +22,11 @@ >> r_sectionstart ? ? ? ? = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) >> +").*$") >> r_functionstart_darwin = re.compile(r"_(\w+):\s*$") >> >> -OFFSET_LABELS ? = 2**30 >> +# darwin's ld complain about this hack >> +if sys.platform == 'darwin': >> + ? ?OFFSET_LABELS = 0 >> +else: >> + ? ?OFFSET_LABELS = 2**30 >> >> # inside functions >> LABEL ? ? ? ? ? = r'([.]?[\w$@]+)' >> Index: pypy/translator/platform/test/test_darwin.py >> =================================================================== >> --- pypy/translator/platform/test/test_darwin.py ? ? ? ?(revision >> 68036) >> +++ pypy/translator/platform/test/test_darwin.py ? ? ? ?(working copy) >> @@ -2,8 +2,8 @@ >> """ File containing darwin platform tests >> """ >> >> -import py, os >> -if os.name != 'darwin': >> +import py, sys >> +if sys.platform != 'darwin': >> ? ? py.test.skip("Darwin only") >> >> from pypy.tool.udir import udir >> Index: pypy/translator/platform/darwin.py >> =================================================================== >> --- pypy/translator/platform/darwin.py ?(revision 68036) >> +++ pypy/translator/platform/darwin.py ?(working copy) >> @@ -18,7 +18,7 @@ >> ? ? ? ? self.cc = cc >> >> ? ? def _args_for_shared(self, args): >> - ? ? ? ?return (self.shared_only + ['-bundle', '-undefined', >> 'dynamic_lookup'] >> + ? ? ? ?return (self.shared_only + ['-dynamiclib', '-undefined', >> 'dynamic_lookup'] >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+ args) >> >> ? ? def include_dirs_for_libffi(self): >> >> >> -- >> Leonardo Santagada >> santagada at gmail.com >> >> >> > > -- > Leonardo Santagada > santagada at gmail.com > > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- Gabriel Lavoie glavoie at gmail.com -------------- next part -------------- A non-text attachment was scrubbed... Name: pypy-snow-leopard-translate.patch Type: application/octet-stream Size: 3719 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091010/f6918a69/attachment-0001.obj From santagada at gmail.com Sat Oct 10 17:55:23 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Sat, 10 Oct 2009 12:55:23 -0300 Subject: [pypy-dev] Mac osx patches In-Reply-To: References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> Message-ID: <57C9F1EF-1759-443E-9AB8-1803A0CDB129@gmail.com> Someone that knows more about pypy will have to apply this patch as I have no idea what kind of problem this could make to other people. What I have done is made pypy use 32bit on osx by default, I guess I can do the same as the other platforms and decide between forcing gcc to compile 32bit code based on the info from the platform module. On a side note did you made asmgcc work? I don't even think it supported 64bit at all. On Oct 10, 2009, at 12:19 PM, Gabriel Lavoie wrote: > Hello everyone, > here's a patch so pypy-c can be built under Snow Leopard (64 bits > Python/GCC). I'm not 100% sure on how to make type casts but it > builds. I'm sure someone can validate. :) > > Cheers, > > Gabriel > > 2009/10/6 Leonardo Santagada : >> Thanks pedronis for applying one of the patches, but without the >> trackgcroot one I can't get no trackgcroot test to pass, and without >> the -dynamiclib change I get one failure on test_rffi_platform.py, >> but >> with it the generated pypy .s files can't be read by trackgcroot. >> >> Anyone knows how to fix the current failure on test_rffi_platform on >> osx without changing the -bundle to -dynamiclib? >> >> And the other failure about offset_labels, maybe it is possible to >> offset them but not by so much as 2**30 but maybe 2**24 or something? >> >> >> On Sep 30, 2009, at 2:06 PM, Leonardo Santagada wrote: >> >>> To make compilation and asmgcroot happy on osx I made some changes, >>> I would like to know if someone has anything against applying this >>> stuff to trunk? >>> >>> Index: pypy/translator/c/gcc/trackgcroot.py >>> =================================================================== >>> --- pypy/translator/c/gcc/trackgcroot.py (revision 68036) >>> +++ pypy/translator/c/gcc/trackgcroot.py (working copy) >>> @@ -22,7 +22,11 @@ >>> r_sectionstart = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) >>> +").*$") >>> r_functionstart_darwin = re.compile(r"_(\w+):\s*$") >>> >>> -OFFSET_LABELS = 2**30 >>> +# darwin's ld complain about this hack >>> +if sys.platform == 'darwin': >>> + OFFSET_LABELS = 0 >>> +else: >>> + OFFSET_LABELS = 2**30 >>> >>> # inside functions >>> LABEL = r'([.]?[\w$@]+)' >>> Index: pypy/translator/platform/test/test_darwin.py >>> =================================================================== >>> --- pypy/translator/platform/test/test_darwin.py (revision >>> 68036) >>> +++ pypy/translator/platform/test/test_darwin.py (working >>> copy) >>> @@ -2,8 +2,8 @@ >>> """ File containing darwin platform tests >>> """ >>> >>> -import py, os >>> -if os.name != 'darwin': >>> +import py, sys >>> +if sys.platform != 'darwin': >>> py.test.skip("Darwin only") >>> >>> from pypy.tool.udir import udir >>> Index: pypy/translator/platform/darwin.py >>> =================================================================== >>> --- pypy/translator/platform/darwin.py (revision 68036) >>> +++ pypy/translator/platform/darwin.py (working copy) >>> @@ -18,7 +18,7 @@ >>> self.cc = cc >>> >>> def _args_for_shared(self, args): >>> - return (self.shared_only + ['-bundle', '-undefined', >>> 'dynamic_lookup'] >>> + return (self.shared_only + ['-dynamiclib', '-undefined', >>> 'dynamic_lookup'] >>> + args) >>> >>> def include_dirs_for_libffi(self): >>> >>> >>> -- >>> Leonardo Santagada >>> santagada at gmail.com >>> >>> >>> >> >> -- >> Leonardo Santagada >> santagada at gmail.com >> >> >> >> _______________________________________________ >> pypy-dev at codespeak.net >> http://codespeak.net/mailman/listinfo/pypy-dev >> > > > > -- > Gabriel Lavoie > glavoie at gmail.com > -- Leonardo Santagada santagada at gmail.com From victor.stinner at haypocalc.com Sun Oct 11 01:12:17 2009 From: victor.stinner at haypocalc.com (Victor Stinner) Date: Sun, 11 Oct 2009 01:12:17 +0200 Subject: [pypy-dev] Fuzzing with Fusil and JIT crash Message-ID: <200910110112.17992.victor.stinner@haypocalc.com> Hi, Because of the last posts on your blog (a JIT better than just a PoC), I choosed to give a new try to PyPy. I'm trying PyPy with Fusil the fuzzer because it's my project, so I can easily fix bugs in Fusil, and also because it's a great tool to find bugs in PyPy :-) I already found some bugs/crashs (see PyPy's bugtracker), but it's not bad (there are few bugs if you compare it to other projects). Since PyPy is open source, I can write patches to fix the issues ;-) Slowly, I know PyPy enough to fix RPython bugs (I mean to fix modules written in RPython). But now my problem are the JIT crashes. I'm unable to locate the crash. There is not enough informations: BROKEN PROFILER DATA! ~~~ Crash in JIT! ~~~ BROKEN PROFILER DATA! Fatal RPython error: CrashInJIT Ok, nice, a crash. But where? What is the assertion? Sometimes, it fails with a TypeError (same output except the exception type). gdb doesn't help: (gdb) where #0 0xb7fe1424 in __kernel_vsyscall () #1 0xb7c1d3d0 in raise () from /lib/i686/cmov/libc.so.6 #2 0xb7c20a85 in abort () from /lib/i686/cmov/libc.so.6 #3 0x0804ce1e in main () "main()", that's all. No file name or line number :-/ On IRC, we asked me to recompiled PyPy using the hidden "make debug_exc" command. But it doesn't change anything. I'm not sure that the make did really enable the hidden debug features. How can I check it? Does it output something special? Always or only on a crash. On a crash, the output is the same using pypy-c-jit ("make") or pypy-c-jit-debug ("make debug_exc"). I will retry to recompile PyPy from scratch using directly the right commmand ("make debug_exc"). Note: Don't try to compile PyPy C backend using -O0 or -O1. Only "-O3" and "- O2 -fomit-frame-pointer" are supported. Note2: "make clean" doesn't remove testing_1.s. Someone told me that it should be fixed now. Oh, another problem: on make failure, all .s files are removed. It's not possible to debug the error. I added ".PRECIOUS: %.s" in the Makefile. Can it be done by default? --- If you would like to try Fusil, it's available in Debian, Ubuntu, Mandriva, OpenEmbedded, Arch Linux, MacPort, Gentoo, ... For better performances and fewer false positives, clone the Mercurial repository. Fusil website: http://bitbucket.org/haypo/fusil/wiki/Home To reproduce the JIT crash, it takes 20 to 60 seconds using the following command: export PYTHONPATH=~/prog/HG/fusil/:~/prog/HG/python-ptrace/ ./pypy-c-jit-debug --jit threshold=10 \ ~/prog/HG/fusil/fuzzers/fusil-python \ --success=100 --blacklist=logging,compileall,this,socket (socket is blacklisted because of the issue #465, a crash in _ssl) You don't need to install Fusil if you change the PYTHONPATH. -- Victor Stinner http://www.haypocalc.com/ From fijall at gmail.com Thu Oct 15 11:53:12 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Thu, 15 Oct 2009 03:53:12 -0600 Subject: [pypy-dev] Mac osx patches In-Reply-To: <57C9F1EF-1759-443E-9AB8-1803A0CDB129@gmail.com> References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> <57C9F1EF-1759-443E-9AB8-1803A0CDB129@gmail.com> Message-ID: <693bc9ab0910150253ma7565dcj29b540661fa2aa15@mail.gmail.com> In general, I should reject this patch on a basis that it contains tabs, however, this time I removed tabs myself. For future, please don't send patches with tabs in it :-) Commited, Cheers, fijal On Sat, Oct 10, 2009 at 9:55 AM, Leonardo Santagada wrote: > Someone that knows more about pypy will have to apply this patch as I > have no idea what kind of problem this could make to other people. > > What I have done is made pypy use 32bit on osx by default, I guess I > can do the same as the other platforms and decide between forcing gcc > to compile 32bit code based on the info from the platform module. > > On a side note did you made asmgcc work? I don't even think it > supported 64bit at all. > > On Oct 10, 2009, at 12:19 PM, Gabriel Lavoie wrote: > >> Hello everyone, >> ? ? here's a patch so pypy-c can be built under Snow Leopard (64 bits >> Python/GCC). I'm not 100% sure on how to make type casts but it >> builds. I'm sure someone can validate. :) >> >> Cheers, >> >> Gabriel >> >> 2009/10/6 Leonardo Santagada : >>> Thanks pedronis for applying one of the patches, but without the >>> trackgcroot one I can't get no trackgcroot test to pass, and without >>> the -dynamiclib change I get one failure on test_rffi_platform.py, >>> but >>> with it the generated pypy .s files can't be read by trackgcroot. >>> >>> Anyone knows how to fix the current failure on test_rffi_platform on >>> osx without changing the -bundle to -dynamiclib? >>> >>> And the other failure about offset_labels, maybe it is possible to >>> offset them but not by so much as 2**30 but maybe 2**24 or something? >>> >>> >>> On Sep 30, 2009, at 2:06 PM, Leonardo Santagada wrote: >>> >>>> To make compilation and asmgcroot happy on osx I made some changes, >>>> I would like to know if someone has anything against applying this >>>> stuff to trunk? >>>> >>>> Index: pypy/translator/c/gcc/trackgcroot.py >>>> =================================================================== >>>> --- pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(revision 68036) >>>> +++ pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(working copy) >>>> @@ -22,7 +22,11 @@ >>>> r_sectionstart ? ? ? ? = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) >>>> +").*$") >>>> r_functionstart_darwin = re.compile(r"_(\w+):\s*$") >>>> >>>> -OFFSET_LABELS ? = 2**30 >>>> +# darwin's ld complain about this hack >>>> +if sys.platform == 'darwin': >>>> + ? ?OFFSET_LABELS = 0 >>>> +else: >>>> + ? ?OFFSET_LABELS = 2**30 >>>> >>>> # inside functions >>>> LABEL ? ? ? ? ? = r'([.]?[\w$@]+)' >>>> Index: pypy/translator/platform/test/test_darwin.py >>>> =================================================================== >>>> --- pypy/translator/platform/test/test_darwin.py ? ? ? ?(revision >>>> 68036) >>>> +++ pypy/translator/platform/test/test_darwin.py ? ? ? ?(working >>>> copy) >>>> @@ -2,8 +2,8 @@ >>>> """ File containing darwin platform tests >>>> """ >>>> >>>> -import py, os >>>> -if os.name != 'darwin': >>>> +import py, sys >>>> +if sys.platform != 'darwin': >>>> ? ? py.test.skip("Darwin only") >>>> >>>> from pypy.tool.udir import udir >>>> Index: pypy/translator/platform/darwin.py >>>> =================================================================== >>>> --- pypy/translator/platform/darwin.py ?(revision 68036) >>>> +++ pypy/translator/platform/darwin.py ?(working copy) >>>> @@ -18,7 +18,7 @@ >>>> ? ? ? ? self.cc = cc >>>> >>>> ? ? def _args_for_shared(self, args): >>>> - ? ? ? ?return (self.shared_only + ['-bundle', '-undefined', >>>> 'dynamic_lookup'] >>>> + ? ? ? ?return (self.shared_only + ['-dynamiclib', '-undefined', >>>> 'dynamic_lookup'] >>>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+ args) >>>> >>>> ? ? def include_dirs_for_libffi(self): >>>> >>>> >>>> -- >>>> Leonardo Santagada >>>> santagada at gmail.com >>>> >>>> >>>> >>> >>> -- >>> Leonardo Santagada >>> santagada at gmail.com >>> >>> >>> >>> _______________________________________________ >>> pypy-dev at codespeak.net >>> http://codespeak.net/mailman/listinfo/pypy-dev >>> >> >> >> >> -- >> Gabriel Lavoie >> glavoie at gmail.com >> > > -- > Leonardo Santagada > santagada at gmail.com > > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > From fijall at gmail.com Sat Oct 17 21:36:30 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Sat, 17 Oct 2009 13:36:30 -0600 Subject: [pypy-dev] [pypy-svn] r68612 - pypy/trunk/pypy/rpython/lltypesystem In-Reply-To: <20091017193027.47B11168015@codespeak.net> References: <20091017193027.47B11168015@codespeak.net> Message-ID: <693bc9ab0910171236j12c818a1i6c011a13e6517bc0@mail.gmail.com> > On Linux, to clear large regions of memory, the best way seems > to be madvise(MADV_DONTNEED). ?Indeed, the previous trick of > reading /dev/zero does not seem to have the correct effect of > lazily-allocating pages on all Linux systems (e.g. bigdog-vm1). > Note that this usage of madvise() is purely Linux-specific. > Note that bigdogvm1 is a vm, it might behave differently... From khalidsmshahin at gmail.com Sun Oct 18 20:32:07 2009 From: khalidsmshahin at gmail.com (Khalid Shahin) Date: Sun, 18 Oct 2009 14:32:07 -0400 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: I'm asking someone on the inside and I hope I got the right email address since this is the only one I could find. The current PyPy logo seems kind of plain. And Ouroboros is a symbol of snake biting its tail and represents a cycle, a re-creation of itself, or a self-reference. Which would fit nicely in the PyPy logo. http://en.wikipedia.org/wiki/Ouroboros If you like the idea I can create concept art for it. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091018/2fc43a0b/attachment.htm From lac at openend.se Mon Oct 19 08:32:02 2009 From: lac at openend.se (Laura Creighton) Date: Mon, 19 Oct 2009 08:32:02 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: Message from Khalid Shahin of "Sun, 18 Oct 2009 14:32:07 EDT." References: Message-ID: <200910190632.n9J6W2vr018453@theraft.openend.se> In a message of Sun, 18 Oct 2009 14:32:07 EDT, Khalid Shahin writes: >I'm asking someone on the inside and I hope I got the right email address >since this is the only one I could find. > >The current PyPy logo seems kind of plain. And Ouroboros is a symbol of >snake biting its tail and represents a cycle, a re-creation of itself, or > a self-reference. Which would fit nicely in the PyPy logo. > >http://en.wikipedia.org/wiki/Ouroboros > >If you like the idea I can create concept art for it. > Art is always nice, and of course the snake biting its own tail is appropriate. When python.org was looking for a new logo, Tim Parkin produced one I liked very much which was of a snake eating its own tail surrounding a globe. He has said that we were free to use it for PyPy at any time. I've thought about it many times. It certainly would be prettier than what we have now. The problem is that pypy-dev seems to be split between people who don't care all that much about art, and those who care so very, very, very much that they think that every artistic decision is worth an enormous amount of effort and consideration. I am in the last group. For the sake of ever having enough time to actually create things, I have to severely limit my involvement in the critcism of other people's art, which is something I can easily spend my whole life at. And there are so many other things that need doing ... So, speaking just for me, I would be happy to see new art, but I think that the 'design of the perfect PyPy logo' has the potential to be an infinite time sink for me, and I am scared of that prospect. On the other hand, I think that sending you off with the rule 'please make new art, but be prepared to be ignored' is particularly uncivil. I fear that this is all we can promise now. But this is only me, speaking for me here... take care, Laura Creighton From anto.cuni at gmail.com Mon Oct 19 09:32:42 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 09:32:42 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: <4ADC161A.8050106@gmail.com> Khalid Shahin wrote: > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > snake biting its tail and represents a cycle, a re-creation of itself, > or a self-reference. Which would fit nicely in the PyPy logo. > > http://en.wikipedia.org/wiki/Ouroboros > > If you like the idea I can create concept art for it. Personally, I don't like the current pypy logo too much, so proposals for a new one are welcome from my side :-). ciao, Anto From cfbolz at gmx.de Mon Oct 19 10:21:19 2009 From: cfbolz at gmx.de (Carl Friedrich) Date: Mon, 19 Oct 2009 10:21:19 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: <4ADC217F.2040600@gmx.de> Khalid Shahin wrote: > I'm asking someone on the inside and I hope I got the right email > address since this is the only one I could find. That's totally the right address, welcome! > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > snake biting its tail and represents a cycle, a re-creation of itself, > or a self-reference. Which would fit nicely in the PyPy logo. > > http://en.wikipedia.org/wiki/Ouroboros > I always understood "P" of the current PyPy logo to be or to at least hint at an Ouroboros. Maybe that's only me though. > If you like the idea I can create concept art for it. Concept art sounds good. Cheers, Carl Friedrich From holger at merlinux.eu Mon Oct 19 10:41:23 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 10:41:23 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: <20091019084123.GJ29141@trillke.net> Hi Khalid, On Sun, Oct 18, 2009 at 14:32 -0400, Khalid Shahin wrote: > I'm asking someone on the inside and I hope I got the right email address > since this is the only one I could find. > > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > snake biting its tail and represents a cycle, a re-creation of itself, or a > self-reference. Which would fit nicely in the PyPy logo. it was created ages ago from Gero Schulze, a friend of mine. > http://en.wikipedia.org/wiki/Ouroboros actually the idea of the current logo was to raise this association. > If you like the idea I can create concept art for it. nice. If you can i'd probably like it if can use some elements of the current one and not do a totally new one. best & have fun, holger From victor.stinner at haypocalc.com Mon Oct 19 13:08:26 2009 From: victor.stinner at haypocalc.com (Victor Stinner) Date: Mon, 19 Oct 2009 13:08:26 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: <200910191308.26255.victor.stinner@haypocalc.com> Hi, Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > snake biting its tail and represents a cycle, a re-creation of itself, or a > self-reference. Which would fit nicely in the PyPy logo. I read somewhere that PyPy is no more a project dedicated to Python, but it's a little bit more generic. If the project is splitted in two parts (generic compiler + python interpreter), Ouroboros would be the logo of the python interpreter, right? I like Ourouboros. "snake biting its tail" was the title of my first news on linuxfr (a french open source news website) :-) PyPy, le serpent qui se mord la queue, sort en version 0.99 http://linuxfr.org/2007/02/22/22108.html February 2007 -- Victor Stinner http://www.haypocalc.com/ From santagada at gmail.com Mon Oct 19 14:38:37 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Mon, 19 Oct 2009 10:38:37 -0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <200910191308.26255.victor.stinner@haypocalc.com> References: <200910191308.26255.victor.stinner@haypocalc.com> Message-ID: <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> On Oct 19, 2009, at 9:08 AM, Victor Stinner wrote: > Hi, > > Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : >> The current PyPy logo seems kind of plain. And Ouroboros is a >> symbol of >> snake biting its tail and represents a cycle, a re-creation of >> itself, or a >> self-reference. Which would fit nicely in the PyPy logo. > > I read somewhere that PyPy is no more a project dedicated to Python, > but it's > a little bit more generic. If the project is splitted in two parts > (generic > compiler + python interpreter), Ouroboros would be the logo of the > python > interpreter, right? Separating the pypy translator/compiler from the pypy python interpreter (preferably with different names) is something I would love to see happen. The first thing you have to say to someone when explaining pypy is "pypy is two completely different (but related) things..." so different logos and names would help a lot. But who should get the Ouroboros logo I don't know. > I like Ourouboros. "snake biting its tail" was the title of my first > news on > linuxfr (a french open source news website) :-) > > PyPy, le serpent qui se mord la queue, sort en version 0.99 > http://linuxfr.org/2007/02/22/22108.html > February 2007 -- Leonardo Santagada santagada at gmail.com From cfbolz at gmx.de Mon Oct 19 15:05:15 2009 From: cfbolz at gmx.de (Carl Friedrich) Date: Mon, 19 Oct 2009 15:05:15 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> Message-ID: <4ADC640B.2040705@gmx.de> Leonardo Santagada wrote: > On Oct 19, 2009, at 9:08 AM, Victor Stinner wrote: >> Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : >>> The current PyPy logo seems kind of plain. And Ouroboros is a >>> symbol of >>> snake biting its tail and represents a cycle, a re-creation of >>> itself, or a >>> self-reference. Which would fit nicely in the PyPy logo. >> I read somewhere that PyPy is no more a project dedicated to Python, >> but it's >> a little bit more generic. If the project is splitted in two parts >> (generic >> compiler + python interpreter), Ouroboros would be the logo of the >> python >> interpreter, right? > > Separating the pypy translator/compiler from the pypy python > interpreter (preferably with different names) is something I would > love to see happen. The first thing you have to say to someone when > explaining pypy is "pypy is two completely different (but related) > things..." so different logos and names would help a lot. While I agree, to do this we would have to come up with a name for the translation toolchain part. And coming up with names is even harder than coming up with logos. > But who should get the Ouroboros logo I don't know. The Python interpreter part of course. Cheers, Carl Friedrich From anto.cuni at gmail.com Mon Oct 19 15:09:41 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 15:09:41 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC640B.2040705@gmx.de> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> Message-ID: <4ADC6515.2020100@gmail.com> Carl Friedrich wrote: > While I agree, to do this we would have to come up with a name for the > translation toolchain part. And coming up with names is even harder than > coming up with logos. it's also unclear how to split the sources: e.g., pypy/interpreter/ belongs to both. From cfbolz at gmx.de Mon Oct 19 15:10:46 2009 From: cfbolz at gmx.de (Carl Friedrich) Date: Mon, 19 Oct 2009 15:10:46 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6515.2020100@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <4ADC6515.2020100@gmail.com> Message-ID: <4ADC6556.2040603@gmx.de> Antonio Cuni wrote: > Carl Friedrich wrote: > >> While I agree, to do this we would have to come up with a name for the >> translation toolchain part. And coming up with names is even harder >> than coming up with logos. > > it's also unclear how to split the sources: e.g., pypy/interpreter/ > belongs to both. Yes, but I think something can be worked out there. Technical problems have a solution, but discussing the name can take arbitrarily long. Cheers, Carl Friedrich From holger at merlinux.eu Mon Oct 19 15:21:33 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 15:21:33 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC640B.2040705@gmx.de> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> Message-ID: <20091019132133.GQ29141@trillke.net> On Mon, Oct 19, 2009 at 15:05 +0200, Carl Friedrich wrote: > Leonardo Santagada wrote: > > On Oct 19, 2009, at 9:08 AM, Victor Stinner wrote: > >> Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : > >>> The current PyPy logo seems kind of plain. And Ouroboros is a > >>> symbol of > >>> snake biting its tail and represents a cycle, a re-creation of > >>> itself, or a > >>> self-reference. Which would fit nicely in the PyPy logo. > >> I read somewhere that PyPy is no more a project dedicated to Python, > >> but it's > >> a little bit more generic. If the project is splitted in two parts > >> (generic > >> compiler + python interpreter), Ouroboros would be the logo of the > >> python > >> interpreter, right? > > > > Separating the pypy translator/compiler from the pypy python > > interpreter (preferably with different names) is something I would > > love to see happen. The first thing you have to say to someone when > > explaining pypy is "pypy is two completely different (but related) > > things..." so different logos and names would help a lot. > > While I agree, to do this we would have to come up with a name for the > translation toolchain part. And coming up with names is even harder than > coming up with logos. but it shouldn't fail just because we are afraid of a naming discussion. I suggest a termination criterium for the discussion like the next sprint meetup in Duesseldorf (6th till 13th October) and have attendants agree / vote with or without prior beers. > > But who should get the Ouroboros logo I don't know. > > The Python interpreter part of course. yip. so we need a name for our super-powered ultra-flexible translator. cheers, holger From holger at merlinux.eu Mon Oct 19 15:26:07 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 15:26:07 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6515.2020100@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <4ADC6515.2020100@gmail.com> Message-ID: <20091019132607.GR29141@trillke.net> On Mon, Oct 19, 2009 at 15:09 +0200, Antonio Cuni wrote: > Carl Friedrich wrote: > > > While I agree, to do this we would have to come up with a name for the > > translation toolchain part. And coming up with names is even harder than > > coming up with logos. > > it's also unclear how to split the sources: e.g., pypy/interpreter/ belongs to > both. > the interpreter is needed for abstract interpretation, true - but does it maybe make sense to eventually decouple these rpython analysis capabilities from how/which Python version/bytecodes are implemented for our Python interpreter offering? best, holger From anto.cuni at gmail.com Mon Oct 19 15:33:13 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 15:33:13 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019132607.GR29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <4ADC6515.2020100@gmail.com> <20091019132607.GR29141@trillke.net> Message-ID: <4ADC6A99.7060503@gmail.com> holger krekel wrote: > the interpreter is needed for abstract interpretation, true - > but does it maybe make sense to eventually decouple these rpython > analysis capabilities from how/which Python version/bytecodes > are implemented for our Python interpreter offering? it's probably possible, but I don't think it's easy unless you want to duplicate a lot of code From anto.cuni at gmail.com Mon Oct 19 15:34:09 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 15:34:09 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019132133.GQ29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> Message-ID: <4ADC6AD1.5030101@gmail.com> holger krekel wrote: > yip. so we need a name for our super-powered ultra-flexible translator. dynajite: - it's for dynamic languages - it provides you a jit - it makes your head explode :-) From holger at merlinux.eu Mon Oct 19 15:34:20 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 15:34:20 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <200910191308.26255.victor.stinner@haypocalc.com> References: <200910191308.26255.victor.stinner@haypocalc.com> Message-ID: <20091019133420.GS29141@trillke.net> On Mon, Oct 19, 2009 at 13:08 +0200, Victor Stinner wrote: > Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : > > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > > snake biting its tail and represents a cycle, a re-creation of itself, or a > > self-reference. Which would fit nicely in the PyPy logo. > > I read somewhere that PyPy is no more a project dedicated to Python, but it's > a little bit more generic. If the project is splitted in two parts (generic > compiler + python interpreter), Ouroboros would be the logo of the python > interpreter, right? it's even more than two parts: - PyPy the Python Interpreter - XXX the rpython-to-whatever translator and jit-generator - pyrolog, spy, gameboy and other VMs using the translator the VMs could live in one bunch or separate as they wish, i'd think. best, holger From holger at merlinux.eu Mon Oct 19 15:36:39 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 15:36:39 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6AD1.5030101@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> Message-ID: <20091019133639.GT29141@trillke.net> On Mon, Oct 19, 2009 at 15:34 +0200, Antonio Cuni wrote: > holger krekel wrote: > > > yip. so we need a name for our super-powered ultra-flexible translator. > > dynajite: > > - it's for dynamic languages > - it provides you a jit > - it makes your head explode :-) nice one :) holger From santagada at gmail.com Mon Oct 19 16:40:47 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Mon, 19 Oct 2009 12:40:47 -0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6AD1.5030101@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> Message-ID: On Oct 19, 2009, at 11:34 AM, Antonio Cuni wrote: > holger krekel wrote: > >> yip. so we need a name for our super-powered ultra-flexible >> translator. > > dynajite: > > - it's for dynamic languages > - it provides you a jit > - it makes your head explode :-) nice :) The logo could be dynamite inspired too :) Although I think that the interpreter being named PyPy still makes reference for a python interpreter running on top of python, so maybe the interpreter could have another name and PyPy could be the name of the umbrella project for dynajite + all interpreters. But it is just an idea, feel free to not listen to me. Being able to say that pypy is a python interpreter that is translated by dinajite is a big step forward in making things clear. Another point is that I don't really think there is any need to separate the sources as antonio sugested, separating things conceptually is enough. -- Leonardo Santagada santagada at gmail.com From cfbolz at gmx.de Mon Oct 19 17:24:34 2009 From: cfbolz at gmx.de (Carl Friedrich) Date: Mon, 19 Oct 2009 17:24:34 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6AD1.5030101@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> Message-ID: <4ADC84B2.7070609@gmx.de> Antonio Cuni wrote: > holger krekel wrote: > >> yip. so we need a name for our super-powered ultra-flexible translator. > > dynajite: > > - it's for dynamic languages > - it provides you a jit > - it makes your head explode :-) Funny, but not really a name I would seriously consider. Sounds too much like shite... Cheers, Carl Friedrich From victor.stinner at haypocalc.com Mon Oct 19 19:09:57 2009 From: victor.stinner at haypocalc.com (Victor Stinner) Date: Mon, 19 Oct 2009 19:09:57 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> Message-ID: <200910191909.57984.victor.stinner@haypocalc.com> Ok, I found where a read a proposition of splitting PyPy in two parts: http://www.logilab.org/blogentry/9853 This blog entry proposes the name gcgc (or "GcGc"): "the Generic Compiler for Generating Compilers" The name is similar to YACC (Yet Another Compiler Compiler). Le lundi 19 octobre 2009 14:38:37, vous avez ?crit : > But who should get the Ouroboros logo I don't know. Most Python projects starts with "py", so PyPy should be the name of the Python interpreter. Ouroboros is a snake so it should be the logo of PyPy (the Python part). -- Victor Stinner http://www.haypocalc.com/ From holger at merlinux.eu Mon Oct 19 19:12:26 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 19:12:26 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC84B2.7070609@gmx.de> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> Message-ID: <20091019171225.GX29141@trillke.net> On Mon, Oct 19, 2009 at 17:24 +0200, Carl Friedrich wrote: > Antonio Cuni wrote: > > holger krekel wrote: > > > >> yip. so we need a name for our super-powered ultra-flexible translator. > > > > dynajite: > > > > - it's for dynamic languages > > - it provides you a jit > > - it makes your head explode :-) > > Funny, but not really a name I would seriously consider. Sounds too much > like shite... maybe, anyone any other ideas? holger From lac at openend.se Mon Oct 19 19:17:59 2009 From: lac at openend.se (Laura Creighton) Date: Mon, 19 Oct 2009 19:17:59 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: Message from Victor Stinner of "Mon, 19 Oct 2009 19:09:57 +0200." <200910191909.57984.victor.stinner@haypocalc.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <200910191909.57984.victor.stinner@haypocalc.com> Message-ID: <200910191717.n9JHHxJH032037@theraft.openend.se> In a message of Mon, 19 Oct 2009 19:09:57 +0200, Victor Stinner writes: >Ok, I found where a read a proposition of splitting PyPy in two parts: > > http://www.logilab.org/blogentry/9853 > >This blog entry proposes the name gcgc (or "GcGc"): > > "the Generic Compiler for Generating Compilers" > >The name is similar to YACC (Yet Another Compiler Compiler). GC says 'garbage collector' to me ... Laura From olivier.dormond at gmail.com Mon Oct 19 19:18:26 2009 From: olivier.dormond at gmail.com (Olivier Dormond) Date: Mon, 19 Oct 2009 19:18:26 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019171225.GX29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> Message-ID: Hi all, On Mon, Oct 19, 2009 at 7:12 PM, holger krekel wrote: > On Mon, Oct 19, 2009 at 17:24 +0200, Carl Friedrich wrote: >> Antonio Cuni wrote: >> > holger krekel wrote: >> > >> >> yip. ?so we need a name for our super-powered ultra-flexible translator. >> > >> > dynajite: >> > >> > ? - it's for dynamic languages >> > ? - it provides you a jit >> > ? - it makes your head explode :-) >> >> Funny, but not really a name I would seriously consider. Sounds too much >> like shite... > > maybe, anyone any other ideas? Well, let's throw in this one: PyCT for Python Compiler Toolchain. Cheers, Odie From anto.cuni at gmail.com Mon Oct 19 20:19:11 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 20:19:11 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC84B2.7070609@gmx.de> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> Message-ID: <4ADCAD9F.4020406@gmail.com> Carl Friedrich wrote: >> dynajite: >> >> - it's for dynamic languages >> - it provides you a jit >> - it makes your head explode :-) > > Funny, but not really a name I would seriously consider. Sounds too much > like shite... uhm, my italian mind would never pronounce dynajite like that, but maybe native speakers of other languages think differently, I don't know. To mitigate this, we could simply drop the 'e' at the end: 'dynajit', but I agree that it's much more boring. About other names, the most obvious and boring alternative is rpyc (for rpython compiler), but I don't like it too much. ciao, Anto From van.lindberg at gmail.com Tue Oct 20 04:32:39 2009 From: van.lindberg at gmail.com (VanL) Date: Mon, 19 Oct 2009 21:32:39 -0500 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019133420.GS29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <20091019133420.GS29141@trillke.net> Message-ID: <4ADD2147.7040207@gmail.com> > - XXX the rpython-to-whatever translator and jit-generator Maybe this is too obscure, but this part could be "turtle", for the world turtle.[1] http://en.wikipedia.org/wiki/Turtles_all_the_way_down#Origin "Turtles all the way down" is to my mind somewhat appropriate for PyPy's translator toolchain. Thanks, Van From tobami at googlemail.com Tue Oct 20 09:44:51 2009 From: tobami at googlemail.com (Miquel Torres) Date: Tue, 20 Oct 2009 09:44:51 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADD2147.7040207@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <20091019133420.GS29141@trillke.net> <4ADD2147.7040207@gmail.com> Message-ID: Turtle would be really nice if it were not for it's negative speed connotations ;-) Cheers, Miquel 2009/10/20 VanL > > > - XXX the rpython-to-whatever translator and jit-generator > > Maybe this is too obscure, but this part could be "turtle", for the > world turtle.[1] > > http://en.wikipedia.org/wiki/Turtles_all_the_way_down#Origin > > "Turtles all the way down" is to my mind somewhat appropriate for PyPy's > translator toolchain. > > Thanks, > > Van > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091020/e8bd39e3/attachment.htm From pedronis at openend.se Tue Oct 20 11:19:05 2009 From: pedronis at openend.se (Samuele Pedroni) Date: Tue, 20 Oct 2009 11:19:05 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019171225.GX29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> Message-ID: <4ADD8089.4090406@openend.se> holger krekel wrote: > > > maybe, anyone any other ideas? > with Carl we considered yesterday: - vmribo from contracting ribosome and - vmdjinn From holger at merlinux.eu Tue Oct 20 11:42:42 2009 From: holger at merlinux.eu (holger krekel) Date: Tue, 20 Oct 2009 11:42:42 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADD8089.4090406@openend.se> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> Message-ID: <20091020094242.GC29141@trillke.net> On Tue, Oct 20, 2009 at 11:19 +0200, Samuele Pedroni wrote: > holger krekel wrote: > > > > > > maybe, anyone any other ideas? > > > > with Carl we considered yesterday: > > - vmribo from contracting ribosome > > and > > - vmdjinn nice - i like the "djinn" meme - so also throw djynn - which VM do you want to generate today? into the round. From fuzzyman at gmail.com Tue Oct 20 11:54:38 2009 From: fuzzyman at gmail.com (Michael Foord) Date: Tue, 20 Oct 2009 10:54:38 +0100 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091020094242.GC29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> Message-ID: <6f4025010910200254g63c36042o8516f6b59c54bc05@mail.gmail.com> 2009/10/20 holger krekel > On Tue, Oct 20, 2009 at 11:19 +0200, Samuele Pedroni wrote: > > holger krekel wrote: > > > > > > > > > maybe, anyone any other ideas? > > > > > > > with Carl we considered yesterday: > > > > - vmribo from contracting ribosome > > > > and > > > > - vmdjinn > > nice - i like the "djinn" meme - so also throw > > djynn - which VM do you want to generate today? > I like PICT - Python Interpreter Compiler Toolchain. There is already a PICT (microcontrollers I think) so what about: PyCT: Python Compiler Toolchain. Michael > > into the round. > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- http://www.ironpythoninaction.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091020/22229d95/attachment.htm From holger at merlinux.eu Tue Oct 20 13:46:18 2009 From: holger at merlinux.eu (holger krekel) Date: Tue, 20 Oct 2009 13:46:18 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <6f4025010910200254g63c36042o8516f6b59c54bc05@mail.gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> <6f4025010910200254g63c36042o8516f6b59c54bc05@mail.gmail.com> Message-ID: <20091020114618.GE29141@trillke.net> Hi Michael, On Tue, Oct 20, 2009 at 10:54 +0100, Michael Foord wrote: > 2009/10/20 holger krekel > > > On Tue, Oct 20, 2009 at 11:19 +0200, Samuele Pedroni wrote: > > > holger krekel wrote: > > > > > > > > > > > > maybe, anyone any other ideas? > > > > > > > > > > with Carl we considered yesterday: > > > > > > - vmribo from contracting ribosome > > > > > > and > > > > > > - vmdjinn > > > > nice - i like the "djinn" meme - so also throw > > > > djynn - which VM do you want to generate today? > > > > I like PICT - Python Interpreter Compiler Toolchain. > > There is already a PICT (microcontrollers I think) so what about: > > PyCT: Python Compiler Toolchain. For the Translator tool chain i suggest to avoid a "Py" prefix and also avoid the "python compiler" association. Here's why: * I'd like to encourage VM develop??ers who identify with other languages to consider using the "xxx" tool chain instead of C/JVM/NET to implement their VM. * "Compiling Python" easily stirs the misconception that the focus is on statically compiling Python apps. best, holger From benjamin at python.org Tue Oct 20 15:43:48 2009 From: benjamin at python.org (Benjamin Peterson) Date: Tue, 20 Oct 2009 08:43:48 -0500 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091020114618.GE29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> <6f4025010910200254g63c36042o8516f6b59c54bc05@mail.gmail.com> <20091020114618.GE29141@trillke.net> Message-ID: <1afaf6160910200643u559f0418n289502dc35531bb6@mail.gmail.com> 2009/10/20 holger krekel : > Hi Michael, > > On Tue, Oct 20, 2009 at 10:54 +0100, Michael Foord wrote: >> 2009/10/20 holger krekel >> >> > On Tue, Oct 20, 2009 at 11:19 +0200, Samuele Pedroni wrote: >> > > holger krekel wrote: >> > > > >> > > > >> > > > maybe, anyone any other ideas? >> > > > >> > > >> > > with Carl we considered yesterday: >> > > >> > > - vmribo ?from contracting ribosome >> > > >> > > and >> > > >> > > - vmdjinn >> > >> > nice - i like the "djinn" meme - so also throw >> > >> > ? ?djynn - which VM do you want to generate today? >> > >> >> I like PICT - Python Interpreter Compiler Toolchain. >> >> There is already a PICT (microcontrollers I think) so what about: >> >> PyCT: Python Compiler Toolchain. > > For the Translator tool chain i suggest to avoid a "Py" prefix and > also avoid the "python compiler" association. Here's why: > > * I'd like to encourage VM develop??ers who identify with other languages > ?to consider using the "xxx" tool chain instead of C/JVM/NET to > ?implement their VM. > > * "Compiling Python" easily stirs the misconception that the > ?focus is on statically compiling Python apps. We could just call it "rpython", since that's what it is. -- Regards, Benjamin From anto.cuni at gmail.com Tue Oct 20 16:17:05 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Tue, 20 Oct 2009 16:17:05 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091020094242.GC29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> Message-ID: <58e316a40910200717t6ea152cbk69ba4fd4bbdbc464@mail.gmail.com> On Tue, Oct 20, 2009 at 11:42 AM, holger krekel wrote: >> - vmdjinn > > nice - i like the "djinn" meme - so also throw > > ? ?djynn - which VM do you want to generate today? I think that both vmdjinn and djynn are almost impossible to pronunciate. Btw, I think I miss what they mean and/or refer to. Are they acronyms? From anto.cuni at gmail.com Tue Oct 20 16:41:33 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Tue, 20 Oct 2009 16:41:33 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> <58e316a40910200717t6ea152cbk69ba4fd4bbdbc464@mail.gmail.com> Message-ID: <4ADDCC1D.2030802@gmail.com> R. David Murray wrote: > http://en.wikipedia.org/wiki/Djinn > > Once you know how to pronounce the reference, the proposed names become > easier to pronounce. ahah, now everything it's much clearer, thanks! And yes, I like it :-) From rdmurray at bitdance.com Tue Oct 20 16:34:00 2009 From: rdmurray at bitdance.com (R. David Murray) Date: Tue, 20 Oct 2009 10:34:00 -0400 (EDT) Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <58e316a40910200717t6ea152cbk69ba4fd4bbdbc464@mail.gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> <58e316a40910200717t6ea152cbk69ba4fd4bbdbc464@mail.gmail.com> Message-ID: On Tue, 20 Oct 2009 at 16:17, Antonio Cuni wrote: > On Tue, Oct 20, 2009 at 11:42 AM, holger krekel wrote: > >>> - vmdjinn >> >> nice - i like the "djinn" meme - so also throw >> >> ? ?djynn - which VM do you want to generate today? > > I think that both vmdjinn and djynn are almost impossible to > pronunciate. Btw, I think I miss what they mean and/or refer to. Are > they acronyms? http://en.wikipedia.org/wiki/Djinn Once you know how to pronounce the reference, the proposed names become easier to pronounce. --David (RDM) From holger at merlinux.eu Wed Oct 21 15:14:25 2009 From: holger at merlinux.eu (holger krekel) Date: Wed, 21 Oct 2009 15:14:25 +0200 Subject: [pypy-dev] virtualization migration Message-ID: <20091021131424.GO29141@trillke.net> Hi all, i am currently setting up a new Ubuntu host with KVM virtualization. The first VM runs speed.pypy.org for Miquel's work. I'd like to migrate over codespeak.net which is running Gentoo in a XEN domain. If you can answer possibly related questions or are interested you are welcome to hang around #codespeak on freenode IRC. holger From van.lindberg at gmail.com Thu Oct 22 00:32:51 2009 From: van.lindberg at gmail.com (VanL) Date: Wed, 21 Oct 2009 17:32:51 -0500 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019133420.GS29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <20091019133420.GS29141@trillke.net> Message-ID: <4ADF8C13.7000601@gmail.com> holger krekel wrote: > it's even more than two parts: > > - PyPy the Python Interpreter > - XXX the rpython-to-whatever translator and jit-generator Thinking about this more, why not PyPy the Python Interpreter and Ouroborus the rpython-to-whatever translator and jit-generator? Having the interpreter class in both would be representative of the snake devouring itself. Thanks, Van From victor.stinner at haypocalc.com Thu Oct 22 01:43:07 2009 From: victor.stinner at haypocalc.com (Victor Stinner) Date: Thu, 22 Oct 2009 01:43:07 +0200 Subject: [pypy-dev] JIT Benchmark on my project Hachoir Message-ID: <200910220143.07843.victor.stinner@haypocalc.com> Hi, I tried PyPy with JIT on my project Hachoir: extract metadata from MP3, FLAC, PNG, ... files. Results (lowest time on 5 runs): - CPython 2.5.4: 311 ms - CPython trunk (rev 75588, 2.7a0): 282 ms - PyPy JIT (rev 68646): 817 ms I tried PyPy (without JIT) some months ago and the result were similar. I'm using Debain Sid on a Pentium4 @ 3.0 GHz with 2 GB of memory. --- If you would like to reproduce the benchmark, download Hachoir (http://bitbucket.org/haypo/hachoir/) and run: hachoir-metadata --bench ~/testcase/{usa_railroad.jpg,logo-kubuntu.png, 08lechat_hq_fr.mp3,hotel_california.flac,matrix_ping_pong.wmv}" Files come from http://hachoir.tuxfamily.org/testcase/ -- Victor Stinner http://www.haypocalc.com/ From jsmiller at seas.upenn.edu Mon Oct 26 16:07:28 2009 From: jsmiller at seas.upenn.edu (Jordan Miller) Date: Mon, 26 Oct 2009 11:07:28 -0400 Subject: [pypy-dev] problems compiling on os x snow leopard Message-ID: Hi, I've previously used psyco (pypy's ancestor) with great success, but had trouble building it on OS X snow leopard. So I'm trying to build PyPy instead, but getting lots of build errors (see below). Please advise on what I should try next (maybe PyPy 1.1 instead of compiling from the subversion repo?). Thanks! I noticed on: http://morepypy.blogspot.com/ that people have gotten it to compile on os x before. Could anyone post the pypy-c binary somewhere for me to test/use? Very much appreciated. Jordan % python translate.py --opt=3 targetpypystandalone.py [translation:info] Translating target as defined by targetpypystandalone [platform:msg] Setting platform to 'host' cc=None [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_0.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_0.o [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/module_cache/module_0.c -o /var/folders/q1/ q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ module_0.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_0.o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/module_0.o -mmacosx- version-min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/ usession-dist-6/platcheck_0 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_1.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_1.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_1.o -lssl -lcrypto -mmacosx-version- min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- dist-6/platcheck_1 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_2.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_2.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_2.o -lssl -lcrypto -mmacosx-version- min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- dist-6/platcheck_2 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_3.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_3.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_3.o -lexpat -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_3 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_4.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_4.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_4.o -lexpat -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_4 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_5.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_5.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_6.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_6.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6 [platform:ERROR] Undefined symbols: [platform:ERROR] "_mremap", referenced from: [platform:ERROR] _main in platcheck_6.o [platform:ERROR] ld: symbol(s) not found [platform:ERROR] collect2: ld returned 1 exit status [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic -I/usr/include/ffi /var/folders/q1/ q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_7.c -o / var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_7.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_7.o -lffi -ldl -mmacosx-version- min=10.4 -I/usr/include/ffi -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ +Tg/-Tmp-/usession-dist-6/platcheck_7 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_8.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_8.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_8.o -lz -mmacosx-version-min=10.4 -o / var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_8 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_9.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_9.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_9.o -lz -mmacosx-version-min=10.4 -o / var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_9 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_10.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_10.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_10.o -lz -mmacosx-version-min=10.4 -o / var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_10 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_11.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_11.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_11.o -lbz2 -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_11 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_12.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_12.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_12.o -lbz2 -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_12 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_13.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_13.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_13.o -lbz2 -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_13 [translation] PyPy config object: [translation] [objspace] [translation] compiler = ast [translation] nofaking = True [translation] [opcodes] [translation] CALL_LIKELY_BUILTIN = True [translation] CALL_METHOD = True [translation] [std] [translation] builtinshortcut = True [translation] getattributeshortcut = True [translation] optimized_list_getitem = True [translation] withmethodcache = True [translation] withmultidict = True [translation] withprebuiltchar = True [translation] withrangelist = True [translation] withshadowtracking = True [translation] withtypeversion = True [translation] [usemodules] [translation] __pypy__ = True [translation] _codecs = True [translation] _lsprof = True [translation] _minimal_curses = True [translation] _pickle_support = True [translation] _random = True [translation] _rawffi = True [translation] _socket = True [translation] _sre = True [translation] _ssl = True [translation] _weakref = True [translation] bz2 = True [translation] cStringIO = True [translation] crypt = True [translation] dyngram = True [translation] errno = True [translation] fcntl = True [translation] gc = True [translation] itertools = True [translation] marshal = True [translation] math = True [translation] md5 = True [translation] mmap = True [translation] operator = True [translation] posix = True [translation] pyexpat = True [translation] rctime = True [translation] recparser = True [translation] select = True [translation] sha = True [translation] signal = True [translation] struct = True [translation] symbol = True [translation] termios = True [translation] thread = True [translation] time = True [translation] unicodedata = True [translation] zipimport = True [translation] zlib = True [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_14.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_14.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_14.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_14 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_15.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_15.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_15.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_15 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_24.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_24.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_24.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_24 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ module_cache/module_1.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ +Tg/-Tmp-/usession-dist-6/module_cache/module_1.o [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ module_1.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod.so [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ module_cache/module_2.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ +Tg/-Tmp-/usession-dist-6/module_cache/module_2.o [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ module_2.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod_0.so [geninterp:WARNING] skipped classmethod: > [translation] translate.py configuration: [translation] [translate] [translation] opt = 3 [translation] targetspec = targetpypystandalone [translation] translation configuration: [translation] [translation] [translation] [backendopt] [translation] remove_asserts = True [translation] gc = hybrid [translation] gctransformer = framework [translation] list_comprehension_operations = True [translation] profopt = -c 'from richards import main;main(); from test import pystone; pystone.main()' [translation] rweakref = True [translation] stackless = False [translation] thread = True [translation] withsmallfuncsets = 5 [translation:info] Annotating&simplifying... [translation:info] with policy: pypy.translator.goal.ann_override.PyPyAnnotatorPolicy [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_25.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_25.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_25.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_25 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_26.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_26.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_26.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_26 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_27.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_27.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_27.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_27 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_28.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_28.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_28.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_28 ........................++++++++++++++++++++++++++++*********%%%%#%## %*************** [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_29.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_29.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_29.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_29 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_30.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_30.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_30.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_30 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_31.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_31.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_31.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_31 ........................++++++++++++++++++++++++++++*********%%%%#%## %*******************++++++++ ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% %%**********************++ .............++++++++++++++++************************%%%%%#%########### %%%%%********************* .........+++++++++++++*****************************%%%%%% %##############%%%%%%******************* ......++++++++++*********************************%%%%%%% %################%%%%%%******%*********** ...+++++++++******************%%%%%%%%%%%%%%%####### %########################%%%%%%%%##%********* .++++++++**************%%%%%%%%%%%%%%%%%%%%% %#########################################%%%******** +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% %#########################################%%%%%%%**** +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% %############################################%%%%%%%%%** +++*********%%%%#%%%%%%%%#%%%%%#####%% %####################################################%%%%%% ++********%%%%%%%% %#####################################################################% %%%%%%%% +********%%%%%%% %#########################################################################%%%%%%% *******%%#% %############################################################################%%%%%%%%% %*****%% %#############################################################################%%%%%%%%%%% ######################################################################################%%%%%%%%%%% %*****%% %#############################################################################%%%%%%%%%%% *******%%#% %############################################################################%%%%%%%%% +********%%%%%%% %#########################################################################%%%%%%% ++********%%%%%%%% %#####################################################################% %%%%%%%% +++*********%%%%#%%%%%%%%#%%%%%#####%% %####################################################%%%%%% +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% %############################################%%%%%%%%%** +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% %#########################################%%%%%%%**** .++++++++**************%%%%%%%%%%%%%%%%%%%%% %#########################################%%%******** ...+++++++++******************%%%%%%%%%%%%%%%####### %########################%%%%%%%%##%********* ......++++++++++*********************************%%%%%%% %################%%%%%%******%*********** .........+++++++++++++*****************************%%%%%% %##############%%%%%%******************* .............++++++++++++++++************************%%%%%#%########### %%%%%********************* ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% %%**********************++ +++++++++++***************************************++++++++++.#%**** +............................. ++++++++*********************************************++++++++*%%#%%** +...+++++.%.**.............. +++++***********************%%%%%%%%%%%%%%**************++++**%%##%%**+ +**%%%%%%%*#%+............ +++*******************%%%%%%%%%%%%%%%%%%%%%%%%%***********+++**%*%%*+ +***%#%##%**+............... +******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************++**%%%* %********+................ *****************%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%*****%%%%%%*#%** %****+++++++................ ***************%%%%%%%%%%%%%%%##############%%%%%%%%%%***%%####%#*++** %##%*%******+++............ *******%*******%%%%%%%%%%%%%##################%%###%%%%%#**%%%***++ +*****%%%%%%%%%**++........... ********%%%***%%%%%%%%%%%%%####################%%%%%%%%**%****++++ +*****%%%#####%%%**++*......... *************#%%%#%%%%%###%%###################%%%%%%%#*******++++ +*****%%%%%##%%%*%*+%*++....... %%%%%%****%##%*%%%%%%%%###%%%#################%%%%%%%%%*******++++++ +**************++*#+++....... %%%%%%%%%%#****%%%%%%%%%%%%%%%%############%%%%%%%%%%%********+++++++++ ++++++++++++**%##*+....... ######%%%%%%*****%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%*********+++++++... +++++........++++#%....... #######%%%%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********++++++ +....................%......... ######%%%%%***********%%%%%%%%%%%%%%%%%%%%%%%%%***********+++++++ +............................... %%%%%%%%%%*****************%%%%%%%%%%%%%%%**************+++++++ +................................. %%%%%%************************************************++++++++ +.................................. ***************************************************+++++++++ +.................................... ******++++++***********************************+++++++++++ +...................................... ++++++++++++++++++***********************+++++++++++++++ +........................................ *++*****++++++++++++++++++++++++++++++++++++++++++++++ +.......................................... ****************+++++++++++++++++++++++++++++++++++ +............................................. *%*%*%%************+++++++++++++++++++++++++++++++++ +............................................ *%%%%%%%%%%%%%%******+++++++++++++++++++++++++++++++++++ +........................................ %%%%#%%%%%%%%%%%%********************++++++++++++++++++++++ +..................................... %%%%##########%%%%***************************++++++++++++++++ +................................... %%%%##########%%%%%********%##*******************++++++++++++++ +................................. %%%%%%######%%%%%%*******%#%*************************++++++++++++ +............................... .........+*%#%*+.#.....................................++++++++++++++++ ++++++++++++++++++++++++++ ........+++***%***+++++...........................+++++++++++++++++++++ ++++++++++++++++++++++++++ ......++***%%%%#%%****++++....................+++++++++++++++++++++++++ ++++++++++++++++*+++++++++ .....++***%%#####%%%***++++..............++++++++++++++++++++++++++++++ ++++++++++++++++#+++++++++ .....++***%%%%##%%%%***++++..........++++++++++++++++++++++++++++++++++ +++++++++++++++++*%#*+%+++ .....+++*****%%%%*****+++++.......+++++++++++++++++++++++++++++++++++++ +++++++++++++**%##%%**++++ ....%%++%*%#%%******++++++....+++++++++++++++++++++++++++++++++++++++++ ++++++++++++*%%%%%%******* ..........+**%###%%***++...++++++++++++++++++++++++++++++++++++++++++++ ++++++++++**%%%%********** ..........++*%%%%%%**+++++++++++++++++++++++++#*#%+++++++++++++++++++++ ++++********%#%*********** ............+++%%%%#%*+++++++++++++++++++++++++*++++++++++++++++++++ +****************%%**%%%#*%** .................+**#%#*++*%*###%%%**%%****+++**#%++++++++++++ +****************************%%%%%# ...............++++++++++++++****%%%###%%%%*%%###% %****************************************%%#### ............++++++++++++++++++**%%%#######%%%##%%%%****** %*********************************%%%%%% ..........++++++++++++++++++++**#%%%%%%%%%%%%#%%%%%%%%%%%%%#%%%% %**********************%%%%%%%%## .......++++++++++++++++++++++++******%%%%%%%%%######%%%%%#%%#%%%%%%%%% %*%#*********%%%%%%##%##### .....++++++++++++++++++++++++*********%#%%##################%%%%%%%%%%% %%%%#%***%%%%%%%%%%####### ...++++++++++++++++++++++++********%%%%%%%%###################%%%%%%%%% %%%%######%%%%%%%%######## .++++++++++++++++++++++++********%%%%%%#%%#######################%%%%# %#%%%########%############# ++++++++++++++++++++++++***%##**%%%%##%%###########################%%% %########################## +++++++++++++++++++++++*******%%%%%%%%%%% %####################################################### ++++++++++++++++++++++********%%%%%%%%%% %######################################################## +++++++++++++++++++++*********%%%%%%%%%%% %####################################################### ++++++++++++++++**************%%%%%%%%%%%%% %##################################################### ++++%+++*********************%%#%%%%%%%%%%##% %################################################### +******%#%****************%**%%%%% %############################################################## *********%%%%**********%##%%%%%%%%% %############################################################# *****************%####%%%%% %##################################################################### *******************### %########################################################################## ....+%+.%.....................................+*+. +.............................................. .+*%#%*+.....................................+ +****.............................................. ++%%***+++++++++++#+++++++...................+*#%%* +............................................. *+%%*******************+++++++.......++++++****+***** +........................................... ++*%##%***%%%%%%%%%%*******++++++.++*+****%%%%%%%%**++ +.............................%+........... +*****%%%%%%%%%%%%%%%%%******+++++++****%%%#####%%%***+ +............................*%........... *****%%%%%#########%%%%%%******++++****%%%%%####%%%***++ +.....................%*%%#%%............ *****%%%%%##########%%%%%**#****+++#***%%%%%%%%%%%****+++++++++++++++++ ++++%**%*+%+++++++........ *****%%%%%%%#####%%%%%#%%%%#%%#**+++**%###%%*********++++++++++++++++++ ++%***++++++++++++++++++++ ******%%%%%%%%%%%%%%%%%#%####%%%***+*##%%*********+++++++++++++++++++++ ++++#+*+++++++++++++++++++ ++*******%%%%%%%%%%%%***%%%%%%%%#%%%#++++++++++++++++++%+*+++++++++++++ ++++++*%++++++++++++++++++ #**%%*%************************%*++**%#%%%************%******* [Timer] Timings: [Timer] annotate --- 352.3 s [Timer] ========================================== [Timer] Total: --- 352.3 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "translate.py", line 273, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/translator/driver.py", line 704, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip()) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/translator/tool/taskengine.py", line 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/translator/driver.py", line 267, in _do [translation:ERROR] res = func() [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/translator/driver.py", line 294, in task_annotate [translation:ERROR] s = annotator.build_types(self.entry_point, self.inputtypes) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 99, in build_types [translation:ERROR] return self.build_graph_types(flowgraph, inputcells, complete_now=complete_now) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 190, in build_graph_types [translation:ERROR] self.complete() [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 246, in complete [translation:ERROR] self.processblock(graph, block) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 471, in processblock [translation:ERROR] self.flowin(graph, block) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 531, in flowin [translation:ERROR] self.consider_op(block.operations[i]) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 735, in consider_op [translation:ERROR] raise_nicer_exception(op, str(graph)) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 732, in consider_op [translation:ERROR] resultcell = consider_meth(*argcells) [translation:ERROR] File "", line 3, in consider_op_setattr [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/unaryop.py", line 732, in setattr [translation:ERROR] setattr(example, s_attr.const, v_lltype._defl()) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/rpython/lltypesystem/lltype.py", line 1027, in __setattr__ [translation:ERROR] " got %r" % (self._T, field_name, T1, T2)) [translation:ERROR] TypeError': instance field 'c_tv_usec': [translation:ERROR] expects [translation:ERROR] got [translation:ERROR] .. v724 = setattr(v722, ('c_tv_usec'), v723) [translation:ERROR] .. '(pypy.rlib.rpoll:75)select' [translation:ERROR] Processing block: [translation:ERROR] block at 421 is a [translation:ERROR] in (pypy.rlib.rpoll:75)select [translation:ERROR] containing the following operations: [translation:ERROR] v722 = call_args((function malloc), ((1, ('flavor',), False, False)), (Struct timeval), ('raw')) [translation:ERROR] v725 = simple_call ((builtin_function_or_method fmod), timeout_0, (1.0)) [translation:ERROR] v726 = simple_call((type int), timeout_0) [translation:ERROR] v727 = setattr(v722, ('c_tv_sec'), v726) [translation:ERROR] v728 = simple_call((type int), timeout_0) [translation:ERROR] v729 = sub(timeout_0, v728) [translation:ERROR] v730 = mul(v729, (1000000.0)) [translation:ERROR] v723 = simple_call((type int), v730) [translation:ERROR] v724 = setattr(v722, ('c_tv_usec'), v723) [translation:ERROR] --end-- [translation] start debugger... > /Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/rpython/ lltypesystem/lltype.py(1027)__setattr__() -> " got %r" % (self._T, field_name, T1, T2)) (Pdb+) (Pdb+) exit() From glavoie at gmail.com Tue Oct 27 18:45:50 2009 From: glavoie at gmail.com (Gabriel Lavoie) Date: Tue, 27 Oct 2009 13:45:50 -0400 Subject: [pypy-dev] problems compiling on os x snow leopard In-Reply-To: References: Message-ID: Hello Jordan, are you trying to build the trunk? I submitted recently a patch to solve build problems with Snow Leopard (64 bits related). fijal is supposed to have commited it to the trunk. Gabriel 2009/10/26 Jordan Miller : > Hi, > > I've previously used psyco (pypy's ancestor) with great success, but > had trouble building it on OS X snow leopard. So I'm trying to build > PyPy instead, but getting lots of build errors (see below). Please > advise on what I should try next (maybe PyPy 1.1 instead of compiling > from the subversion repo?). Thanks! > > I noticed on: http://morepypy.blogspot.com/ that people have gotten it > to compile on os x before. Could anyone post the pypy-c binary > somewhere for me to test/use? Very much appreciated. > > Jordan > > > > % python translate.py --opt=3 targetpypystandalone.py > > [translation:info] Translating target as defined by targetpypystandalone > [platform:msg] Setting platform to 'host' cc=None > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_0.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_0.o > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/module_cache/module_0.c -o /var/folders/q1/ > q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ > module_0.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_0.o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/module_0.o -mmacosx- > version-min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/ > usession-dist-6/platcheck_0 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_1.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_1.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_1.o -lssl -lcrypto -mmacosx-version- > min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- > dist-6/platcheck_1 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_2.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_2.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_2.o -lssl -lcrypto -mmacosx-version- > min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- > dist-6/platcheck_2 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_3.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_3.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_3.o -lexpat -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_3 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_4.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_4.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_4.o -lexpat -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_4 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_5.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_5.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_6.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_6.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6 > [platform:ERROR] Undefined symbols: > [platform:ERROR] ? "_mremap", referenced from: > [platform:ERROR] ? ? ? _main in platcheck_6.o > [platform:ERROR] ld: symbol(s) not found > [platform:ERROR] collect2: ld returned 1 exit status > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic -I/usr/include/ffi /var/folders/q1/ > q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_7.c -o / > var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_7.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_7.o -lffi -ldl -mmacosx-version- > min=10.4 -I/usr/include/ffi -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ > +Tg/-Tmp-/usession-dist-6/platcheck_7 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_8.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_8.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_8.o -lz -mmacosx-version-min=10.4 -o / > var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_8 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_9.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_9.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_9.o -lz -mmacosx-version-min=10.4 -o / > var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_9 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_10.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_10.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_10.o -lz -mmacosx-version-min=10.4 -o / > var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_10 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_11.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_11.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_11.o -lbz2 -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_11 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_12.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_12.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_12.o -lbz2 -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_12 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_13.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_13.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_13.o -lbz2 -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_13 > [translation] PyPy config object: > [translation] [objspace] > [translation] ? ? compiler = ast > [translation] ? ? nofaking = True > [translation] ? ? [opcodes] > [translation] ? ? ? ? CALL_LIKELY_BUILTIN = True > [translation] ? ? ? ? CALL_METHOD = True > [translation] ? ? [std] > [translation] ? ? ? ? builtinshortcut = True > [translation] ? ? ? ? getattributeshortcut = True > [translation] ? ? ? ? optimized_list_getitem = True > [translation] ? ? ? ? withmethodcache = True > [translation] ? ? ? ? withmultidict = True > [translation] ? ? ? ? withprebuiltchar = True > [translation] ? ? ? ? withrangelist = True > [translation] ? ? ? ? withshadowtracking = True > [translation] ? ? ? ? withtypeversion = True > [translation] ? ? [usemodules] > [translation] ? ? ? ? __pypy__ = True > [translation] ? ? ? ? _codecs = True > [translation] ? ? ? ? _lsprof = True > [translation] ? ? ? ? _minimal_curses = True > [translation] ? ? ? ? _pickle_support = True > [translation] ? ? ? ? _random = True > [translation] ? ? ? ? _rawffi = True > [translation] ? ? ? ? _socket = True > [translation] ? ? ? ? _sre = True > [translation] ? ? ? ? _ssl = True > [translation] ? ? ? ? _weakref = True > [translation] ? ? ? ? bz2 = True > [translation] ? ? ? ? cStringIO = True > [translation] ? ? ? ? crypt = True > [translation] ? ? ? ? dyngram = True > [translation] ? ? ? ? errno = True > [translation] ? ? ? ? fcntl = True > [translation] ? ? ? ? gc = True > [translation] ? ? ? ? itertools = True > [translation] ? ? ? ? marshal = True > [translation] ? ? ? ? math = True > [translation] ? ? ? ? md5 = True > [translation] ? ? ? ? mmap = True > [translation] ? ? ? ? operator = True > [translation] ? ? ? ? posix = True > [translation] ? ? ? ? pyexpat = True > [translation] ? ? ? ? rctime = True > [translation] ? ? ? ? recparser = True > [translation] ? ? ? ? select = True > [translation] ? ? ? ? sha = True > [translation] ? ? ? ? signal = True > [translation] ? ? ? ? struct = True > [translation] ? ? ? ? symbol = True > [translation] ? ? ? ? termios = True > [translation] ? ? ? ? thread = True > [translation] ? ? ? ? time = True > [translation] ? ? ? ? unicodedata = True > [translation] ? ? ? ? zipimport = True > [translation] ? ? ? ? zlib = True > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_14.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_14.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_14.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_14 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_15.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_15.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_15.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_15 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_24.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_24.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_24.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_24 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ > c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > module_cache/module_1.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ > +Tg/-Tmp-/usession-dist-6/module_cache/module_1.o > [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ > q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ > module_1.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ > MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod.so > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ > c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > module_cache/module_2.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ > +Tg/-Tmp-/usession-dist-6/module_cache/module_2.o > [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ > q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ > module_2.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ > MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod_0.so > [geninterp:WARNING] skipped classmethod: classobj.fromkeys of > > [translation] translate.py configuration: > [translation] [translate] > [translation] ? ? opt = 3 > [translation] ? ? targetspec = targetpypystandalone > [translation] translation configuration: > [translation] [translation] > [translation] ? ? [backendopt] > [translation] ? ? ? ? remove_asserts = True > [translation] ? ? gc = hybrid > [translation] ? ? gctransformer = framework > [translation] ? ? list_comprehension_operations = True > [translation] ? ? profopt = -c 'from richards import main;main(); from > test import pystone; pystone.main()' > [translation] ? ? rweakref = True > [translation] ? ? stackless = False > [translation] ? ? thread = True > [translation] ? ? withsmallfuncsets = 5 > [translation:info] Annotating&simplifying... > [translation:info] with policy: > pypy.translator.goal.ann_override.PyPyAnnotatorPolicy > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_25.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_25.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_25.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_25 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_26.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_26.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_26.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_26 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_27.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_27.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_27.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_27 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_28.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_28.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_28.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_28 > ........................++++++++++++++++++++++++++++*********%%%%#%## > %*************** > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_29.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_29.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_29.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_29 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_30.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_30.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_30.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_30 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_31.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_31.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_31.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_31 > ........................++++++++++++++++++++++++++++*********%%%%#%## > %*******************++++++++ > ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% > %%**********************++ > .............++++++++++++++++************************%%%%%#%########### > %%%%%********************* > .........+++++++++++++*****************************%%%%%% > %##############%%%%%%******************* > ......++++++++++*********************************%%%%%%% > %################%%%%%%******%*********** > ...+++++++++******************%%%%%%%%%%%%%%%####### > %########################%%%%%%%%##%********* > .++++++++**************%%%%%%%%%%%%%%%%%%%%% > %#########################################%%%******** > +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% > %#########################################%%%%%%%**** > +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% > %############################################%%%%%%%%%** > +++*********%%%%#%%%%%%%%#%%%%%#####%% > %####################################################%%%%%% > ++********%%%%%%%% > %#####################################################################% > %%%%%%%% > +********%%%%%%% > %#########################################################################%%%%%%% > *******%%#% > %############################################################################%%%%%%%%% > %*****%% > %#############################################################################%%%%%%%%%%% > ######################################################################################%%%%%%%%%%% > %*****%% > %#############################################################################%%%%%%%%%%% > *******%%#% > %############################################################################%%%%%%%%% > +********%%%%%%% > %#########################################################################%%%%%%% > ++********%%%%%%%% > %#####################################################################% > %%%%%%%% > +++*********%%%%#%%%%%%%%#%%%%%#####%% > %####################################################%%%%%% > +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% > %############################################%%%%%%%%%** > +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% > %#########################################%%%%%%%**** > .++++++++**************%%%%%%%%%%%%%%%%%%%%% > %#########################################%%%******** > ...+++++++++******************%%%%%%%%%%%%%%%####### > %########################%%%%%%%%##%********* > ......++++++++++*********************************%%%%%%% > %################%%%%%%******%*********** > .........+++++++++++++*****************************%%%%%% > %##############%%%%%%******************* > .............++++++++++++++++************************%%%%%#%########### > %%%%%********************* > ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% > %%**********************++ > > +++++++++++***************************************++++++++++.#%**** > +............................. > ++++++++*********************************************++++++++*%%#%%** > +...+++++.%.**.............. > +++++***********************%%%%%%%%%%%%%%**************++++**%%##%%**+ > +**%%%%%%%*#%+............ > +++*******************%%%%%%%%%%%%%%%%%%%%%%%%%***********+++**%*%%*+ > +***%#%##%**+............... > +******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************++**%%%* > %********+................ > *****************%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%*****%%%%%%*#%** > %****+++++++................ > ***************%%%%%%%%%%%%%%%##############%%%%%%%%%%***%%####%#*++** > %##%*%******+++............ > *******%*******%%%%%%%%%%%%%##################%%###%%%%%#**%%%***++ > +*****%%%%%%%%%**++........... > ********%%%***%%%%%%%%%%%%%####################%%%%%%%%**%****++++ > +*****%%%#####%%%**++*......... > *************#%%%#%%%%%###%%###################%%%%%%%#*******++++ > +*****%%%%%##%%%*%*+%*++....... > %%%%%%****%##%*%%%%%%%%###%%%#################%%%%%%%%%*******++++++ > +**************++*#+++....... > %%%%%%%%%%#****%%%%%%%%%%%%%%%%############%%%%%%%%%%%********+++++++++ > ++++++++++++**%##*+....... > ######%%%%%%*****%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%*********+++++++... > +++++........++++#%....... > #######%%%%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********++++++ > +....................%......... > ######%%%%%***********%%%%%%%%%%%%%%%%%%%%%%%%%***********+++++++ > +............................... > %%%%%%%%%%*****************%%%%%%%%%%%%%%%**************+++++++ > +................................. > %%%%%%************************************************++++++++ > +.................................. > ***************************************************+++++++++ > +.................................... > ******++++++***********************************+++++++++++ > +...................................... > ++++++++++++++++++***********************+++++++++++++++ > +........................................ > *++*****++++++++++++++++++++++++++++++++++++++++++++++ > +.......................................... > ****************+++++++++++++++++++++++++++++++++++ > +............................................. > *%*%*%%************+++++++++++++++++++++++++++++++++ > +............................................ > *%%%%%%%%%%%%%%******+++++++++++++++++++++++++++++++++++ > +........................................ > %%%%#%%%%%%%%%%%%********************++++++++++++++++++++++ > +..................................... > %%%%##########%%%%***************************++++++++++++++++ > +................................... > %%%%##########%%%%%********%##*******************++++++++++++++ > +................................. > %%%%%%######%%%%%%*******%#%*************************++++++++++++ > +............................... > > .........+*%#%*+.#.....................................++++++++++++++++ > ++++++++++++++++++++++++++ > ........+++***%***+++++...........................+++++++++++++++++++++ > ++++++++++++++++++++++++++ > ......++***%%%%#%%****++++....................+++++++++++++++++++++++++ > ++++++++++++++++*+++++++++ > .....++***%%#####%%%***++++..............++++++++++++++++++++++++++++++ > ++++++++++++++++#+++++++++ > .....++***%%%%##%%%%***++++..........++++++++++++++++++++++++++++++++++ > +++++++++++++++++*%#*+%+++ > .....+++*****%%%%*****+++++.......+++++++++++++++++++++++++++++++++++++ > +++++++++++++**%##%%**++++ > ....%%++%*%#%%******++++++....+++++++++++++++++++++++++++++++++++++++++ > ++++++++++++*%%%%%%******* > ..........+**%###%%***++...++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++**%%%%********** > ..........++*%%%%%%**+++++++++++++++++++++++++#*#%+++++++++++++++++++++ > ++++********%#%*********** > ............+++%%%%#%*+++++++++++++++++++++++++*++++++++++++++++++++ > +****************%%**%%%#*%** > .................+**#%#*++*%*###%%%**%%****+++**#%++++++++++++ > +****************************%%%%%# > ...............++++++++++++++****%%%###%%%%*%%###% > %****************************************%%#### > ............++++++++++++++++++**%%%#######%%%##%%%%****** > %*********************************%%%%%% > ..........++++++++++++++++++++**#%%%%%%%%%%%%#%%%%%%%%%%%%%#%%%% > %**********************%%%%%%%%## > .......++++++++++++++++++++++++******%%%%%%%%%######%%%%%#%%#%%%%%%%%% > %*%#*********%%%%%%##%##### > .....++++++++++++++++++++++++*********%#%%##################%%%%%%%%%%% > %%%%#%***%%%%%%%%%%####### > ...++++++++++++++++++++++++********%%%%%%%%###################%%%%%%%%% > %%%%######%%%%%%%%######## > .++++++++++++++++++++++++********%%%%%%#%%#######################%%%%# > %#%%%########%############# > ++++++++++++++++++++++++***%##**%%%%##%%###########################%%% > %########################## > +++++++++++++++++++++++*******%%%%%%%%%%% > %####################################################### > ++++++++++++++++++++++********%%%%%%%%%% > %######################################################## > +++++++++++++++++++++*********%%%%%%%%%%% > %####################################################### > ++++++++++++++++**************%%%%%%%%%%%%% > %##################################################### > ++++%+++*********************%%#%%%%%%%%%%##% > %################################################### > +******%#%****************%**%%%%% > %############################################################## > *********%%%%**********%##%%%%%%%%% > %############################################################# > *****************%####%%%%% > %##################################################################### > *******************### > %########################################################################## > > ....+%+.%.....................................+*+. > +.............................................. > .+*%#%*+.....................................+ > +****.............................................. > ++%%***+++++++++++#+++++++...................+*#%%* > +............................................. > *+%%*******************+++++++.......++++++****+***** > +........................................... > ++*%##%***%%%%%%%%%%*******++++++.++*+****%%%%%%%%**++ > +.............................%+........... > +*****%%%%%%%%%%%%%%%%%******+++++++****%%%#####%%%***+ > +............................*%........... > *****%%%%%#########%%%%%%******++++****%%%%%####%%%***++ > +.....................%*%%#%%............ > *****%%%%%##########%%%%%**#****+++#***%%%%%%%%%%%****+++++++++++++++++ > ++++%**%*+%+++++++........ > *****%%%%%%%#####%%%%%#%%%%#%%#**+++**%###%%*********++++++++++++++++++ > ++%***++++++++++++++++++++ > ******%%%%%%%%%%%%%%%%%#%####%%%***+*##%%*********+++++++++++++++++++++ > ++++#+*+++++++++++++++++++ > ++*******%%%%%%%%%%%%***%%%%%%%%#%%%#++++++++++++++++++%+*+++++++++++++ > ++++++*%++++++++++++++++++ > #**%%*%************************%*++**%#%%%************%******* > [Timer] Timings: > [Timer] annotate ? ? ? ? ? ? ? ? ? ? ? --- 352.3 s > [Timer] ========================================== > [Timer] Total: ? ? ? ? ? ? ? ? ? ? ? ? --- 352.3 s > [translation:ERROR] Error: > [translation:ERROR] ?Traceback (most recent call last): > [translation:ERROR] ? ?File "translate.py", line 273, in main > [translation:ERROR] ? ? drv.proceed(goals) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/translator/driver.py", line 704, in proceed > [translation:ERROR] ? ? return self._execute(goals, task_skip = > self._maybe_skip()) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/translator/tool/taskengine.py", line 116, in _execute > [translation:ERROR] ? ? res = self._do(goal, taskcallable, *args, > **kwds) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/translator/driver.py", line 267, in _do > [translation:ERROR] ? ? res = func() > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/translator/driver.py", line 294, in task_annotate > [translation:ERROR] ? ? s = annotator.build_types(self.entry_point, > self.inputtypes) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 99, in build_types > [translation:ERROR] ? ? return self.build_graph_types(flowgraph, > inputcells, complete_now=complete_now) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 190, in build_graph_types > [translation:ERROR] ? ? self.complete() > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 246, in complete > [translation:ERROR] ? ? self.processblock(graph, block) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 471, in processblock > [translation:ERROR] ? ? self.flowin(graph, block) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 531, in flowin > [translation:ERROR] ? ? self.consider_op(block.operations[i]) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 735, in consider_op > [translation:ERROR] ? ? raise_nicer_exception(op, str(graph)) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 732, in consider_op > [translation:ERROR] ? ? resultcell = consider_meth(*argcells) > [translation:ERROR] ? ?File "", line 3, in consider_op_setattr > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/unaryop.py", line 732, in setattr > [translation:ERROR] ? ? setattr(example, s_attr.const, v_lltype._defl()) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/rpython/lltypesystem/lltype.py", line 1027, in __setattr__ > [translation:ERROR] ? ? " ? ?got %r" % (self._T, field_name, T1, T2)) > [translation:ERROR] ?TypeError': c_tv_usec, c__pad0, c__pad1, c__pad2, c__pad3 }> instance field > 'c_tv_usec': > [translation:ERROR] expects > [translation:ERROR] ? ? got > [translation:ERROR] ? ? .. v724 = setattr(v722, ('c_tv_usec'), v723) > [translation:ERROR] ? ? .. '(pypy.rlib.rpoll:75)select' > [translation:ERROR] Processing block: > [translation:ERROR] ?block at 421 is a 'pypy.objspace.flow.flowcontext.SpamBlock'> > [translation:ERROR] ?in (pypy.rlib.rpoll:75)select > [translation:ERROR] ?containing the following operations: > [translation:ERROR] ? ? ? ?v722 = call_args((function malloc), ((1, > ('flavor',), False, False)), (Struct timeval), ('raw')) > [translation:ERROR] ? ? ? ?v725 = simple_call > ((builtin_function_or_method fmod), timeout_0, (1.0)) > [translation:ERROR] ? ? ? ?v726 = simple_call((type int), timeout_0) > [translation:ERROR] ? ? ? ?v727 = setattr(v722, ('c_tv_sec'), v726) > [translation:ERROR] ? ? ? ?v728 = simple_call((type int), timeout_0) > [translation:ERROR] ? ? ? ?v729 = sub(timeout_0, v728) > [translation:ERROR] ? ? ? ?v730 = mul(v729, (1000000.0)) > [translation:ERROR] ? ? ? ?v723 = simple_call((type int), v730) > [translation:ERROR] ? ? ? ?v724 = setattr(v722, ('c_tv_usec'), v723) > [translation:ERROR] ?--end-- > [translation] start debugger... > ?> /Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/rpython/ > lltypesystem/lltype.py(1027)__setattr__() > -> " ? ?got %r" % (self._T, field_name, T1, T2)) > (Pdb+) > (Pdb+) exit() > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- Gabriel Lavoie glavoie at gmail.com From fijall at gmail.com Tue Oct 27 18:57:34 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Tue, 27 Oct 2009 18:57:34 +0100 Subject: [pypy-dev] problems compiling on os x snow leopard In-Reply-To: References: Message-ID: <693bc9ab0910271057r5d808c8dv9fdf8d506cde663b@mail.gmail.com> I did commit it. However, we don't have a 64bit OS X buildslave, so it might break from time to time. Please also note that pypy is not yet a viable replacement for psyco. Also, both pypy's jit and psyco does not work on 64 bit (although psyco more by design and pypy because we did not implement it yet). Cheers, fijal On Tue, Oct 27, 2009 at 6:45 PM, Gabriel Lavoie wrote: > Hello Jordan, > ? ? are you trying to build the trunk? I submitted recently a patch > to solve build problems with Snow Leopard (64 bits related). fijal is > supposed to have commited it to the trunk. > > Gabriel > > 2009/10/26 Jordan Miller : >> Hi, >> >> I've previously used psyco (pypy's ancestor) with great success, but >> had trouble building it on OS X snow leopard. So I'm trying to build >> PyPy instead, but getting lots of build errors (see below). Please >> advise on what I should try next (maybe PyPy 1.1 instead of compiling >> from the subversion repo?). Thanks! >> >> I noticed on: http://morepypy.blogspot.com/ that people have gotten it >> to compile on os x before. Could anyone post the pypy-c binary >> somewhere for me to test/use? Very much appreciated. >> >> Jordan >> >> >> >> % python translate.py --opt=3 targetpypystandalone.py >> >> [translation:info] Translating target as defined by targetpypystandalone >> [platform:msg] Setting platform to 'host' cc=None >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_0.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_0.o >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/module_cache/module_0.c -o /var/folders/q1/ >> q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ >> module_0.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_0.o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/module_0.o -mmacosx- >> version-min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/ >> usession-dist-6/platcheck_0 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_1.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_1.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_1.o -lssl -lcrypto -mmacosx-version- >> min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- >> dist-6/platcheck_1 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_2.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_2.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_2.o -lssl -lcrypto -mmacosx-version- >> min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- >> dist-6/platcheck_2 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_3.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_3.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_3.o -lexpat -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_3 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_4.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_4.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_4.o -lexpat -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_4 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_5.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_5.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_6.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_6.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6 >> [platform:ERROR] Undefined symbols: >> [platform:ERROR] ? "_mremap", referenced from: >> [platform:ERROR] ? ? ? _main in platcheck_6.o >> [platform:ERROR] ld: symbol(s) not found >> [platform:ERROR] collect2: ld returned 1 exit status >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic -I/usr/include/ffi /var/folders/q1/ >> q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_7.c -o / >> var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_7.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_7.o -lffi -ldl -mmacosx-version- >> min=10.4 -I/usr/include/ffi -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ >> +Tg/-Tmp-/usession-dist-6/platcheck_7 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_8.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_8.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_8.o -lz -mmacosx-version-min=10.4 -o / >> var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_8 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_9.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_9.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_9.o -lz -mmacosx-version-min=10.4 -o / >> var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_9 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_10.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_10.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_10.o -lz -mmacosx-version-min=10.4 -o / >> var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_10 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_11.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_11.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_11.o -lbz2 -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_11 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_12.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_12.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_12.o -lbz2 -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_12 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_13.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_13.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_13.o -lbz2 -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_13 >> [translation] PyPy config object: >> [translation] [objspace] >> [translation] ? ? compiler = ast >> [translation] ? ? nofaking = True >> [translation] ? ? [opcodes] >> [translation] ? ? ? ? CALL_LIKELY_BUILTIN = True >> [translation] ? ? ? ? CALL_METHOD = True >> [translation] ? ? [std] >> [translation] ? ? ? ? builtinshortcut = True >> [translation] ? ? ? ? getattributeshortcut = True >> [translation] ? ? ? ? optimized_list_getitem = True >> [translation] ? ? ? ? withmethodcache = True >> [translation] ? ? ? ? withmultidict = True >> [translation] ? ? ? ? withprebuiltchar = True >> [translation] ? ? ? ? withrangelist = True >> [translation] ? ? ? ? withshadowtracking = True >> [translation] ? ? ? ? withtypeversion = True >> [translation] ? ? [usemodules] >> [translation] ? ? ? ? __pypy__ = True >> [translation] ? ? ? ? _codecs = True >> [translation] ? ? ? ? _lsprof = True >> [translation] ? ? ? ? _minimal_curses = True >> [translation] ? ? ? ? _pickle_support = True >> [translation] ? ? ? ? _random = True >> [translation] ? ? ? ? _rawffi = True >> [translation] ? ? ? ? _socket = True >> [translation] ? ? ? ? _sre = True >> [translation] ? ? ? ? _ssl = True >> [translation] ? ? ? ? _weakref = True >> [translation] ? ? ? ? bz2 = True >> [translation] ? ? ? ? cStringIO = True >> [translation] ? ? ? ? crypt = True >> [translation] ? ? ? ? dyngram = True >> [translation] ? ? ? ? errno = True >> [translation] ? ? ? ? fcntl = True >> [translation] ? ? ? ? gc = True >> [translation] ? ? ? ? itertools = True >> [translation] ? ? ? ? marshal = True >> [translation] ? ? ? ? math = True >> [translation] ? ? ? ? md5 = True >> [translation] ? ? ? ? mmap = True >> [translation] ? ? ? ? operator = True >> [translation] ? ? ? ? posix = True >> [translation] ? ? ? ? pyexpat = True >> [translation] ? ? ? ? rctime = True >> [translation] ? ? ? ? recparser = True >> [translation] ? ? ? ? select = True >> [translation] ? ? ? ? sha = True >> [translation] ? ? ? ? signal = True >> [translation] ? ? ? ? struct = True >> [translation] ? ? ? ? symbol = True >> [translation] ? ? ? ? termios = True >> [translation] ? ? ? ? thread = True >> [translation] ? ? ? ? time = True >> [translation] ? ? ? ? unicodedata = True >> [translation] ? ? ? ? zipimport = True >> [translation] ? ? ? ? zlib = True >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_14.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_14.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_14.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_14 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_15.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_15.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_15.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_15 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_24.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_24.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_24.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_24 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ >> c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> module_cache/module_1.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ >> +Tg/-Tmp-/usession-dist-6/module_cache/module_1.o >> [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ >> q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ >> module_1.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ >> MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod.so >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ >> c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> module_cache/module_2.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ >> +Tg/-Tmp-/usession-dist-6/module_cache/module_2.o >> [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ >> q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ >> module_2.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ >> MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod_0.so >> [geninterp:WARNING] skipped classmethod: > classobj.fromkeys of > >> [translation] translate.py configuration: >> [translation] [translate] >> [translation] ? ? opt = 3 >> [translation] ? ? targetspec = targetpypystandalone >> [translation] translation configuration: >> [translation] [translation] >> [translation] ? ? [backendopt] >> [translation] ? ? ? ? remove_asserts = True >> [translation] ? ? gc = hybrid >> [translation] ? ? gctransformer = framework >> [translation] ? ? list_comprehension_operations = True >> [translation] ? ? profopt = -c 'from richards import main;main(); from >> test import pystone; pystone.main()' >> [translation] ? ? rweakref = True >> [translation] ? ? stackless = False >> [translation] ? ? thread = True >> [translation] ? ? withsmallfuncsets = 5 >> [translation:info] Annotating&simplifying... >> [translation:info] with policy: >> pypy.translator.goal.ann_override.PyPyAnnotatorPolicy >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_25.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_25.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_25.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_25 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_26.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_26.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_26.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_26 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_27.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_27.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_27.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_27 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_28.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_28.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_28.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_28 >> ........................++++++++++++++++++++++++++++*********%%%%#%## >> %*************** >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_29.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_29.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_29.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_29 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_30.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_30.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_30.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_30 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_31.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_31.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_31.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_31 >> ........................++++++++++++++++++++++++++++*********%%%%#%## >> %*******************++++++++ >> ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% >> %%**********************++ >> .............++++++++++++++++************************%%%%%#%########### >> %%%%%********************* >> .........+++++++++++++*****************************%%%%%% >> %##############%%%%%%******************* >> ......++++++++++*********************************%%%%%%% >> %################%%%%%%******%*********** >> ...+++++++++******************%%%%%%%%%%%%%%%####### >> %########################%%%%%%%%##%********* >> .++++++++**************%%%%%%%%%%%%%%%%%%%%% >> %#########################################%%%******** >> +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% >> %#########################################%%%%%%%**** >> +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% >> %############################################%%%%%%%%%** >> +++*********%%%%#%%%%%%%%#%%%%%#####%% >> %####################################################%%%%%% >> ++********%%%%%%%% >> %#####################################################################% >> %%%%%%%% >> +********%%%%%%% >> %#########################################################################%%%%%%% >> *******%%#% >> %############################################################################%%%%%%%%% >> %*****%% >> %#############################################################################%%%%%%%%%%% >> ######################################################################################%%%%%%%%%%% >> %*****%% >> %#############################################################################%%%%%%%%%%% >> *******%%#% >> %############################################################################%%%%%%%%% >> +********%%%%%%% >> %#########################################################################%%%%%%% >> ++********%%%%%%%% >> %#####################################################################% >> %%%%%%%% >> +++*********%%%%#%%%%%%%%#%%%%%#####%% >> %####################################################%%%%%% >> +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% >> %############################################%%%%%%%%%** >> +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% >> %#########################################%%%%%%%**** >> .++++++++**************%%%%%%%%%%%%%%%%%%%%% >> %#########################################%%%******** >> ...+++++++++******************%%%%%%%%%%%%%%%####### >> %########################%%%%%%%%##%********* >> ......++++++++++*********************************%%%%%%% >> %################%%%%%%******%*********** >> .........+++++++++++++*****************************%%%%%% >> %##############%%%%%%******************* >> .............++++++++++++++++************************%%%%%#%########### >> %%%%%********************* >> ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% >> %%**********************++ >> >> +++++++++++***************************************++++++++++.#%**** >> +............................. >> ++++++++*********************************************++++++++*%%#%%** >> +...+++++.%.**.............. >> +++++***********************%%%%%%%%%%%%%%**************++++**%%##%%**+ >> +**%%%%%%%*#%+............ >> +++*******************%%%%%%%%%%%%%%%%%%%%%%%%%***********+++**%*%%*+ >> +***%#%##%**+............... >> +******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************++**%%%* >> %********+................ >> *****************%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%*****%%%%%%*#%** >> %****+++++++................ >> ***************%%%%%%%%%%%%%%%##############%%%%%%%%%%***%%####%#*++** >> %##%*%******+++............ >> *******%*******%%%%%%%%%%%%%##################%%###%%%%%#**%%%***++ >> +*****%%%%%%%%%**++........... >> ********%%%***%%%%%%%%%%%%%####################%%%%%%%%**%****++++ >> +*****%%%#####%%%**++*......... >> *************#%%%#%%%%%###%%###################%%%%%%%#*******++++ >> +*****%%%%%##%%%*%*+%*++....... >> %%%%%%****%##%*%%%%%%%%###%%%#################%%%%%%%%%*******++++++ >> +**************++*#+++....... >> %%%%%%%%%%#****%%%%%%%%%%%%%%%%############%%%%%%%%%%%********+++++++++ >> ++++++++++++**%##*+....... >> ######%%%%%%*****%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%*********+++++++... >> +++++........++++#%....... >> #######%%%%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********++++++ >> +....................%......... >> ######%%%%%***********%%%%%%%%%%%%%%%%%%%%%%%%%***********+++++++ >> +............................... >> %%%%%%%%%%*****************%%%%%%%%%%%%%%%**************+++++++ >> +................................. >> %%%%%%************************************************++++++++ >> +.................................. >> ***************************************************+++++++++ >> +.................................... >> ******++++++***********************************+++++++++++ >> +...................................... >> ++++++++++++++++++***********************+++++++++++++++ >> +........................................ >> *++*****++++++++++++++++++++++++++++++++++++++++++++++ >> +.......................................... >> ****************+++++++++++++++++++++++++++++++++++ >> +............................................. >> *%*%*%%************+++++++++++++++++++++++++++++++++ >> +............................................ >> *%%%%%%%%%%%%%%******+++++++++++++++++++++++++++++++++++ >> +........................................ >> %%%%#%%%%%%%%%%%%********************++++++++++++++++++++++ >> +..................................... >> %%%%##########%%%%***************************++++++++++++++++ >> +................................... >> %%%%##########%%%%%********%##*******************++++++++++++++ >> +................................. >> %%%%%%######%%%%%%*******%#%*************************++++++++++++ >> +............................... >> >> .........+*%#%*+.#.....................................++++++++++++++++ >> ++++++++++++++++++++++++++ >> ........+++***%***+++++...........................+++++++++++++++++++++ >> ++++++++++++++++++++++++++ >> ......++***%%%%#%%****++++....................+++++++++++++++++++++++++ >> ++++++++++++++++*+++++++++ >> .....++***%%#####%%%***++++..............++++++++++++++++++++++++++++++ >> ++++++++++++++++#+++++++++ >> .....++***%%%%##%%%%***++++..........++++++++++++++++++++++++++++++++++ >> +++++++++++++++++*%#*+%+++ >> .....+++*****%%%%*****+++++.......+++++++++++++++++++++++++++++++++++++ >> +++++++++++++**%##%%**++++ >> ....%%++%*%#%%******++++++....+++++++++++++++++++++++++++++++++++++++++ >> ++++++++++++*%%%%%%******* >> ..........+**%###%%***++...++++++++++++++++++++++++++++++++++++++++++++ >> ++++++++++**%%%%********** >> ..........++*%%%%%%**+++++++++++++++++++++++++#*#%+++++++++++++++++++++ >> ++++********%#%*********** >> ............+++%%%%#%*+++++++++++++++++++++++++*++++++++++++++++++++ >> +****************%%**%%%#*%** >> .................+**#%#*++*%*###%%%**%%****+++**#%++++++++++++ >> +****************************%%%%%# >> ...............++++++++++++++****%%%###%%%%*%%###% >> %****************************************%%#### >> ............++++++++++++++++++**%%%#######%%%##%%%%****** >> %*********************************%%%%%% >> ..........++++++++++++++++++++**#%%%%%%%%%%%%#%%%%%%%%%%%%%#%%%% >> %**********************%%%%%%%%## >> .......++++++++++++++++++++++++******%%%%%%%%%######%%%%%#%%#%%%%%%%%% >> %*%#*********%%%%%%##%##### >> .....++++++++++++++++++++++++*********%#%%##################%%%%%%%%%%% >> %%%%#%***%%%%%%%%%%####### >> ...++++++++++++++++++++++++********%%%%%%%%###################%%%%%%%%% >> %%%%######%%%%%%%%######## >> .++++++++++++++++++++++++********%%%%%%#%%#######################%%%%# >> %#%%%########%############# >> ++++++++++++++++++++++++***%##**%%%%##%%###########################%%% >> %########################## >> +++++++++++++++++++++++*******%%%%%%%%%%% >> %####################################################### >> ++++++++++++++++++++++********%%%%%%%%%% >> %######################################################## >> +++++++++++++++++++++*********%%%%%%%%%%% >> %####################################################### >> ++++++++++++++++**************%%%%%%%%%%%%% >> %##################################################### >> ++++%+++*********************%%#%%%%%%%%%%##% >> %################################################### >> +******%#%****************%**%%%%% >> %############################################################## >> *********%%%%**********%##%%%%%%%%% >> %############################################################# >> *****************%####%%%%% >> %##################################################################### >> *******************### >> %########################################################################## >> >> ....+%+.%.....................................+*+. >> +.............................................. >> .+*%#%*+.....................................+ >> +****.............................................. >> ++%%***+++++++++++#+++++++...................+*#%%* >> +............................................. >> *+%%*******************+++++++.......++++++****+***** >> +........................................... >> ++*%##%***%%%%%%%%%%*******++++++.++*+****%%%%%%%%**++ >> +.............................%+........... >> +*****%%%%%%%%%%%%%%%%%******+++++++****%%%#####%%%***+ >> +............................*%........... >> *****%%%%%#########%%%%%%******++++****%%%%%####%%%***++ >> +.....................%*%%#%%............ >> *****%%%%%##########%%%%%**#****+++#***%%%%%%%%%%%****+++++++++++++++++ >> ++++%**%*+%+++++++........ >> *****%%%%%%%#####%%%%%#%%%%#%%#**+++**%###%%*********++++++++++++++++++ >> ++%***++++++++++++++++++++ >> ******%%%%%%%%%%%%%%%%%#%####%%%***+*##%%*********+++++++++++++++++++++ >> ++++#+*+++++++++++++++++++ >> ++*******%%%%%%%%%%%%***%%%%%%%%#%%%#++++++++++++++++++%+*+++++++++++++ >> ++++++*%++++++++++++++++++ >> #**%%*%************************%*++**%#%%%************%******* >> [Timer] Timings: >> [Timer] annotate ? ? ? ? ? ? ? ? ? ? ? --- 352.3 s >> [Timer] ========================================== >> [Timer] Total: ? ? ? ? ? ? ? ? ? ? ? ? --- 352.3 s >> [translation:ERROR] Error: >> [translation:ERROR] ?Traceback (most recent call last): >> [translation:ERROR] ? ?File "translate.py", line 273, in main >> [translation:ERROR] ? ? drv.proceed(goals) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/translator/driver.py", line 704, in proceed >> [translation:ERROR] ? ? return self._execute(goals, task_skip = >> self._maybe_skip()) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/translator/tool/taskengine.py", line 116, in _execute >> [translation:ERROR] ? ? res = self._do(goal, taskcallable, *args, >> **kwds) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/translator/driver.py", line 267, in _do >> [translation:ERROR] ? ? res = func() >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/translator/driver.py", line 294, in task_annotate >> [translation:ERROR] ? ? s = annotator.build_types(self.entry_point, >> self.inputtypes) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 99, in build_types >> [translation:ERROR] ? ? return self.build_graph_types(flowgraph, >> inputcells, complete_now=complete_now) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 190, in build_graph_types >> [translation:ERROR] ? ? self.complete() >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 246, in complete >> [translation:ERROR] ? ? self.processblock(graph, block) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 471, in processblock >> [translation:ERROR] ? ? self.flowin(graph, block) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 531, in flowin >> [translation:ERROR] ? ? self.consider_op(block.operations[i]) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 735, in consider_op >> [translation:ERROR] ? ? raise_nicer_exception(op, str(graph)) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 732, in consider_op >> [translation:ERROR] ? ? resultcell = consider_meth(*argcells) >> [translation:ERROR] ? ?File "", line 3, in consider_op_setattr >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/unaryop.py", line 732, in setattr >> [translation:ERROR] ? ? setattr(example, s_attr.const, v_lltype._defl()) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/rpython/lltypesystem/lltype.py", line 1027, in __setattr__ >> [translation:ERROR] ? ? " ? ?got %r" % (self._T, field_name, T1, T2)) >> [translation:ERROR] ?TypeError': > c_tv_usec, c__pad0, c__pad1, c__pad2, c__pad3 }> instance field >> 'c_tv_usec': >> [translation:ERROR] expects >> [translation:ERROR] ? ? got >> [translation:ERROR] ? ? .. v724 = setattr(v722, ('c_tv_usec'), v723) >> [translation:ERROR] ? ? .. '(pypy.rlib.rpoll:75)select' >> [translation:ERROR] Processing block: >> [translation:ERROR] ?block at 421 is a > 'pypy.objspace.flow.flowcontext.SpamBlock'> >> [translation:ERROR] ?in (pypy.rlib.rpoll:75)select >> [translation:ERROR] ?containing the following operations: >> [translation:ERROR] ? ? ? ?v722 = call_args((function malloc), ((1, >> ('flavor',), False, False)), (Struct timeval), ('raw')) >> [translation:ERROR] ? ? ? ?v725 = simple_call >> ((builtin_function_or_method fmod), timeout_0, (1.0)) >> [translation:ERROR] ? ? ? ?v726 = simple_call((type int), timeout_0) >> [translation:ERROR] ? ? ? ?v727 = setattr(v722, ('c_tv_sec'), v726) >> [translation:ERROR] ? ? ? ?v728 = simple_call((type int), timeout_0) >> [translation:ERROR] ? ? ? ?v729 = sub(timeout_0, v728) >> [translation:ERROR] ? ? ? ?v730 = mul(v729, (1000000.0)) >> [translation:ERROR] ? ? ? ?v723 = simple_call((type int), v730) >> [translation:ERROR] ? ? ? ?v724 = setattr(v722, ('c_tv_usec'), v723) >> [translation:ERROR] ?--end-- >> [translation] start debugger... >> ?> /Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/rpython/ >> lltypesystem/lltype.py(1027)__setattr__() >> -> " ? ?got %r" % (self._T, field_name, T1, T2)) >> (Pdb+) >> (Pdb+) exit() >> >> _______________________________________________ >> pypy-dev at codespeak.net >> http://codespeak.net/mailman/listinfo/pypy-dev >> > > > > -- > Gabriel Lavoie > glavoie at gmail.com > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev From andrewfr_ice at yahoo.com Fri Oct 30 18:36:54 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Fri, 30 Oct 2009 10:36:54 -0700 (PDT) Subject: [pypy-dev] Problem with pypy-c and stacklesssocket.py Message-ID: <462481.61824.qm@web112404.mail.gq1.yahoo.com> Hi Folks: I was testing a simple echoserver with stackless python 2.5.2 and pypy-c. I am running Ubuntu 9.04 and I compiled pypy-c with --stackless and optimization level 1. Under stackless python, the echoserver executes correctly. Under pypy-c, the server runs a while before I get: _scheduler_switch(curr, task) File "/home/andrew/lab/pypy-dist/pypy/lib/stackless.py", line 156, in _scheduler_switch next.switch() File "/home/andrew/lab/pypy-dist/pypy/lib/stackless.py", line 452, in _func func(*argl, **argd) File "/home/andrew/lab/pypy-dist/lib-python/2.5.2/stacklesssocket.py", line 77, in ManageSockets asyncore.poll(0.05) File "/home/andrew/lab/pypy-dist/lib-python/2.5.2/asyncore.py", line 109, in poll is_r = obj.readable() ReferenceError: weakly referenced object no longer exists I am using the stacklesssocket.py from http://stacklessexamples.googlecode.com/svn/trunk/examples/networking/stacklesssocket.py I have also enclosed the echoserver.py and a small test driver.py written with Twisted. I believe one can also use the drivers that come with the Beazley talk: http://www.dabeaz.com/coroutines/blaster.py Meanwhile I am looking over stacklesssocket.py to understand the logic. That said, any suggestions would be appreciated. Cheers, Andrew -------------- next part -------------- A non-text attachment was scrubbed... Name: echoserver.py Type: text/x-python Size: 761 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091030/838d9408/attachment.py -------------- next part -------------- A non-text attachment was scrubbed... Name: driver.py Type: text/x-python Size: 1502 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091030/838d9408/attachment-0001.py -------------- next part -------------- A non-text attachment was scrubbed... Name: problems Type: application/octet-stream Size: 3004 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091030/838d9408/attachment.obj From andrewfr_ice at yahoo.com Sat Oct 31 04:27:38 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Fri, 30 Oct 2009 20:27:38 -0700 (PDT) Subject: [pypy-dev] Pickling example using Sieve of Eratosthenes Message-ID: <595048.10018.qm@web112407.mail.gq1.yahoo.com> Hi Folks: I recently did a talk at the Montreal Python user's group. To illustrate the power of Stackless, I adapted Robert Pike's prime number sieve written in Newsqueak for Stackless Python (I was inspired by the Gregario PyCSP example). Like my previous talk, I got requests from people to see pickling examples (it seems to be an eye opener). So I wrote a version of the sieve that can be pickled and resumed. In this fashion, hundred of thousands of primes can be generated at one's leisure. I have executed the programme in both pypy-c and Stackless Python. I would appreciate comments before putting it in the Stackless repository (however I do that). Cheers, Andrew -------------- next part -------------- A non-text attachment was scrubbed... Name: pickled-sieve.py Type: text/x-python Size: 2807 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091030/07fdc3c6/attachment.py From con at samuelreis.de Mon Nov 2 23:47:27 2009 From: con at samuelreis.de (Samuel Reis) Date: Mon, 02 Nov 2009 23:47:27 +0100 Subject: [pypy-dev] Hello PyPy Developer Team Message-ID: <4AEF617F.6030502@samuelreis.de> Hello everybody, My name is Samuel Reis and I'm a 17-year-old student from Hanover, Germany. First of all, I'm very sorry for my English. It's not that I think I write English _that_ worse, but I don't know what kind of impression I make with that. Anyway ... I found this project a few months ago while I was looking for alternative python interpreters. Since then I found it really interested reading blog posts, sprint reports, etc. and watching this project's progress. Meanwhile it has to be the whole site that I already read, I think ;). I would call myself a (not so advanced) advanced programmer :) in C, as I do that since a few years (besides some ugly BASIC-Dialects - not that C is beautiful since I met python). Not to forget obj-orientated PHP, which was my entry point to scripting languages and still is the majority of code I write - both private and at work. To the Python language I'm a freshman (a few months, as said), but although I have to look up 60-70% of the functions in the manual, I know and understand the python language structure very well. The concept of defining python in python itself fascinates me, and also how this concept developed and now involves the possibility to create interpreter code for (in theory) every computer language/environment (if I understood that right). Contributing to this project would make me very happy, so I would be glad if there were some/more minor things to do for me as a beginner. Oh, yeah, and not to forget: I've created a small piece of artwork related to pypy. I don't know if it has any use for you, but just for the sharings sake, I'll share it with you. http://samuelreis.de/artwork/pypy/pypy_fin.jpg http://samuelreis.de/artwork/pypy/pypy_fin.svg The logo art is inspired of an ancient symbol called "Ouroboros", "depicting a serpent or dragon swallowing its own tail and forming a circle." (en.wikipedia.org) I think this nicely symbolizes the recursivity of writing a python interpreter in python itself. This is licensed under the CC BY-SA Germany license. (http://creativecommons.org/licenses/by-sa/3.0/de/deed.en) I'll be very happy with your feedback :) Regards -- Samuel From ludovico.cavedon at gmail.com Tue Nov 3 03:02:52 2009 From: ludovico.cavedon at gmail.com (Ludovico Cavedon) Date: Mon, 02 Nov 2009 18:02:52 -0800 Subject: [pypy-dev] pypy jit error Message-ID: <4AEF8F4C.40301@gmail.com> Hi all, I am trying to run pypy with the jit compiler. I want to report some code I have that is failing, while with CPython it is not. I was able to isolate the the problem in a small testcase I am attaching. It is failing after exactly 1000 next() calls to the generator created by b(). File "pypyfail.py", line 6, in b b= (vv[i] for i in [0]) TypeError: object , file 'pypyfail.py', line 6> is not callable I built the latest SVN trunk snapshot of pypy with pypy/translator/goal/translate.py -Ojit Btw, the executable is called "pypy-c" rather than "pypy-c-jit", is that ok? Thank you in advance, Ludovico -------------- next part -------------- A non-text attachment was scrubbed... Name: pypyfail.py Type: text/x-python Size: 140 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091102/154e99f6/attachment.py From vincent.legoll at gmail.com Tue Nov 3 09:50:14 2009 From: vincent.legoll at gmail.com (Vincent Legoll) Date: Tue, 3 Nov 2009 09:50:14 +0100 Subject: [pypy-dev] pypy jit error In-Reply-To: <4AEF8F4C.40301@gmail.com> References: <4AEF8F4C.40301@gmail.com> Message-ID: <4727185d0911030050w3271eda7j37ec87b89dac6bae@mail.gmail.com> Hi, Is it still failing with the b function renamed c for example ? -- Vincent Legoll From ludovico.cavedon at gmail.com Tue Nov 3 09:56:34 2009 From: ludovico.cavedon at gmail.com (Ludovico Cavedon) Date: Tue, 03 Nov 2009 00:56:34 -0800 Subject: [pypy-dev] pypy jit error In-Reply-To: <4727185d0911030050w3271eda7j37ec87b89dac6bae@mail.gmail.com> References: <4AEF8F4C.40301@gmail.com> <4727185d0911030050w3271eda7j37ec87b89dac6bae@mail.gmail.com> Message-ID: <4AEFF042.3060206@gmail.com> Vincent Legoll wrote: > Is it still failing with the b function renamed c for example ? Ups, I used "b" twice :) Yes, it is failing also with b() renamed to c() Thanks, Ludovico From arigo at tunes.org Wed Nov 4 23:58:19 2009 From: arigo at tunes.org (Armin Rigo) Date: Wed, 4 Nov 2009 23:58:19 +0100 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: <4AEF617F.6030502@samuelreis.de> References: <4AEF617F.6030502@samuelreis.de> Message-ID: <20091104225819.GA19783@code0.codespeak.net> Hi Samuel, This is just a quick answer to let you know that we are actually sprinting in D?sseldorf for one week, since this Friday (6-13 Nov). As it is not that far from Hanover, maybe you are interested in joining us? Even if it's just one day or just the weekend, you are welcome to. A bientot, Armin From fijall at gmail.com Thu Nov 5 00:08:30 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Thu, 5 Nov 2009 00:08:30 +0100 Subject: [pypy-dev] pypy jit error In-Reply-To: <4AEFF042.3060206@gmail.com> References: <4AEF8F4C.40301@gmail.com> <4727185d0911030050w3271eda7j37ec87b89dac6bae@mail.gmail.com> <4AEFF042.3060206@gmail.com> Message-ID: <693bc9ab0911041508laceca55y1bc8d37c9e30a271@mail.gmail.com> Hey. Thanks for the report. I think this is a dup of issue which I have been fighting recently, seems to work for me right now. Cheers, fijal On Tue, Nov 3, 2009 at 9:56 AM, Ludovico Cavedon wrote: > Vincent Legoll wrote: >> Is it still failing with the b function renamed c for example ? > > Ups, I used "b" twice :) > > Yes, it is failing also with b() renamed to c() > > Thanks, > Ludovico > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > From con at samuelreis.de Thu Nov 5 10:03:25 2009 From: con at samuelreis.de (Samuel Reis) Date: Thu, 05 Nov 2009 10:03:25 +0100 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: <20091104225819.GA19783@code0.codespeak.net> References: <4AEF617F.6030502@samuelreis.de> <20091104225819.GA19783@code0.codespeak.net> Message-ID: <4AF294DD.1050702@samuelreis.de> Am 04.11.09 23:58, schrieb Armin Rigo: > Hi Samuel, > > This is just a quick answer to let you know that we are actually > sprinting in D?sseldorf for one week, since this Friday (6-13 Nov). As > it is not that far from Hanover, maybe you are interested in joining us? > Even if it's just one day or just the weekend, you are welcome to. > > > A bientot, > > Armin > Hello Armin, Sounds good, but unfortunately I'm extremely busy on both weekends. But of course I'll look forward to join you on future sprints, if held in the north of germany, because I'll have to see how to self-finance travelling and accommodation. Regards - Samuel From arigo at tunes.org Thu Nov 5 10:36:05 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 5 Nov 2009 10:36:05 +0100 Subject: [pypy-dev] Problem with pypy-c and stacklesssocket.py In-Reply-To: <462481.61824.qm@web112404.mail.gq1.yahoo.com> References: <462481.61824.qm@web112404.mail.gq1.yahoo.com> Message-ID: <20091105093605.GA686@code0.codespeak.net> Hi Andrew, On Fri, Oct 30, 2009 at 10:36:54AM -0700, Andrew Francis wrote: > File "/home/andrew/lab/pypy-dist/lib-python/2.5.2/asyncore.py", line 109, in poll > is_r = obj.readable() > ReferenceError: weakly referenced object no longer exists I am afraid that you will not get much answers, mostly because we are not into developing or supporting the Stackless modules right now. However the problem does not seem Stackless-oriented, but just a misuse of reference counting. You get obviously a weak proxy object, so the question is who made it and why, and why does it make a difference between CPython and PyPy. Remember that as we don't have reference counting, weak references can disappear at times that look a bit more "random" in PyPy than in CPython. I can only imagine that it's this kind of abuse of reference counting that hits you with PyPy (or Jython or IronPython fwiw). A bientot, Armin. From micahel at gmail.com Thu Nov 5 10:44:09 2009 From: micahel at gmail.com (Michael Hudson-Doyle) Date: Thu, 5 Nov 2009 22:44:09 +1300 Subject: [pypy-dev] Advice for a talk... In-Reply-To: <20090930084647.GB17579@code0.codespeak.net> References: <693bc9ab0909270019l78af72d7od2df0f0e2c395f02@mail.gmail.com> <20090930084647.GB17579@code0.codespeak.net> Message-ID: So I've finally got around to lightly updating my talk; you can see my latest version at: http://people.canonical.com/~mwh/pypy-kiwipycon09.pdf Any comments you have would be appreciated but as I'm travelling to the conference tomorrow I'm not going to have very long to act on them :-) (all my own fault of course). Cheers, mwh 2009/9/30 Armin Rigo : > Hi Michael, From anto.cuni at gmail.com Thu Nov 5 11:14:05 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Thu, 05 Nov 2009 11:14:05 +0100 Subject: [pypy-dev] Advice for a talk... In-Reply-To: References: <693bc9ab0909270019l78af72d7od2df0f0e2c395f02@mail.gmail.com> <20090930084647.GB17579@code0.codespeak.net> Message-ID: <4AF2A56D.5040804@gmail.com> Michael Hudson-Doyle wrote: > So I've finally got around to lightly updating my talk; you can see my > latest version at: > > http://people.canonical.com/~mwh/pypy-kiwipycon09.pdf > > Any comments you have would be appreciated but as I'm travelling to > the conference tomorrow I'm not going to have very long to act on them > :-) (all my own fault of course). I don't think that V8 implements a tracing JIT, but just a "standard" JIT with polymorphic inline caches and "hidden classes" (i.e., the equivalent of SELF's map or pypy sharing dicts). ciao, Anto From ludovico.cavedon at gmail.com Sun Nov 8 06:37:59 2009 From: ludovico.cavedon at gmail.com (Ludovico Cavedon) Date: Sat, 07 Nov 2009 21:37:59 -0800 Subject: [pypy-dev] pypy jit error In-Reply-To: <693bc9ab0911041508laceca55y1bc8d37c9e30a271@mail.gmail.com> References: <4AEF8F4C.40301@gmail.com> <4727185d0911030050w3271eda7j37ec87b89dac6bae@mail.gmail.com> <4AEFF042.3060206@gmail.com> <693bc9ab0911041508laceca55y1bc8d37c9e30a271@mail.gmail.com> Message-ID: <4AF65937.5050509@gmail.com> Maciej Fijalkowski wrote: > Thanks for the report. I think this is a dup of issue which I have > been fighting recently, seems to work for me right now. The latest trunk fixed it also for me, thanks! Ludovico From jacob at openend.se Sun Nov 8 14:52:39 2009 From: jacob at openend.se (Jacob =?utf-8?q?Hall=C3=A9n?=) Date: Sun, 8 Nov 2009 14:52:39 +0100 Subject: [pypy-dev] Interesting reading for people generating assembler code Message-ID: <200911081452.40466.jacob@openend.se> I think this presentation contains some interesting tidbits and insights that may be of use to people doing machine code generation - perhaps both in the JIT and in the translation end of things. http://www.linux- kongress.org/2009/slides/compiler_survey_felix_von_leitner.pdf Jacob From andrewfr_ice at yahoo.com Tue Nov 10 17:53:30 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Tue, 10 Nov 2009 08:53:30 -0800 (PST) Subject: [pypy-dev] Update Re: Problem with pypy-c and stacklesssocket.py In-Reply-To: <20091105093605.GA686@code0.codespeak.net> Message-ID: <351842.45656.qm@web112404.mail.gq1.yahoo.com> Hi Armin: --- On Thu, 11/5/09, Armin Rigo wrote: > From: Armin Rigo > I am afraid that you will not get much answers, mostly > because we are not into developing or supporting the Stackless >modules right now. Fair enough. > However the problem does not seem Stackless-oriented, but just a misuse >of reference counting.? You get obviously a weak proxy object, so the > question is who made it and why, and why does it make a difference > between CPython and PyPy.? Remember that as we don't have reference >counting, weak references can disappear at times that look a bit more >"random" in PyPy than in CPython.? I can only imagine that it's this >kind of abuse of reference counting that hits you with PyPy (or Jython >or IronPython fwiw). Thanks for the response. I removed the weakrefs from stacklesssocket. The echoserver no longer crashes. However my driver still reports errors (about 25% of the connections fail, as opposed to about 60% and a server crash). At this stage, when I have time, I will put more debugging in stacklesssocket.py (or asyncore.py) and my driver to get more information about what is happening. Cheers, Andrew From victorw at MIT.EDU Wed Nov 11 17:06:29 2009 From: victorw at MIT.EDU (Victor Williamson) Date: Wed, 11 Nov 2009 11:06:29 -0500 Subject: [pypy-dev] New - untrusted code Message-ID: <1257955589.11922.42.camel@victorw-laptop> Hello Pypy dev, I am researching ways to allow applications to safely import untrusted code in Python without having to run the malicious code in its own process; Pypy may be a good prototyping environment. I want to verify if any work either as an extension or as interpreter changes has been done to handle untrusted imports in Pypy. Thanks and best regards, Victor From maciejdziardziel at wp.pl Wed Nov 11 18:07:47 2009 From: maciejdziardziel at wp.pl (Fiedzia) Date: Wed, 11 Nov 2009 18:07:47 +0100 Subject: [pypy-dev] pypy.objspace.std.model.UnwrapError in socket.epoll.register Message-ID: Out of curiosity i tried to use pypy to run diesel (http://dieselweb.org/lib/). For some reason pypy in trunk doesn't add OutputType property in cStringIO (perhaps it needs some installation or postprocessing because this property is mentioned in cStringIO pypy module). After setting it manually at the beginning of diesel helloworld example, i can see long traceback that ends with: File "/home/fiedzia/soft/pypy/trunk/pypy/objspace/std/fake.py", line 141, in funcrun frame.setfastscope(scope_w) File "/home/fiedzia/soft/pypy/trunk/pypy/objspace/std/fake.py", line 162, in setfastscope raise UnwrapError('calling %s: %s' % (code.cpy_callable, e)) pypy.objspace.std.model.UnwrapError: calling : cannot unwrap > using select.epoll from pypy console seems to work, but obviously diesel pushes it to the limits. Is there something that i can try to make it working or do i hit something unsupported by pypy? -- Thanks Maciej Dziardziel From holger at merlinux.eu Wed Nov 11 18:17:06 2009 From: holger at merlinux.eu (holger krekel) Date: Wed, 11 Nov 2009 18:17:06 +0100 Subject: [pypy-dev] New - untrusted code In-Reply-To: <1257955589.11922.42.camel@victorw-laptop> References: <1257955589.11922.42.camel@victorw-laptop> Message-ID: <20091111171706.GH17999@trillke.net> Hello Victor, On Wed, Nov 11, 2009 at 11:06 -0500, Victor Williamson wrote: > Hello Pypy dev, > > I am researching ways to allow applications to safely import untrusted > code in Python without having to run the malicious code in its own > process; Pypy may be a good prototyping environment. I want to > verify if any work either as an extension or as interpreter changes has > been done to handle untrusted imports in Pypy. cool. Have you read http://codespeak.net/pypy/dist/pypy/doc/sandbox.html ? I don't know about projects using PyPy's sandboxing currently. The raw functionality is very powerful but work on deployment and usage is due. During the ongoing Duesseldorf sprint we discussed about a new model to use transparent proxying techniques (http://tinyurl.com/mrq9nc ) to perform imports through a "interpreter backend" subprocess, e.g. CPython, Jython, IPy. In this mode a Sandboxed PyPy could run native applications and represent remote python objects transparently. As a starting point we discussed running QT applications from PyPy in this manner. I am interested to work on related topics. In particular i plan to work on http://codespeak.net/execnet in the upcoming weeks in order to make ad-hoc configuration and deployment of Python interpreters a breeze (also for cross-interpreter testing). Always interested in peers :) cheers, holger From cfbolz at gmx.de Wed Nov 11 18:22:23 2009 From: cfbolz at gmx.de (Carl Friedrich Bolz) Date: Wed, 11 Nov 2009 18:22:23 +0100 Subject: [pypy-dev] pypy.objspace.std.model.UnwrapError in socket.epoll.register In-Reply-To: References: Message-ID: <4AFAF2CF.60601@gmx.de> On 11/11/2009 06:07 PM, Fiedzia wrote: > Out of curiosity i tried to use pypy to run diesel > (http://dieselweb.org/lib/). > > For some reason pypy in trunk doesn't add OutputType property in cStringIO > (perhaps it needs some installation or postprocessing because this property > is mentioned in cStringIO pypy module). After setting it manually at the > beginning of diesel helloworld example, i can see long traceback that ends > with: > > File "/home/fiedzia/soft/pypy/trunk/pypy/objspace/std/fake.py", line 141, > in funcrun > frame.setfastscope(scope_w) > File "/home/fiedzia/soft/pypy/trunk/pypy/objspace/std/fake.py", line 162, > in setfastscope > raise UnwrapError('calling %s: %s' % (code.cpy_callable, e)) > pypy.objspace.std.model.UnwrapError: calling 'select.epoll' objects>: cannot unwrap instance of > > > using select.epoll from pypy console seems to work, but obviously diesel > pushes it to the limits. Is there something that i can try to make it > working or do i hit something unsupported by pypy? > Try to either use a compiled pypy (which would be significantly faster anyway) or start your py.py with the option --allworkingmodules Cheers, Carl Friedrich From trottier at gmail.com Thu Nov 19 02:14:31 2009 From: trottier at gmail.com (Leo Trottier) Date: Wed, 18 Nov 2009 17:14:31 -0800 Subject: [pypy-dev] pypy-c-jit compilation error Message-ID: ... perhaps this has been resolved (??) but two compilation attempts on the pypy/trunk from earlier today failed with the following error message. I'm compiling on a VirtualBox install of Xubuntu on OS-X (2 gig allocated, dual-core 1 GHz cpu). the pypy-dist version compiles fine ... and/all guidance would be appreciated ========================== [platform:ERROR] make: Entering directory `/tmp/usession-trunk-1/testing_1' [platform:ERROR] gcc -O3 -pthread -fomit-frame-pointer -frandom-seed=testing_1.c -o testing_1.s -S testing_1.c -I/usr/include/python2.6 -I/home/leo/Source Code/pypy-trunk/pypy/translator/c -I/usr/include/libffi [platform:ERROR] make: Leaving directory `/tmp/usession-trunk-1/testing_1' [Timer] Timings: [Timer] annotate --- 623.8 s [Timer] rtype_lltype --- 768.0 s [Timer] pyjitpl_lltype --- 570.6 s [Timer] backendopt_lltype --- 359.7 s [Timer] stackcheckinsertion_lltype --- 118.4 s [Timer] database_c --- 789.6 s [Timer] source_c --- 927.0 s [Timer] compile_c --- 2.5 s [Timer] =========================================== [Timer] Total: --- 4159.4 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "translate.py", line 277, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "/home/leo/Source Code/pypy-trunk/pypy/translator/driver.py", line 741, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip()) [translation:ERROR] File "/home/leo/Source Code/pypy-trunk/pypy/translator/tool/taskengine.py", line 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "/home/leo/Source Code/pypy-trunk/pypy/translator/driver.py", line 279, in _do [translation:ERROR] res = func() [translation:ERROR] File "/home/leo/Source Code/pypy-trunk/pypy/translator/driver.py", line 504, in task_compile_c [translation:ERROR] cbuilder.compile() [translation:ERROR] File "/home/leo/Source Code/pypy-trunk/pypy/translator/c/genc.py", line 447, in compile [translation:ERROR] self.translator.platform.execute_makefile(self.targetdir) [translation:ERROR] File "/home/leo/Source Code/pypy-trunk/pypy/translator/platform/posix.py", line 114, in execute_makefile [translation:ERROR] self._handle_error(returncode, stdout, stderr, path.join('make')) [translation:ERROR] File "/home/leo/Source Code/pypy-trunk/pypy/translator/platform/__init__.py", line 117, in _handle_error [translation:ERROR] raise CompilationError(stdout, stderr) [translation:ERROR] CompilationError: From amauryfa at gmail.com Thu Nov 19 09:43:36 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Thu, 19 Nov 2009 09:43:36 +0100 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: Message-ID: Hi, 2009/11/19 Leo Trottier : > ... perhaps this has been resolved (??) but two compilation attempts > on the pypy/trunk from earlier today failed with the following error > message. ?I'm compiling on a VirtualBox install of Xubuntu on OS-X (2 > gig allocated, dual-core 1 GHz cpu). > > the pypy-dist version compiles fine ... > > and/all guidance would be appreciated Could you try the compilation step manually: cd /tmp/usession-trunk-1/testing_1 make and report the error you see there? -- Amaury Forgeot d'Arc From trottier at gmail.com Thu Nov 19 13:00:07 2009 From: trottier at gmail.com (Leo Trottier) Date: Thu, 19 Nov 2009 04:00:07 -0800 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> References: <965F4B8F-592A-4B0C-BFF7-A5DB064D5D00@gmail.com> <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> Message-ID: [apologies for the spam, but people seem interested] On Snow Leopard, after adding the -m32 flags recommended by Leonardo, it got all the way to compilation, and then failed. I had tried to do a c-jit compile over the latest trunk using 32bit python. Here is the full run log: http://paste.pocoo.org/show/151639/ Leo On Wed, Nov 18, 2009 at 7:16 PM, Leonardo wrote: > There is still no backend for x86_64 but you can compile it with the jit in > 32 bit mode. For this you have to make your cpython go to 32bit mode (search > for it on the web, it is different if it is the standard python, the > python.org dmg or the macports one) and apply this patch: > > http://paste.pocoo.org/show/151604/ > > but it is way faster than compiling on a virtual machine. > > I want to work more on this patch and make it force the -m flag (based on > the arch of the python interpreter) to the compiler so it properly works on > snow leopard (that can run both 32 and 64 bit programs independent of kernel > arch). > > If you do please tell me how it went please :) > > On Nov 19, 2009, at 1:01 AM, Leo wrote: > > > I meant to say, is the JIT working in Snow Leopard in 64 bit? > > > > Leo > > > > On Wed, Nov 18, 2009 at 7:00 PM, Leo Trottier > wrote: > >> Is the working in Snow Leopard in 64 bit? It seemed there were > >> intractable errors in this regard earlier? > >> > >> Leo > >> > >> On Wed, Nov 18, 2009 at 6:40 PM, Leonardo wrote: > >>> Why don't you compile it on osx? most things should be working on osx > now. > >>> > >>> On Nov 18, 2009, at 11:14 PM, Leo wrote: > >>> > >>>> ... perhaps this has been resolved (??) but two compilation attempts > >>>> on the pypy/trunk from earlier today failed with the following error > >>>> message. I'm compiling on a VirtualBox install of Xubuntu on OS-X (2 > >>>> gig allocated, dual-core 1 GHz cpu). > >>>> > >>>> the pypy-dist version compiles fine ... > >>>> > >>>> and/all guidance would be appreciated > >>>> ========================== > >>>> > >>>> [platform:ERROR] make: Entering directory > `/tmp/usession-trunk-1/testing_1' > >>>> [platform:ERROR] gcc -O3 -pthread -fomit-frame-pointer > >>>> -frandom-seed=testing_1.c -o testing_1.s -S testing_1.c > >>>> -I/usr/include/python2.6 -I/home/leo/Source > >>>> Code/pypy-trunk/pypy/translator/c -I/usr/include/libffi > >>>> [platform:ERROR] make: Leaving directory > `/tmp/usession-trunk-1/testing_1' > >>>> [Timer] Timings: > >>>> [Timer] annotate --- 623.8 s > >>>> [Timer] rtype_lltype --- 768.0 s > >>>> [Timer] pyjitpl_lltype --- 570.6 s > >>>> [Timer] backendopt_lltype --- 359.7 s > >>>> [Timer] stackcheckinsertion_lltype --- 118.4 s > >>>> [Timer] database_c --- 789.6 s > >>>> [Timer] source_c --- 927.0 s > >>>> [Timer] compile_c --- 2.5 s > >>>> [Timer] =========================================== > >>>> [Timer] Total: --- 4159.4 s > >>>> [translation:ERROR] Error: > >>>> [translation:ERROR] Traceback (most recent call last): > >>>> [translation:ERROR] File "translate.py", line 277, in main > >>>> [translation:ERROR] drv.proceed(goals) > >>>> [translation:ERROR] File "/home/leo/Source > >>>> Code/pypy-trunk/pypy/translator/driver.py", line 741, in proceed > >>>> [translation:ERROR] return self._execute(goals, task_skip = > >>>> self._maybe_skip()) > >>>> [translation:ERROR] File "/home/leo/Source > >>>> Code/pypy-trunk/pypy/translator/tool/taskengine.py", line 116, in > >>>> _execute > >>>> [translation:ERROR] res = self._do(goal, taskcallable, *args, > **kwds) > >>>> [translation:ERROR] File "/home/leo/Source > >>>> Code/pypy-trunk/pypy/translator/driver.py", line 279, in _do > >>>> [translation:ERROR] res = func() > >>>> [translation:ERROR] File "/home/leo/Source > >>>> Code/pypy-trunk/pypy/translator/driver.py", line 504, in > >>>> task_compile_c > >>>> [translation:ERROR] cbuilder.compile() > >>>> [translation:ERROR] File "/home/leo/Source > >>>> Code/pypy-trunk/pypy/translator/c/genc.py", line 447, in compile > >>>> [translation:ERROR] > >>>> self.translator.platform.execute_makefile(self.targetdir) > >>>> [translation:ERROR] File "/home/leo/Source > >>>> Code/pypy-trunk/pypy/translator/platform/posix.py", line 114, in > >>>> execute_makefile > >>>> [translation:ERROR] self._handle_error(returncode, stdout, stderr, > >>>> path.join('make')) > >>>> [translation:ERROR] File "/home/leo/Source > >>>> Code/pypy-trunk/pypy/translator/platform/__init__.py", line 117, in > >>>> _handle_error > >>>> [translation:ERROR] raise CompilationError(stdout, stderr) > >>>> [translation:ERROR] CompilationError: > >>>> _______________________________________________ > >>>> pypy-dev at codespeak.net > >>>> http://codespeak.net/mailman/listinfo/pypy-dev > >>> > >>> -- > >>> Leonardo > >>> > >>> > >>> > >>> > >> > > -- > Leonardo > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091119/3af9f27d/attachment.htm From amauryfa at gmail.com Thu Nov 19 13:06:47 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Thu, 19 Nov 2009 13:06:47 +0100 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: <965F4B8F-592A-4B0C-BFF7-A5DB064D5D00@gmail.com> <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> Message-ID: 2009/11/19 Leo Trottier : > [apologies for the spam, but people seem interested] > On Snow Leopard, after adding the -m32 flags recommended by Leonardo, it got > all the way to compilation, and then failed. I had tried to do a c-jit > compile over the latest trunk using 32bit python. > Here is the full run log:?http://paste.pocoo.org/show/151639/ Unfortunately, the log does not show all compilation output. Again you should do it manually: cd /var/folders/S+/S+mQx368HdO8O9qxkcyoQk+++TI/-Tmp-/usession-trunk-0/testing_1 make -- Amaury Forgeot d'Arc From trottier at gmail.com Thu Nov 19 13:13:55 2009 From: trottier at gmail.com (Leo Trottier) Date: Thu, 19 Nov 2009 04:13:55 -0800 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: <965F4B8F-592A-4B0C-BFF7-A5DB064D5D00@gmail.com> <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> Message-ID: As requested: http://paste.pocoo.org/show/151641/ On Thu, Nov 19, 2009 at 4:06 AM, Amaury Forgeot d'Arc wrote: > 2009/11/19 Leo Trottier : > > [apologies for the spam, but people seem interested] > > On Snow Leopard, after adding the -m32 flags recommended by Leonardo, it > got > > all the way to compilation, and then failed. I had tried to do a c-jit > > compile over the latest trunk using 32bit python. > > Here is the full run log: http://paste.pocoo.org/show/151639/ > > Unfortunately, the log does not show all compilation output. > Again you should do it manually: > > cd > /var/folders/S+/S+mQx368HdO8O9qxkcyoQk+++TI/-Tmp-/usession-trunk-0/testing_1 > make > > -- > Amaury Forgeot d'Arc > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091119/8f3b526f/attachment.htm From fijall at gmail.com Thu Nov 19 13:19:02 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Thu, 19 Nov 2009 13:19:02 +0100 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: <965F4B8F-592A-4B0C-BFF7-A5DB064D5D00@gmail.com> <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> Message-ID: <693bc9ab0911190419vb03205ai6524f0310b5a1d81@mail.gmail.com> Hey. This seems to be a problem with trackgcroot, can you put up offending .s file (implement_5.s) somewhere? If not, send it to me by mail, I'll do it. On Thu, Nov 19, 2009 at 1:13 PM, Leo Trottier wrote: > As requested: > http://paste.pocoo.org/show/151641/ > > On Thu, Nov 19, 2009 at 4:06 AM, Amaury Forgeot d'Arc > wrote: >> >> 2009/11/19 Leo Trottier : >> > [apologies for the spam, but people seem interested] >> > On Snow Leopard, after adding the -m32 flags recommended by Leonardo, it >> > got >> > all the way to compilation, and then failed. I had tried to do a c-jit >> > compile over the latest trunk using 32bit python. >> > Here is the full run log:?http://paste.pocoo.org/show/151639/ >> >> Unfortunately, the log does not show all compilation output. >> Again you should do it manually: >> >> cd >> /var/folders/S+/S+mQx368HdO8O9qxkcyoQk+++TI/-Tmp-/usession-trunk-0/testing_1 >> make >> >> -- >> Amaury Forgeot d'Arc > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > From fijall at gmail.com Thu Nov 19 18:06:59 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Thu, 19 Nov 2009 18:06:59 +0100 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: <965F4B8F-592A-4B0C-BFF7-A5DB064D5D00@gmail.com> <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> <693bc9ab0911190419vb03205ai6524f0310b5a1d81@mail.gmail.com> Message-ID: <693bc9ab0911190906l79021e2av808590b7cb0dd530@mail.gmail.com> Thanks. They stay for a while (4 more runs by default), so they're deleted but not immediately. Cheers, fijal On Thu, Nov 19, 2009 at 6:03 PM, Leo Trottier wrote: > The .s files are typically removed when the build fails. ?I've managed to > grab one, I think, before it got deleted. > You'll see it fail in the log, presumably in the same way, here: > http://paste.pocoo.org/show/151704/ > I've abused paste.pocoo and posted it > here:?http://paste.pocoo.org/show/151706/ > (I've also attached it) > Leo > > On Thu, Nov 19, 2009 at 4:19 AM, Maciej Fijalkowski > wrote: >> >> Hey. >> >> This seems to be a problem with trackgcroot, can you put up offending >> .s file (implement_5.s) somewhere? If not, send it to me by mail, I'll >> do it. >> >> On Thu, Nov 19, 2009 at 1:13 PM, Leo Trottier wrote: >> > As requested: >> > http://paste.pocoo.org/show/151641/ >> > >> > On Thu, Nov 19, 2009 at 4:06 AM, Amaury Forgeot d'Arc >> > >> > wrote: >> >> >> >> 2009/11/19 Leo Trottier : >> >> > [apologies for the spam, but people seem interested] >> >> > On Snow Leopard, after adding the -m32 flags recommended by Leonardo, >> >> > it >> >> > got >> >> > all the way to compilation, and then failed. I had tried to do a >> >> > c-jit >> >> > compile over the latest trunk using 32bit python. >> >> > Here is the full run log:?http://paste.pocoo.org/show/151639/ >> >> >> >> Unfortunately, the log does not show all compilation output. >> >> Again you should do it manually: >> >> >> >> cd >> >> >> >> /var/folders/S+/S+mQx368HdO8O9qxkcyoQk+++TI/-Tmp-/usession-trunk-0/testing_1 >> >> make >> >> >> >> -- >> >> Amaury Forgeot d'Arc >> > >> > >> > _______________________________________________ >> > pypy-dev at codespeak.net >> > http://codespeak.net/mailman/listinfo/pypy-dev >> > > > From amauryfa at gmail.com Thu Nov 19 18:09:49 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Thu, 19 Nov 2009 18:09:49 +0100 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: <965F4B8F-592A-4B0C-BFF7-A5DB064D5D00@gmail.com> <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> <693bc9ab0911190419vb03205ai6524f0310b5a1d81@mail.gmail.com> Message-ID: 2009/11/19 Leo Trottier : > The .s files are typically removed when the build fails. ?I've managed to > grab one, I think, before it got deleted. > You'll see it fail in the log, presumably in the same way, here: > http://paste.pocoo.org/show/151704/ > I've abused paste.pocoo and posted it > here:?http://paste.pocoo.org/show/151706/ > (I've also attached it) Unfortunately, the file you sent has been truncated (before the point where it fails) Can you please run rm implement_9.s make implement_9.s to regenerate it. Cheers, -- Amaury Forgeot d'Arc From amauryfa at gmail.com Fri Nov 20 00:55:43 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Fri, 20 Nov 2009 00:55:43 +0100 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> <693bc9ab0911190419vb03205ai6524f0310b5a1d81@mail.gmail.com> Message-ID: 2009/11/19 Leo Trottier : > attached -- > also (more lodgeit abuse):?http://paste.pocoo.org/show/151708/ > Leo I narrowed the problem to one function. copy the attached file somewhere, and run trackgcroot like this: python translator/c/gcc/trackgcroot.py -fdarwin -t function.s I'm still trying to understand the control flow of this function (there are 68 jumps...) and why trackgcroot fails to find the value at the origin of some register. -- Amaury Forgeot d'Arc -------------- next part -------------- A non-text attachment was scrubbed... Name: function.s Type: application/octet-stream Size: 9677 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091120/90aa1009/attachment.obj From santagada at gmail.com Fri Nov 20 01:30:14 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Thu, 19 Nov 2009 22:30:14 -0200 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> <693bc9ab0911190419vb03205ai6524f0310b5a1d81@mail.gmail.com> Message-ID: <5BF5CCD8-A876-43B6-A184-0428D6065E9B@gmail.com> On Nov 19, 2009, at 9:55 PM, Amaury Forgeot d'Arc wrote: > 2009/11/19 Leo Trottier : >> attached -- >> also (more lodgeit abuse): http://paste.pocoo.org/show/151708/ >> Leo > > I narrowed the problem to one function. > copy the attached file somewhere, and run trackgcroot like this: > > python translator/c/gcc/trackgcroot.py -fdarwin -t function.s > > I'm still trying to understand the control flow of this function > (there are 68 jumps...) > and why trackgcroot fails to find the value at the origin of some register. I just translated pypy-c-jit (now using my new patch, setting -arch i386 instead of -m32) and it worked, although it didn't compile bz2 support (probably a package I installed with macports without the universal variant). Here is the new patch if someone wants to test it more: http://paste.pocoo.org/show/151790/ -- Leonardo Santagada santagada at gmail.com From trottier at gmail.com Fri Nov 20 03:17:01 2009 From: trottier at gmail.com (Leo Trottier) Date: Thu, 19 Nov 2009 18:17:01 -0800 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: <3A7C2110-F1D6-469B-8D42-0881B2F3CDD6@gmail.com> <693bc9ab0911190419vb03205ai6524f0310b5a1d81@mail.gmail.com> Message-ID: Here's the result: .Traceback (most recent call last): File "translator/c/gcc/trackgcroot.py", line 1612, in tracker.process(f, g, filename=fn) File "translator/c/gcc/trackgcroot.py", line 1420, in process lines = parser.process_function(lines, entrypoint, filename) File "translator/c/gcc/trackgcroot.py", line 1071, in process_function lines, entrypoint, filename) File "translator/c/gcc/trackgcroot.py", line 986, in process_function table = tracker.computegcmaptable(self.verbose) File "translator/c/gcc/trackgcroot.py", line 50, in computegcmaptable self.trackgcroots() File "translator/c/gcc/trackgcroot.py", line 269, in trackgcroots self.walk_instructions_backwards(walker, insn, loc) File "translator/c/gcc/trackgcroot.py", line 288, in walk_instructions_backwards for prevstate in walker(insn, state): File "translator/c/gcc/trackgcroot.py", line 261, in walker source = insn.source_of(loc, tag) File "/Users/leotrottier/Source_Code/pypy-trunk/pypy/translator/c/gcc/instruction.py", line 96, in source_of (localvar,)) AssertionError: must come from an argument to the function, got <-44;esp> On Thu, Nov 19, 2009 at 3:55 PM, Amaury Forgeot d'Arc wrote: > 2009/11/19 Leo Trottier : > > attached -- > > also (more lodgeit abuse): http://paste.pocoo.org/show/151708/ > > Leo > > I narrowed the problem to one function. > copy the attached file somewhere, and run trackgcroot like this: > > python translator/c/gcc/trackgcroot.py -fdarwin -t function.s > > I'm still trying to understand the control flow of this function > (there are 68 jumps...) > and why trackgcroot fails to find the value at the origin of some register. > > -- > Amaury Forgeot d'Arc > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091119/ad23974f/attachment-0001.htm From amauryfa at gmail.com Fri Nov 20 15:03:58 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Fri, 20 Nov 2009 15:03:58 +0100 Subject: [pypy-dev] pypy-c-jit compilation error In-Reply-To: References: <693bc9ab0911190419vb03205ai6524f0310b5a1d81@mail.gmail.com> Message-ID: Hi, 2009/11/20 Leo Trottier : [...] > AssertionError: must come from an argument to the function, got <-44;esp> This should be corrected by now. A function known by the compiler to abort and not return was not listed in the script that builds the control flow of assembler code. -- Amaury Forgeot d'Arc From grobinson at flyfi.com Sat Nov 21 14:54:30 2009 From: grobinson at flyfi.com (Gary Robinson) Date: Sat, 21 Nov 2009 08:54:30 -0500 Subject: [pypy-dev] pyprocessing/multiprocessing Message-ID: <20091121085430645676.95eb2994@flyfi.com> Hi, I'm wondering whether anyone has gotten the pyprocessing/multiprocessing module (in one version or the other) working with PyPy? I don't see it listed among the supported modules, but I want to ask to make sure I'm not just missing something. If it's not working yet, is there an ETA?? Thanks, Gary -- Gary Robinson CTO Emergent Music, LLC grobinson at flyfi.com 207-942-3463 Company: http://www.flyfi.com Blog: http://www.garyrobinson.net From fijall at gmail.com Sat Nov 21 15:05:28 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Sat, 21 Nov 2009 15:05:28 +0100 Subject: [pypy-dev] pyprocessing/multiprocessing In-Reply-To: <20091121085430645676.95eb2994@flyfi.com> References: <20091121085430645676.95eb2994@flyfi.com> Message-ID: <693bc9ab0911210605o6592ceffrd2f63d9ee4701614@mail.gmail.com> No, noone did. You can't get C module to work on PyPy, you need to port it to RPython first. I'm not aware about anyone who would like to work on it among core devs, I suppose feel free to do so, we can help. It's open source after all :-) Cheers, fijal On Sat, Nov 21, 2009 at 2:54 PM, Gary Robinson wrote: > Hi, > > I'm wondering whether anyone has gotten the pyprocessing/multiprocessing module (in one version or the other) working with PyPy? I don't see it listed among the supported modules, but I want to ask to make sure I'm not just missing something. If it's not working yet, is there an ETA?? > > Thanks, > Gary > -- > > Gary Robinson > CTO > Emergent Music, LLC > grobinson at flyfi.com > 207-942-3463 > Company: http://www.flyfi.com > Blog: ? ?http://www.garyrobinson.net > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > From fijall at gmail.com Sat Nov 21 15:06:29 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Sat, 21 Nov 2009 15:06:29 +0100 Subject: [pypy-dev] pyprocessing/multiprocessing In-Reply-To: <693bc9ab0911210605o6592ceffrd2f63d9ee4701614@mail.gmail.com> References: <20091121085430645676.95eb2994@flyfi.com> <693bc9ab0911210605o6592ceffrd2f63d9ee4701614@mail.gmail.com> Message-ID: <693bc9ab0911210606r371c0cddg52775410a2b2a00f@mail.gmail.com> On Sat, Nov 21, 2009 at 3:05 PM, Maciej Fijalkowski wrote: > No, noone did. You can't get C module to work on PyPy, you need to > port it to RPython first. I'm not aware about anyone who would like to > work on it among core devs, I suppose feel free to do so, we can help. > It's open source after all :-) > > Cheers, > fijal > Oh, and by the way, personally I would prefer to kill the GIL, so we don't have to worry any more (but also noone from core devs is working on it). Cheers, fijal From benjamin at python.org Sat Nov 21 15:05:52 2009 From: benjamin at python.org (Benjamin Peterson) Date: Sat, 21 Nov 2009 08:05:52 -0600 Subject: [pypy-dev] pyprocessing/multiprocessing In-Reply-To: <20091121085430645676.95eb2994@flyfi.com> References: <20091121085430645676.95eb2994@flyfi.com> Message-ID: <1afaf6160911210605l4c063516s43febb87dc6a9999@mail.gmail.com> 2009/11/21 Gary Robinson : > Hi, > > I'm wondering whether anyone has gotten the pyprocessing/multiprocessing module (in one version or the other) working with PyPy? I don't see it listed among the supported modules, but I want to ask to make sure I'm not just missing something. If it's not working yet, is there an ETA?? We don't support Python 2.6, and probably won't for at least a year. -- Regards, Benjamin From grobinson at flyfi.com Sat Nov 21 15:35:02 2009 From: grobinson at flyfi.com (Gary Robinson) Date: Sat, 21 Nov 2009 09:35:02 -0500 Subject: [pypy-dev] pyprocessing/multiprocessing In-Reply-To: <693bc9ab0911210606r371c0cddg52775410a2b2a00f@mail.gmail.com> References: <20091121085430645676.95eb2994@flyfi.com> <693bc9ab0911210605o6592ceffrd2f63d9ee4701614@mail.gmail.com> <693bc9ab0911210606r371c0cddg52775410a2b2a00f@mail.gmail.com> Message-ID: <20091121093502403150.86fa8efe@flyfi.com> OK, thanks for the confirmation that it's not working yet, and letting me know what it would take! I wish we had the resources to take on the task of converting it to RPython, but there's no way at this point. :) I'm using pyprocessing with unladen swallow now and it works fine but for the kinds of things we're doing (mathy floating point stuff) I'd expect more speed from PyPy... -- Gary Robinson CTO Emergent Music, LLC grobinson at flyfi.com 207-942-3463 Company: http://www.flyfi.com Blog: http://www.garyrobinson.net On Sat, 21 Nov 2009 15:06:29 +0100, Maciej Fijalkowski wrote: > On Sat, Nov 21, 2009 at 3:05 PM, Maciej Fijalkowski > wrote: >> No, noone did. You can't get C module to work on PyPy, you need to >> port it to RPython first. I'm not aware about anyone who would like to >> work on it among core devs, I suppose feel free to do so, we can help. >> It's open source after all :-) >> >> Cheers, >> fijal >> > > Oh, and by the way, personally I would prefer to kill the GIL, so we > don't have to worry any more (but also noone from core devs is working > on it). > > Cheers, > fijal From grobinson at flyfi.com Sat Nov 21 15:36:59 2009 From: grobinson at flyfi.com (Gary Robinson) Date: Sat, 21 Nov 2009 09:36:59 -0500 Subject: [pypy-dev] pyprocessing/multiprocessing In-Reply-To: <1afaf6160911210605l4c063516s43febb87dc6a9999@mail.gmail.com> References: <20091121085430645676.95eb2994@flyfi.com> <1afaf6160911210605l4c063516s43febb87dc6a9999@mail.gmail.com> Message-ID: <20091121093659444784.6e5958ed@flyfi.com> > We don't support Python 2.6, and probably won't for at least a year. > pyprocessing is the module that multiprocessing sprang from. pyprocessing is much older, and works fine with python 2.5. (2.6's multiprocessing module has been backported to 2.5 too, I hear, but I'm not using it.) pyprocessing is here: http://pyprocessing.berlios.de/. (The actual module is called "processing" but pyprocessing has long been the name people have used to refer to it.) If somebody got that working, it should be a relatively short step to get multiprocessing working in PyPy's 2.6-compatible version. I care far more about pyprocessing than about 2.6... If the PyPy GIL was gone, that would be better of course, but that doesn't sound like it's going to happen any time soon... -- Gary Robinson CTO Emergent Music, LLC grobinson at flyfi.com 207-942-3463 Company: http://www.flyfi.com Blog: http://www.garyrobinson.net On Sat, 21 Nov 2009 08:05:52 -0600, Benjamin Peterson wrote: > 2009/11/21 Gary Robinson : >> Hi, >> >> I'm wondering whether anyone has gotten the >> pyprocessing/multiprocessing module (in one version or the other) >> working with PyPy? I don't see it listed among the supported >> modules, but I want to ask to make sure I'm not just missing >> something. If it's not working yet, is there an ETA?? > > We don't support Python 2.6, and probably won't for at least a year. > From ademan555 at gmail.com Sat Nov 21 21:00:38 2009 From: ademan555 at gmail.com (Dan Roberts) Date: Sat, 21 Nov 2009 12:00:38 -0800 Subject: [pypy-dev] os.wait() implementation Message-ID: <1258833638.15793.3.camel@StormEagle> Hi Everyone, I now have an application-level implementation of os.wait() complete. It's built on top of os.waitpid(), but according to the documentation I've found, the behavior should be the same. My test might be a bit objectionable as well, but I wanted to use a non-zero return value. I also modified test_popen() as it wasn't waiting for its children, and broke my test_os_wait(), since it was waiting for the child processes created by test_popen(). In the future it would be desirable to implement os.wait() in terms of the c wait() function in ll_os.py but currently (at least on Ubuntu 9.10) the c wait() function takes a pointer to a transparent struct, rather than an int, and that seems to prevent my interpreter level version from being built. I've attached both versions, but the interpreter level version will not translate. cheers, Dan P.S. This is my first patch, so it's probably worth giving it at least a once over... -------------- next part -------------- A non-text attachment was scrubbed... Name: pypy_os_wait_interplevel.diff Type: text/x-patch Size: 3494 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091121/b6d11556/attachment.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: pypy_os_wait_test_fixed.diff Type: text/x-patch Size: 2298 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091121/b6d11556/attachment-0001.bin From arigo at tunes.org Sun Nov 22 12:29:24 2009 From: arigo at tunes.org (Armin Rigo) Date: Sun, 22 Nov 2009 12:29:24 +0100 Subject: [pypy-dev] os.wait() implementation In-Reply-To: <1258833638.15793.3.camel@StormEagle> References: <1258833638.15793.3.camel@StormEagle> Message-ID: <20091122112924.GA14384@code0.codespeak.net> Hi Dan, On Sat, Nov 21, 2009 at 12:00:38PM -0800, Dan Roberts wrote: > I now have an application-level implementation of os.wait() complete. > It's built on top of os.waitpid(), but according to the documentation > I've found, the behavior should be the same. Thank you ! > + def wait(): > + import os > + return os.waitpid(-1, 0) It's more a general issue with app_posix.py, but I think that it should avoid these costly "import os" inside application-level functions. You already have the posix module imported (see the start of app_posix.py), so you can return posix.waitpid(-1, 0). The same comment applies to other places too, e.g. popenfile.close(). A bientot, Armin. From ademan555 at gmail.com Wed Nov 25 09:27:27 2009 From: ademan555 at gmail.com (Dan Roberts) Date: Wed, 25 Nov 2009 00:27:27 -0800 Subject: [pypy-dev] os.wait() implementation In-Reply-To: <20091122112924.GA14384@code0.codespeak.net> References: <1258833638.15793.3.camel@StormEagle> <20091122112924.GA14384@code0.codespeak.net> Message-ID: <1259137647.13743.23.camel@StormEagle> Hi Armin, Thanks for the reply, I've attached a new version of my patch. At first glance it would appear I've done little to address your concerns, however there's good reason for this. As it turns out, our implementation of popen() depends on execvp(), which is only implemented in the os module (specifically, the one borrowed from CPython). I did write an interpreter level version of execvp(), which would have allowed me to remove the imports of os from popen(), however I don't think it's wise to replace our existing application level implementation with my interpreter level implementation. Because of that, I can't remove the os dependency from popen(). For consistency, i left os in both popen() and popenfile because they directly interact. I did, however, modify wait() to use posix instead. Even though I didn't eliminate the os imports, my test *did* improve a bit from the old version, so this iteration isn't totally useless. :-) All posix tests are passing again, including the new os.wait() test. I'll be happy to address any other concerns you, or anyone else have, and if you'd like to remove those os imports, I'd like to talk to you about how to best approach that. Cheers, Dan On Sun, 2009-11-22 at 12:29 +0100, Armin Rigo wrote: > Hi Dan, > > On Sat, Nov 21, 2009 at 12:00:38PM -0800, Dan Roberts wrote: > > I now have an application-level implementation of os.wait() complete. > > It's built on top of os.waitpid(), but according to the documentation > > I've found, the behavior should be the same. > > Thank you ! > > > + def wait(): > > + import os > > + return os.waitpid(-1, 0) > > It's more a general issue with app_posix.py, but I think that it should > avoid these costly "import os" inside application-level functions. You > already have the posix module imported (see the start of app_posix.py), > so you can return posix.waitpid(-1, 0). The same comment applies to > other places too, e.g. popenfile.close(). > > > A bientot, > > Armin. -------------- next part -------------- A non-text attachment was scrubbed... Name: pypy_os_wait_complete.diff Type: text/x-patch Size: 3237 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091125/e38e6c9f/attachment.bin From fijall at gmail.com Thu Nov 26 00:47:42 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Thu, 26 Nov 2009 00:47:42 +0100 Subject: [pypy-dev] PyPy docs on codespeak Message-ID: <693bc9ab0911251547p5811452dyaf84222b7b634d6a@mail.gmail.com> Hello. Can someone make sure that docs on codespeak point to trunk not dist? Too many people get confused about that. (even better, how do I change it?). Cheers, fijal From fijall at gmail.com Thu Nov 26 02:22:02 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Thu, 26 Nov 2009 02:22:02 +0100 Subject: [pypy-dev] Numpy RPython support Message-ID: <693bc9ab0911251722l1c9feacbx3841908e8426f78b@mail.gmail.com> Hello. Is anyone using Numpy RPython support? It's a feature that does not stand in anyone's way, but it adds to source code and I wonder if anyone uses it. If not, I would like to delete it, simply because it's unused. Cheers, fijal From santagada at gmail.com Thu Nov 26 05:30:36 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Thu, 26 Nov 2009 02:30:36 -0200 Subject: [pypy-dev] Merge request for branch/force-arch-darwin Message-ID: <03445AD3-F427-4909-AEC0-57A21B7F457C@gmail.com> I reverted the locale patch as requested and so I want to ask someone to review and merge the branch/force-arch-darwin. To garantee that everything is ok I asked to build it on macosx and linux: http://codespeak.net:8099/builders/own-macosx-x86-32/builds/19 http://codespeak.net:8099/builders/own-linux-x86-32/builds/659 this plus the locale work halves the bugs on mac os x. Theres a ton of bugs about unicode being 2 bytes on python and 4 on wchar_t and then theres the work on the jit. thanks for reading and/or reviewing the patches, -- Leonardo Santagada santagada at gmail.com From arigo at tunes.org Thu Nov 26 11:24:37 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 26 Nov 2009 11:24:37 +0100 Subject: [pypy-dev] os.wait() implementation In-Reply-To: <1259137647.13743.23.camel@StormEagle> References: <1258833638.15793.3.camel@StormEagle> <20091122112924.GA14384@code0.codespeak.net> <1259137647.13743.23.camel@StormEagle> Message-ID: <20091126102437.GA14675@code0.codespeak.net> Hi Dan, On Wed, Nov 25, 2009 at 12:27:27AM -0800, Dan Roberts wrote: > Thanks for the reply, I've attached a new version of my patch. At first > glance it would appear I've done little to address your concerns, > however there's good reason for this. As it turns out, our > implementation of popen() depends on execvp(), which is only implemented > in the os module (specifically, the one borrowed from CPython). Ah, ok. I see now why there is 'import os' there. So that means that your patch with 'posix.waitpid' instead of 'os.waitpid' is fine. A bientot, Armin. From arigo at tunes.org Thu Nov 26 11:28:26 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 26 Nov 2009 11:28:26 +0100 Subject: [pypy-dev] PyPy docs on codespeak In-Reply-To: <693bc9ab0911251547p5811452dyaf84222b7b634d6a@mail.gmail.com> References: <693bc9ab0911251547p5811452dyaf84222b7b634d6a@mail.gmail.com> Message-ID: <20091126102826.GB14675@code0.codespeak.net> Hi Maciej, On Thu, Nov 26, 2009 at 12:47:42AM +0100, Maciej Fijalkowski wrote: > Can someone make sure that docs on codespeak point to trunk not dist? > Too many people get confused about that. (even better, how do I change > it?). Is there a reason to keep dist in our subversion repository? I think that we should say it's ok to overwrite dist with trunk every now and then, at least as long as the tests are happy. Note that neither trunk nor dist docs are automatically updated right now, I think. Someone with codespeak root access needs to run "svn up && py.test" in /www/codespeak.net/htdocs/pypy/dist/pypy/doc/. A bientot, Armin. From fijall at gmail.com Thu Nov 26 11:47:33 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Thu, 26 Nov 2009 11:47:33 +0100 Subject: [pypy-dev] os.wait() implementation In-Reply-To: <20091126102437.GA14675@code0.codespeak.net> References: <1258833638.15793.3.camel@StormEagle> <20091122112924.GA14384@code0.codespeak.net> <1259137647.13743.23.camel@StormEagle> <20091126102437.GA14675@code0.codespeak.net> Message-ID: <693bc9ab0911260247u1f359d6vff9c7182863bc01d@mail.gmail.com> Commited On Thu, Nov 26, 2009 at 11:24 AM, Armin Rigo wrote: > Hi Dan, > > On Wed, Nov 25, 2009 at 12:27:27AM -0800, Dan Roberts wrote: >> Thanks for the reply, I've attached a new version of my patch. ?At first >> glance it would appear I've done little to address your concerns, >> however there's good reason for this. ?As it turns out, our >> implementation of popen() depends on execvp(), which is only implemented >> in the os module (specifically, the one borrowed from CPython). > > Ah, ok. ?I see now why there is 'import os' there. ?So that means that > your patch with 'posix.waitpid' instead of 'os.waitpid' is fine. > > > A bientot, > > Armin. > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > From holger at merlinux.eu Thu Nov 26 14:24:15 2009 From: holger at merlinux.eu (holger krekel) Date: Thu, 26 Nov 2009 14:24:15 +0100 Subject: [pypy-dev] Numpy RPython support In-Reply-To: <693bc9ab0911251722l1c9feacbx3841908e8426f78b@mail.gmail.com> References: <693bc9ab0911251722l1c9feacbx3841908e8426f78b@mail.gmail.com> Message-ID: <20091126132415.GI29390@trillke.net> Hi Maciej, On Thu, Nov 26, 2009 at 02:22 +0100, Maciej Fijalkowski wrote: > Hello. > > Is anyone using Numpy RPython support? It's a feature that does not > stand in anyone's way, > but it adds to source code and I wonder if anyone uses it. If not, I > would like to delete it, simply > because it's unused. there may be a bit of a chicken/egg problem wrt using PyPy/Numpy. What about posting to a Numpy list, telling about examples that work and asking if anybody is interested in using/extending/feedbacking on it? cheers, holger From anto.cuni at gmail.com Sat Nov 28 01:16:39 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Sat, 28 Nov 2009 01:16:39 +0100 Subject: [pypy-dev] [pypy-svn] r69710 - in pypy/trunk/pypy/module/oracle: . test In-Reply-To: <20091127183029.6A3E1168101@codespeak.net> References: <20091127183029.6A3E1168101@codespeak.net> Message-ID: <4B106BE7.6080504@gmail.com> afa at codespeak.net wrote: > Log: > Now the cx_Oracle module translates, compiles, and works! > Tested on Windows. great work! I think it's worth a blog post. ciao, Anto From holger at merlinux.eu Sat Nov 28 01:34:08 2009 From: holger at merlinux.eu (holger krekel) Date: Sat, 28 Nov 2009 01:34:08 +0100 Subject: [pypy-dev] ciss-0.1: code-centered issue tracking Message-ID: <20091128003408.GR29390@trillke.net> Hi all, just released ciss-0.1, my attempt at (what i call) code-centered issue tracking. ciss is: - a command line tool for managing your ISSUES.txt - code-centered: associate issues to files in your project - extensible: assign tags for status/milestone/custom usage. - ueber-powerful issue editing: your text editor! - well tested (more tests than code) If that appeals to you somewhat, check it out: http://codespeak.net/ciss And in case you wonder, why i don't use pitz or ditz? For one, I don't want to edit my issues from an interactive Python prompt, sorry. Second, they create directories and pickle-files and whatnot - i just want to keep a plain text file for a number of projects and using a text editor and a nice cmdline tool is the fastest way i can imagine. Oh, and I do see use in web-based issue interaction but keeping issues close-to-code (tm) and easy-to-edit (tm) is just so much more fun. Besides, i believe 'ciss' could learn to round-trip with existing trackers. anyway, have fun, holger From pedronis at openend.se Mon Nov 30 16:08:14 2009 From: pedronis at openend.se (Samuele Pedroni) Date: Mon, 30 Nov 2009 16:08:14 +0100 Subject: [pypy-dev] lib-python and app-level (py.test -A) tests unified Message-ID: <4B13DFDE.7070504@openend.se> FYI, I have unified the builders for lib-python and py.test -A tests for compiled pypy-c. These means that each night we compile less pypy-c and reuse them more. Builders with "app-level" in their name usually imply now running the lib-python tests too. Stackless tests still run only the py.test -A ones, pypy-c-jit tests the lib-python one plus the jit quality ones. Samuele From list-sink at trainedmonkeystudios.org Tue Dec 1 08:13:23 2009 From: list-sink at trainedmonkeystudios.org (Terrence Cole) Date: Mon, 30 Nov 2009 23:13:23 -0800 Subject: [pypy-dev] pyprocessing/multiprocessing In-Reply-To: <20091121093502403150.86fa8efe@flyfi.com> References: <20091121085430645676.95eb2994@flyfi.com> <693bc9ab0911210605o6592ceffrd2f63d9ee4701614@mail.gmail.com> <693bc9ab0911210606r371c0cddg52775410a2b2a00f@mail.gmail.com> <20091121093502403150.86fa8efe@flyfi.com> Message-ID: <1259651603.31237.27.camel@localhost> On Sat, 2009-11-21 at 09:35 -0500, Gary Robinson wrote: > OK, thanks for the confirmation that it's not working yet, and letting me know what it would take! > > I wish we had the resources to take on the task of converting it to > RPython, but there's no way at this point. :) I'm using pyprocessing > with unladen swallow now and it works fine but for the kinds of things > we're doing (mathy floating point stuff) I'd expect more speed from > PyPy... The C component of multiprocessing, at least in python 2.6 is tiny and trivial: a read and write implementation for the underlying connection class. It would probably be better off converted to plain python for pypy in any case. On Sat, 2009-11-21 at 15:06 +0100, Maciej Fijalkowski wrote: > Oh, and by the way, personally I would prefer to kill the GIL, so we > don't have to worry any more (but also noone from core devs is working > on it). > What, roughly, would be required to remove pypy's gil? I have heard rather nebulous tales of woe and tribulation on the cpython lists referring to fine-grained per-object locking, re-entrant garbage collectors, abi stability, and other horrors. I have no idea what bits of this dubious information would be relevant to pypy's rather more abstract internals, however. -Terrence From arigo at tunes.org Wed Dec 2 13:43:19 2009 From: arigo at tunes.org (Armin Rigo) Date: Wed, 2 Dec 2009 13:43:19 +0100 Subject: [pypy-dev] Leysin Winter Sprint: 23-30th January 2010 Message-ID: <20091202124318.GA17481@code0.codespeak.net> ===================================================================== PyPy Leysin Winter Sprint (23-30th January 2010) ===================================================================== .. image:: http://www.ermina.ch/002.JPG The next PyPy sprint will be in Leysin, Switzerland, for the seventh time. This is a fully public sprint: newcomers and topics other than those proposed below are welcome. ------------------------------ Goals and topics of the sprint ------------------------------ * The main idea of the sprint is to prepare the upcoming release of PyPy. This means mostly JIT or JIT-related work. It is a bit hard to be more precise right now, because it depends on how much is left to do in the core JIT. So work will be focused either on the JIT itself or on "make this or that feature of PyPy more JIT-friendly". Of course, as usual, we are ready to add any other task -- please mention on the mailing list what you would like to work on; the list of task is not really fixed. * And as usual, the main side goal is to have fun in winter sports :-) We can take a day off for ski. ----------- Exact times ----------- Officially, 23-30 January 2010. The idea is that the 23rd should be the arrival day, so we won't work too much until the 24th. ----------------------- Location & Accomodation ----------------------- Leysin, Switzerland, "same place as before". Let me refresh your memory: both the sprint venue and the lodging will be in a very spacious pair of chalets built specifically for bed & breakfast: http://www.ermina.ch/. The place has a good ADSL Internet connexion with wireless installed. You can of course arrange your own lodging anywhere (so long as you are in Leysin, you cannot be more than a 15 minutes walk away from the sprint venue), but I definitely recommend lodging there too -- you won't find a better view anywhere else (though you probably won't get much worse ones easily, either :-) Please *confirm* that you are coming so that we can adjust the reservations as appropriate. The rate so far has been around 60 CHF a night all included in 2-person rooms, with breakfast. There are larger rooms too (less expensive) and maybe the possibility to get a single room if you really want to. Please register by svn: http://codespeak.net/svn/pypy/extradoc/sprintinfo/leysin-winter-2010/people.txt or on the pypy-sprint mailing list if you do not yet have check-in rights: http://codespeak.net/mailman/listinfo/pypy-sprint You need a Swiss-to-(insert country here) power adapter. There will be some Swiss-to-EU adapters around -- bring a EU-format power strip if you have one. From cfbolz at gmx.de Wed Dec 2 15:37:31 2009 From: cfbolz at gmx.de (Carl Friedrich Bolz) Date: Wed, 02 Dec 2009 15:37:31 +0100 Subject: [pypy-dev] Moving language implementations out of the PyPy tree Message-ID: <4B167BAB.6090509@gmx.de> Hi all, this has been discussed a few times in the past, but I actually started on this today. The idea is to no longer have the various non-Python implementations in the pypy/trunk/pypy/lang part of svn, as a first step of having a less monolithic PyPy source tree. Instead I made a new directory where those languages can live: https://codespeak.net/svn/pypy/lang The idea is that the various languages have a subdirectory there, with their own trunk/branches. I did the move for the Io, the Prolog and the Smalltalk interpreter. The following subdirs in pypy/trunk/pypy/lang still need to be moved: - automata - gameboy - js - malbolge - scheme Could people actual involved in those implementations step up and do the move? Cheers, Carl Friedrich From arigo at tunes.org Thu Dec 3 16:19:18 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 3 Dec 2009 16:19:18 +0100 Subject: [pypy-dev] Leysin Winter Sprint: 23-30th January 2010 In-Reply-To: <20091202124318.GA17481@code0.codespeak.net> References: <20091202124318.GA17481@code0.codespeak.net> Message-ID: <20091203151918.GA18204@code0.codespeak.net> Hi all, Given the number of absent people announced already, I start to wonder if it makes sense to have a sprint at these dates at all. Indeed, from the list of "core" people, namely Maciek, Carl Friedrich, Antonio, Samuele and myself, we have two "no", two "yes", and one "don't know". The two "yes" are from Samuele and myself, which is particularly pointless given that we are together in Goteborg already. The two "no" are from Maciek and Carl Friedrich. What do you think? Moving the sprint to some unspecified later date would seem to be the best plan at the moment. Note that I will myself stay in Switzerland until mid-February in any case. A bientot, Armin. From hakan at debian.org Thu Dec 3 16:55:08 2009 From: hakan at debian.org (Hakan Ardo) Date: Thu, 3 Dec 2009 16:55:08 +0100 Subject: [pypy-dev] Special methods Message-ID: Hi, some while ago we had a discution about how to make rpython classes supprt special methods. I've spent some time on that and have an implementation[1] that implemtes support for quite a few of them. It consists of 4 patches and one special_methods module. Would it be of interest to palce this in the svn? If not what about apply the patches (with suitable modificatons)? How cnan I make that happend? 1. http://hakan.ardoe.net/pypy/ -- H?kan Ard? From santagada at gmail.com Thu Dec 3 17:57:37 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Thu, 3 Dec 2009 14:57:37 -0200 Subject: [pypy-dev] Leysin Winter Sprint: 23-30th January 2010 In-Reply-To: <20091203151918.GA18204@code0.codespeak.net> References: <20091202124318.GA17481@code0.codespeak.net> <20091203151918.GA18204@code0.codespeak.net> Message-ID: <07BB8FB8-EEC2-4672-908F-974F24E3B4DC@gmail.com> On Dec 3, 2009, at 1:19 PM, Armin Rigo wrote: > What do you think? Moving the sprint to some unspecified later date > would seem to be the best plan at the moment. Talked on the channel about doing it during the pycon atlanta. Would the main developers go there? Can the pypy project reserve some space during the sprint days (from 22-25 february)? I think this would be a good chance to have more people involved, as I think there is some renewed interest in pypy since the news about the jit started to appear on the blog. Here is the call for sprints (but be aware that the dates apear to be wrong) http://us.pycon.org/2010/sprints/call-for-projects/ the correct dates and more info here: http://us.pycon.org/2010/sprints/ -- Leonardo Santagada santagada at gmail.com From lac at openend.se Thu Dec 3 20:58:56 2009 From: lac at openend.se (Laura Creighton) Date: Thu, 03 Dec 2009 20:58:56 +0100 Subject: [pypy-dev] Leysin Winter Sprint: 23-30th January 2010 In-Reply-To: Message from Armin Rigo of "Thu, 03 Dec 2009 16:19:18 +0100." <20091203151918.GA18204@code0.codespeak.net> References: <20091202124318.GA17481@code0.codespeak.net> <20091203151918.GA18204@code0.codespeak.net> Message-ID: <200912031958.nB3JwusP017965@theraft.openend.se> In a message of Thu, 03 Dec 2009 16:19:18 +0100, Armin Rigo writes: >Hi all, > >Given the number of absent people announced already, I start to wonder >if it makes sense to have a sprint at these dates at all. Indeed, from >the list of "core" people, namely Maciek, Carl Friedrich, Antonio, >Samuele and myself, we have two "no", two "yes", and one "don't know". >The two "yes" are from Samuele and myself, which is particularly >pointless given that we are together in Goteborg already. The two "no" >are from Maciek and Carl Friedrich. > >What do you think? Moving the sprint to some unspecified later date >would seem to be the best plan at the moment. > >Note that I will myself stay in Switzerland until mid-February in any >case. > > >A bientot, > >Armin. Can we still get a release made before PyCON? Laura From benjamin at python.org Fri Dec 4 05:13:54 2009 From: benjamin at python.org (Benjamin Peterson) Date: Thu, 3 Dec 2009 22:13:54 -0600 Subject: [pypy-dev] Special methods In-Reply-To: References: Message-ID: <1afaf6160912032013l3b081a69j8607ca0de76e4a5a@mail.gmail.com> 2009/12/3 Hakan Ardo : > Hi, > some while ago we had a discution about how to make rpython classes > supprt special methods. ?I've spent some time on that and have an > implementation[1] that implemtes support for quite a few of them. It > consists of 4 patches and one special_methods module. Would it be of > interest to palce this in the svn? If not what about apply the patches > (with suitable modificatons)? How cnan I make that happend? I'm personally -1 to this change. RPython is supposed to be a no-frills language, and I don't really see the advantage or use cases for adding this extra maintenance burden. -- Regards, Benjamin From william.leslie.ttg at gmail.com Fri Dec 4 05:36:56 2009 From: william.leslie.ttg at gmail.com (William Leslie) Date: Fri, 4 Dec 2009 15:36:56 +1100 Subject: [pypy-dev] Special methods In-Reply-To: <1afaf6160912032013l3b081a69j8607ca0de76e4a5a@mail.gmail.com> References: <1afaf6160912032013l3b081a69j8607ca0de76e4a5a@mail.gmail.com> Message-ID: You probably mean SomeInstance rather than SomeObject in that annotator patch. 2009/12/4 Benjamin Peterson : > 2009/12/3 Hakan Ardo : >> Hi, >> some while ago we had a discution about how to make rpython classes >> supprt special methods. ?I've spent some time on that and have an >> implementation[1] that implemtes support for quite a few of them. It >> consists of 4 patches and one special_methods module. Would it be of >> interest to palce this in the svn? If not what about apply the patches >> (with suitable modificatons)? How cnan I make that happend? > > I'm personally -1 to this change. RPython is supposed to be a > no-frills language, and I don't really see the advantage or use cases > for adding this extra maintenance burden. Not only is it potentially a maintainence burden, it is also a development burden when doing optimisations on the rtyped graphs, for example, any optimisation that deals with setitem in some way now has to deal with the target not being a list or dict. This is probably not as big a deal now as it may be in the future, since a lot of new analyses seem to be using the lltype and ootype systems rather than the high level types (hence the type information is encoded into the operation where useful). Willam Leslie From hakan at debian.org Fri Dec 4 09:23:55 2009 From: hakan at debian.org (Hakan Ardo) Date: Fri, 4 Dec 2009 09:23:55 +0100 Subject: [pypy-dev] Special methods In-Reply-To: References: <1afaf6160912032013l3b081a69j8607ca0de76e4a5a@mail.gmail.com> Message-ID: On Fri, Dec 4, 2009 at 5:36 AM, William Leslie wrote: > You probably mean SomeInstance rather than SomeObject in that annotator patch. No, the intention with that construction is to make the can_be_notImplemented method return True for SomeObject instances, but defalt to False for all subclasses not implementing the can_be_notImplemented method. I.e. we want SomeInteger to still represent an integer and not an "integer or NotImplemented". The alternative would be to add a can_be_notImplemented method to every Some.... class returning False. >> >> I'm personally -1 to this change. RPython is supposed to be a >> no-frills language, and I don't really see the advantage or use cases >> for adding this extra maintenance burden. > > Not only is it potentially a maintainence burden, it is also a > development burden when doing optimisations on the rtyped graphs, for OK. How about applying (some of) the pathces (http://hakan.ardoe.net/pypy/)? str_or_none.patch A bugfix preventing the call str(o), where o is a "string or None" object, from segfaulting when o becomes None oper.patch Allows the oppertaions int(), and float(), to be defined in methods of Some... classes. The chunk modifying rclass.py should probably be discarded if speical_methods.py is not used. setitem.patch Replace setitem operations with setitem_{key, idx, idx_key} in the same way as getitem is replaced depending on what exceptions are caught. annotator.patch Allows Some... classes to represent "... and NotImplemented" objects in the same way as they can represent "... and None". -- H?kan Ard? From sh at lutzhaase.com Fri Dec 4 16:50:33 2009 From: sh at lutzhaase.com (Sven-Hendrik Haase) Date: Fri, 04 Dec 2009 16:50:33 +0100 Subject: [pypy-dev] Parallel translation? Message-ID: <4B192FC9.5040203@lutzhaase.com> Hey, I just translated SVN trunk of PyPy with JIT enabled and I was very pleased by the results as I noticed that PyPy with JIT is now two times faster in Pystone (I know that's not saying too much) than Cpython. However, translating took a very long time due to not being able to make use of my other CPU cores. I did not find a switch to compile using multiple shells (as in -jN) so I was wondering whether such a feature was planned or even possible. At least for the compilation part, this should be very possible. -- Sven-Hendrik From benjamin at python.org Fri Dec 4 17:36:39 2009 From: benjamin at python.org (Benjamin Peterson) Date: Fri, 4 Dec 2009 10:36:39 -0600 Subject: [pypy-dev] Parallel translation? In-Reply-To: <4B192FC9.5040203@lutzhaase.com> References: <4B192FC9.5040203@lutzhaase.com> Message-ID: <1afaf6160912040836m617685ean15d3fdada5a1d7bc@mail.gmail.com> 2009/12/4 Sven-Hendrik Haase : > Hey, > > I just translated SVN trunk of PyPy with JIT enabled and I was very > pleased by the results as I noticed that PyPy with JIT is now two times > faster in Pystone (I know that's not saying too much) than Cpython. > However, translating took a very long time due to not being able to make > use of my other CPU cores. I did not find a switch to compile using > multiple shells (as in -jN) so I was wondering whether such a feature > was planned or even possible. At least for the compilation part, this > should be very possible. No, that's not planned at the moment. The only time we could easily use multiple CPU at the moment is compiling the final C sources. You can even do this manually with the make file in the temp source directory. -- Regards, Benjamin From anto.cuni at gmail.com Fri Dec 4 18:18:13 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Fri, 04 Dec 2009 18:18:13 +0100 Subject: [pypy-dev] Parallel translation? In-Reply-To: <1afaf6160912040836m617685ean15d3fdada5a1d7bc@mail.gmail.com> References: <4B192FC9.5040203@lutzhaase.com> <1afaf6160912040836m617685ean15d3fdada5a1d7bc@mail.gmail.com> Message-ID: <4B194455.6000406@gmail.com> Benjamin Peterson wrote: > No, that's not planned at the moment. The only time we could easily > use multiple CPU at the moment is compiling the final C sources. You > can even do this manually with the make file in the temp source > directory. I agree that at this point in time we cannot or don't want to make annotation/rtyping/backend parallelizable, but it should definitely be possible to just pass the -j flag to 'make' in an automatic way. Anyone feeling like to implement it? :-) From arigo at tunes.org Sat Dec 5 16:44:45 2009 From: arigo at tunes.org (Armin Rigo) Date: Sat, 5 Dec 2009 16:44:45 +0100 Subject: [pypy-dev] Parallel translation? In-Reply-To: <4B194455.6000406@gmail.com> References: <4B192FC9.5040203@lutzhaase.com> <1afaf6160912040836m617685ean15d3fdada5a1d7bc@mail.gmail.com> <4B194455.6000406@gmail.com> Message-ID: <20091205154445.GA18139@code0.codespeak.net> Hi, On Fri, Dec 04, 2009 at 06:18:13PM +0100, Antonio Cuni wrote: > I agree that at this point in time we cannot or don't want to make > annotation/rtyping/backend parallelizable, but it should definitely be > possible to just pass the -j flag to 'make' in an automatic way. Of course, that is full of open problems too. The main one is that each gcc process consumes potentially a lot of RAM, so just passing "-j" is not a great idea, as all gccs are started in parallel. It looks like some obscure tweak is needed, like setting -j to a number that depends not only on the number of CPUs (as is classically done) but also on the total RAM of the system... A bientot, Armin. From fijall at gmail.com Sat Dec 5 17:49:37 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Sat, 5 Dec 2009 17:49:37 +0100 Subject: [pypy-dev] Parallel translation? In-Reply-To: <20091205154445.GA18139@code0.codespeak.net> References: <4B192FC9.5040203@lutzhaase.com> <1afaf6160912040836m617685ean15d3fdada5a1d7bc@mail.gmail.com> <4B194455.6000406@gmail.com> <20091205154445.GA18139@code0.codespeak.net> Message-ID: <693bc9ab0912050849m3f9441cpf6e6e2b53a08857a@mail.gmail.com> On Sat, Dec 5, 2009 at 4:44 PM, Armin Rigo wrote: > Hi, > > On Fri, Dec 04, 2009 at 06:18:13PM +0100, Antonio Cuni wrote: >> I agree that at this point in time we cannot or don't want to make >> annotation/rtyping/backend parallelizable, but it should definitely be >> possible to just pass the -j flag to 'make' in an automatic way. > > Of course, that is full of open problems too. ?The main one is that each > gcc process consumes potentially a lot of RAM, so just passing "-j" is > not a great idea, as all gccs are started in parallel. ?It looks like > some obscure tweak is needed, like setting -j to a number that depends > not only on the number of CPUs (as is classically done) but also on the > total RAM of the system... > > > A bientot, > > Armin. I guess the original idea was to have a translation option that is passed as -j flag to make, so one can specify what number of jobs he wants, instead of trying to guess it automatically. Cheers, fijal From fijall at gmail.com Sun Dec 6 00:46:04 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Sun, 6 Dec 2009 00:46:04 +0100 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: <4AEF617F.6030502@samuelreis.de> References: <4AEF617F.6030502@samuelreis.de> Message-ID: <693bc9ab0912051546p2ec8eae5uba72ac1ac89f347a@mail.gmail.com> On Mon, Nov 2, 2009 at 11:47 PM, Samuel Reis wrote: > Hello everybody, > > My name is Samuel Reis and I'm a 17-year-old student from Hanover, Germany. Hi samuel. Actually, I wanted to use your artwork, but unfortunately links are gone and I don't have copies :-( Can you provide them again? Cheers, fijal From p.giarrusso at gmail.com Sun Dec 6 12:05:00 2009 From: p.giarrusso at gmail.com (Paolo Giarrusso) Date: Sun, 6 Dec 2009 12:05:00 +0100 Subject: [pypy-dev] Parallel translation? In-Reply-To: <20091205154445.GA18139@code0.codespeak.net> References: <4B192FC9.5040203@lutzhaase.com> <1afaf6160912040836m617685ean15d3fdada5a1d7bc@mail.gmail.com> <4B194455.6000406@gmail.com> <20091205154445.GA18139@code0.codespeak.net> Message-ID: On Sat, Dec 5, 2009 at 16:44, Armin Rigo wrote: > Hi, > > On Fri, Dec 04, 2009 at 06:18:13PM +0100, Antonio Cuni wrote: >> I agree that at this point in time we cannot or don't want to make >> annotation/rtyping/backend parallelizable, but it should definitely be >> possible to just pass the -j flag to 'make' in an automatic way. > > Of course, that is full of open problems too. ?The main one is that each > gcc process consumes potentially a lot of RAM, so just passing "-j" is > not a great idea, as all gccs are started in parallel. ?It looks like > some obscure tweak is needed, like setting -j to a number that depends > not only on the number of CPUs (as is classically done) but also on the > total RAM of the system... My 2 cents: for C++ I would be really worried, but for C I'd guess that even with 4 CPUs (i.e. classically 5 jobs) one is not going to go over 1Gb... or not? Dear Sven-Hendrik, would you verify this idea by launching make by hand, as suggested? (Now, I'm going back to just lurking). Regards -- Paolo Giarrusso From daniel at bovensiepen.net Sun Dec 6 20:08:23 2009 From: daniel at bovensiepen.net (Daniel Bovensiepen) Date: Sun, 6 Dec 2009 20:08:23 +0100 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: <4AEF617F.6030502@samuelreis.de> References: <4AEF617F.6030502@samuelreis.de> Message-ID: Hi Samuel, I didn't saw your mail last month. I'm at the moment in copenhagen but my home town is also hanover. There is a small group of people who are meeting every month to talk mainly about ruby. But we are all also interested in programming languages such as python. So if you like you can join us at the 14.12.2009 (http://wiki.ruby-portal.de/RUUH). I'm quite new to pypy, but I'm playing with the idea to write a small (means reduced) rb implementation in it just for fun. If you like to join one of the coming pypy sprints, maybe we can also find a way to travel together to reduce the financial issue. best regards daniel From overminddl1 at gmail.com Mon Dec 7 03:39:28 2009 From: overminddl1 at gmail.com (OvermindDL1) Date: Sun, 6 Dec 2009 19:39:28 -0700 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: <693bc9ab0912051546p2ec8eae5uba72ac1ac89f347a@mail.gmail.com> References: <4AEF617F.6030502@samuelreis.de> <693bc9ab0912051546p2ec8eae5uba72ac1ac89f347a@mail.gmail.com> Message-ID: <3f49a9f40912061839s6791dd10u4aa15982196e100b@mail.gmail.com> Yeesh, helps if I sent this to the pypy list instead of just replying to the person above. Why are the headers broken on the list? On Sat, Dec 5, 2009 at 4:46 PM, Maciej Fijalkowski wrote: > On Mon, Nov 2, 2009 at 11:47 PM, Samuel Reis wrote: >> Hello everybody, >> >> My name is Samuel Reis and I'm a 17-year-old student from Hanover, Germany. > > Hi samuel. Actually, I wanted to use your artwork, but unfortunately > links are gone and I don't have copies :-( Can you provide them again? And unfortunately he setup his robots.txt exclusion to prevent archive.org and google from copying/cache'ing the images so they really are gone from the world unless reposted. From stefan_ml at behnel.de Mon Dec 7 10:48:19 2009 From: stefan_ml at behnel.de (Stefan Behnel) Date: Mon, 07 Dec 2009 10:48:19 +0100 Subject: [pypy-dev] Parallel translation? In-Reply-To: <20091205154445.GA18139@code0.codespeak.net> References: <4B192FC9.5040203@lutzhaase.com> <1afaf6160912040836m617685ean15d3fdada5a1d7bc@mail.gmail.com> <4B194455.6000406@gmail.com> <20091205154445.GA18139@code0.codespeak.net> Message-ID: Armin Rigo, 05.12.2009 16:44: > On Fri, Dec 04, 2009 at 06:18:13PM +0100, Antonio Cuni wrote: >> I agree that at this point in time we cannot or don't want to make >> annotation/rtyping/backend parallelizable, but it should definitely be >> possible to just pass the -j flag to 'make' in an automatic way. > > Of course, that is full of open problems too. The main one is that each > gcc process consumes potentially a lot of RAM, so just passing "-j" is > not a great idea, as all gccs are started in parallel. It looks like > some obscure tweak is needed, like setting -j to a number that depends > not only on the number of CPUs (as is classically done) but also on the > total RAM of the system... I just did a quick check with lxml.etree, for which Cython generates a 6.5MB C file with 150K lines (~96K non-empty/non-'#' lines in gcc -E). Running that through "gcc -O3 -march=core2 -pipe" keeps the peek virtual memory allocation in 'top' well below 350MB on my 32bit Linux system. Developer machines tend to be rather well equipped these days, so not much to worry about here, IMHO. Stefan From con at samuelreis.de Mon Dec 7 17:01:29 2009 From: con at samuelreis.de (Samuel Reis) Date: Mon, 7 Dec 2009 17:01:29 +0100 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: <693bc9ab0912051546p2ec8eae5uba72ac1ac89f347a@mail.gmail.com> References: <4AEF617F.6030502@samuelreis.de> <693bc9ab0912051546p2ec8eae5uba72ac1ac89f347a@mail.gmail.com> Message-ID: <2AB20B61-329C-45FE-BB75-7F57A140880F@samuelreis.de> -- Reposting this -- somehow I didn't got listet. -- Am 06.12.2009 um 00:46 schrieb Maciej Fijalkowski: > On Mon, Nov 2, 2009 at 11:47 PM, Samuel Reis > wrote: >> Hello everybody, >> >> My name is Samuel Reis and I'm a 17-year-old student from Hanover, >> Germany. > > Hi samuel. Actually, I wanted to use your artwork, but unfortunately > links are gone and I don't have copies :-( Can you provide them again? > > Cheers, > fijal Hi fijal, I'm sorry for replying so late to you, but I was not at home on the weekend. Links are here: http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.jpg http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.svg Samuel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091207/2fb2f99b/attachment.htm From fijall at gmail.com Mon Dec 7 17:07:08 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Mon, 7 Dec 2009 17:07:08 +0100 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: <2AB20B61-329C-45FE-BB75-7F57A140880F@samuelreis.de> References: <4AEF617F.6030502@samuelreis.de> <693bc9ab0912051546p2ec8eae5uba72ac1ac89f347a@mail.gmail.com> <2AB20B61-329C-45FE-BB75-7F57A140880F@samuelreis.de> Message-ID: <693bc9ab0912070807r58d1a15cvf92701ed022b6c8d@mail.gmail.com> Thanks! Btw - friend of mine suggests that logo should focus rather on speed than on looping ;-) Cheers, fijal On Mon, Dec 7, 2009 at 5:01 PM, Samuel Reis wrote: > -- Reposting this -- somehow I didn't got listet. -- > Am 06.12.2009 um 00:46 schrieb Maciej Fijalkowski: > > On Mon, Nov 2, 2009 at 11:47 PM, Samuel Reis wrote: > > Hello everybody, > > My name is Samuel Reis and I'm a 17-year-old student from Hanover, Germany. > > Hi samuel. Actually, I wanted to use your artwork, but unfortunately > links are gone and I don't have copies :-( Can you provide them again? > > Cheers, > fijal > > Hi fijal, > > I'm sorry for replying so late to you, but I was not at home on the > weekend. > Links are here: > http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.jpg > http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.svg > > Samuel > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > From con at samuelreis.de Mon Dec 7 17:17:11 2009 From: con at samuelreis.de (Samuel Reis) Date: Mon, 7 Dec 2009 17:17:11 +0100 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: <693bc9ab0912070807r58d1a15cvf92701ed022b6c8d@mail.gmail.com> References: <4AEF617F.6030502@samuelreis.de> <693bc9ab0912051546p2ec8eae5uba72ac1ac89f347a@mail.gmail.com> <2AB20B61-329C-45FE-BB75-7F57A140880F@samuelreis.de> <693bc9ab0912070807r58d1a15cvf92701ed022b6c8d@mail.gmail.com> Message-ID: Hi fijal, maybe I can add some "speed" to it .. I'll see what I can do. Do you have any concrete plans where you want to use the logo? It would be nice to know where it is used. Regards -- Samuel Am 07.12.2009 um 17:07 schrieb Maciej Fijalkowski: > Thanks! > > Btw - friend of mine suggests that logo should focus rather on speed > than on looping ;-) > > Cheers, > fijal > > On Mon, Dec 7, 2009 at 5:01 PM, Samuel Reis wrote: >> -- Reposting this -- somehow I didn't got listet. -- >> Am 06.12.2009 um 00:46 schrieb Maciej Fijalkowski: >> >> On Mon, Nov 2, 2009 at 11:47 PM, Samuel Reis >> wrote: >> >> Hello everybody, >> >> My name is Samuel Reis and I'm a 17-year-old student from Hanover, >> Germany. >> >> Hi samuel. Actually, I wanted to use your artwork, but unfortunately >> links are gone and I don't have copies :-( Can you provide them >> again? >> >> Cheers, >> fijal >> >> Hi fijal, >> >> I'm sorry for replying so late to you, but I was not at home on the >> weekend. >> Links are here: >> http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.jpg >> http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.svg >> >> Samuel >> >> _______________________________________________ >> pypy-dev at codespeak.net >> http://codespeak.net/mailman/listinfo/pypy-dev >> From con at samuelreis.de Mon Dec 7 19:33:08 2009 From: con at samuelreis.de (Samuel Reis) Date: Mon, 7 Dec 2009 19:33:08 +0100 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: References: <4AEF617F.6030502@samuelreis.de> <693bc9ab0912051546p2ec8eae5uba72ac1ac89f347a@mail.gmail.com> <2AB20B61-329C-45FE-BB75-7F57A140880F@samuelreis.de> <693bc9ab0912070807r58d1a15cvf92701ed022b6c8d@mail.gmail.com> Message-ID: <3A3E97B5-C022-4632-AA3D-E06DFA2D1F91@samuelreis.de> Update: Some rough drafts of "speed" (based on my previous logo) http://stuff.coffeine.info/pypy_fin.png http://stuff.coffeine.info/pypy_fin.svg Feedback is highly appreciated. Greetings -- Samuel Am 07.12.2009 um 17:17 schrieb Samuel Reis: > Hi fijal, > > maybe I can add some "speed" to it .. I'll see what I can do. > Do you have any concrete plans where you want to use the logo? It > would be nice to know where it is used. > > Regards -- Samuel > > Am 07.12.2009 um 17:07 schrieb Maciej Fijalkowski: > >> Thanks! >> >> Btw - friend of mine suggests that logo should focus rather on speed >> than on looping ;-) >> >> Cheers, >> fijal >> >> On Mon, Dec 7, 2009 at 5:01 PM, Samuel Reis >> wrote: >>> -- Reposting this -- somehow I didn't got listet. -- >>> Am 06.12.2009 um 00:46 schrieb Maciej Fijalkowski: >>> >>> On Mon, Nov 2, 2009 at 11:47 PM, Samuel Reis >>> wrote: >>> >>> Hello everybody, >>> >>> My name is Samuel Reis and I'm a 17-year-old student from Hanover, >>> Germany. >>> >>> Hi samuel. Actually, I wanted to use your artwork, but unfortunately >>> links are gone and I don't have copies :-( Can you provide them >>> again? >>> >>> Cheers, >>> fijal >>> >>> Hi fijal, >>> >>> I'm sorry for replying so late to you, but I was not at home on the >>> weekend. >>> Links are here: >>> http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.jpg >>> http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.svg >>> >>> Samuel >>> >>> _______________________________________________ >>> pypy-dev at codespeak.net >>> http://codespeak.net/mailman/listinfo/pypy-dev >>> > From fuzzyman at gmail.com Mon Dec 7 20:47:30 2009 From: fuzzyman at gmail.com (Michael Foord) Date: Mon, 7 Dec 2009 19:47:30 +0000 Subject: [pypy-dev] Hello PyPy Developer Team In-Reply-To: <3A3E97B5-C022-4632-AA3D-E06DFA2D1F91@samuelreis.de> References: <4AEF617F.6030502@samuelreis.de> <693bc9ab0912051546p2ec8eae5uba72ac1ac89f347a@mail.gmail.com> <2AB20B61-329C-45FE-BB75-7F57A140880F@samuelreis.de> <693bc9ab0912070807r58d1a15cvf92701ed022b6c8d@mail.gmail.com> <3A3E97B5-C022-4632-AA3D-E06DFA2D1F91@samuelreis.de> Message-ID: <6f4025010912071147u77d3aa72w6d761ddcf166a49b@mail.gmail.com> 2009/12/7 Samuel Reis > Update: > > Some rough drafts of "speed" (based on my previous logo) > > http://stuff.coffeine.info/pypy_fin.png > http://stuff.coffeine.info/pypy_fin.svg > > Feedback is highly appreciated. > I really like the first one. Michael > > Greetings -- Samuel > > Am 07.12.2009 um 17:17 schrieb Samuel Reis: > > > Hi fijal, > > > > maybe I can add some "speed" to it .. I'll see what I can do. > > Do you have any concrete plans where you want to use the logo? It > > would be nice to know where it is used. > > > > Regards -- Samuel > > > > Am 07.12.2009 um 17:07 schrieb Maciej Fijalkowski: > > > >> Thanks! > >> > >> Btw - friend of mine suggests that logo should focus rather on speed > >> than on looping ;-) > >> > >> Cheers, > >> fijal > >> > >> On Mon, Dec 7, 2009 at 5:01 PM, Samuel Reis > >> wrote: > >>> -- Reposting this -- somehow I didn't got listet. -- > >>> Am 06.12.2009 um 00:46 schrieb Maciej Fijalkowski: > >>> > >>> On Mon, Nov 2, 2009 at 11:47 PM, Samuel Reis > >>> wrote: > >>> > >>> Hello everybody, > >>> > >>> My name is Samuel Reis and I'm a 17-year-old student from Hanover, > >>> Germany. > >>> > >>> Hi samuel. Actually, I wanted to use your artwork, but unfortunately > >>> links are gone and I don't have copies :-( Can you provide them > >>> again? > >>> > >>> Cheers, > >>> fijal > >>> > >>> Hi fijal, > >>> > >>> I'm sorry for replying so late to you, but I was not at home on the > >>> weekend. > >>> Links are here: > >>> http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.jpg > >>> http://maddog22.de/samuelreis_old/artwork/pypy/pypy_fin.svg > >>> > >>> Samuel > >>> > >>> _______________________________________________ > >>> pypy-dev at codespeak.net > >>> http://codespeak.net/mailman/listinfo/pypy-dev > >>> > > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- http://www.ironpythoninaction.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091207/ea36c9e0/attachment.htm From sh at lutzhaase.com Tue Dec 8 02:22:45 2009 From: sh at lutzhaase.com (Sven-Hendrik Haase) Date: Tue, 08 Dec 2009 02:22:45 +0100 Subject: [pypy-dev] Parallel translation? In-Reply-To: References: <4B192FC9.5040203@lutzhaase.com> <1afaf6160912040836m617685ean15d3fdada5a1d7bc@mail.gmail.com> <4B194455.6000406@gmail.com> <20091205154445.GA18139@code0.codespeak.net> Message-ID: <4B1DAA65.20200@lutzhaase.com> On 07.12.2009 10:48, Stefan Behnel wrote: > Armin Rigo, 05.12.2009 16:44: > >> On Fri, Dec 04, 2009 at 06:18:13PM +0100, Antonio Cuni wrote: >> >>> I agree that at this point in time we cannot or don't want to make >>> annotation/rtyping/backend parallelizable, but it should definitely be >>> possible to just pass the -j flag to 'make' in an automatic way. >>> >> Of course, that is full of open problems too. The main one is that each >> gcc process consumes potentially a lot of RAM, so just passing "-j" is >> not a great idea, as all gccs are started in parallel. It looks like >> some obscure tweak is needed, like setting -j to a number that depends >> not only on the number of CPUs (as is classically done) but also on the >> total RAM of the system... >> > > I just did a quick check with lxml.etree, for which Cython generates a > 6.5MB C file with 150K lines (~96K non-empty/non-'#' lines in gcc -E). > Running that through "gcc -O3 -march=core2 -pipe" keeps the peek virtual > memory allocation in 'top' well below 350MB on my 32bit Linux system. > Developer machines tend to be rather well equipped these days, so not much > to worry about here, IMHO. > > Stefan > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > > Indeed, my own tests support this. Especially with kernel 2.6.32, memory should no longer be the issue. -- Sven-Hendrik -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091208/da61981e/attachment.htm From arigo at tunes.org Thu Dec 10 17:59:55 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 10 Dec 2009 17:59:55 +0100 Subject: [pypy-dev] Leysin Winter Sprint: 23-30th January 2010 In-Reply-To: <200912031958.nB3JwusP017965@theraft.openend.se> References: <20091202124318.GA17481@code0.codespeak.net> <20091203151918.GA18204@code0.codespeak.net> <200912031958.nB3JwusP017965@theraft.openend.se> Message-ID: <20091210165955.GA31759@code0.codespeak.net> Hi Laura, hi all, On Thu, Dec 03, 2009 at 08:58:56PM +0100, Laura Creighton wrote: > Can we still get a release made before PyCON? We agreed that a "virtual sprint" will occur, roughly on the same dates. The release should be made during that sprint. The sprint is "virtual" because we will not be all together at that point in time (e.g. I will be in Switzerland, while Samuele and Maciek will be in Gothenburg). The actual sprint in Leysin is reported to some later date -- maybe March or April, in any case after PyCon. More about the "virtual sprint" should follow here :-) A bientot, Armin. From arigo at tunes.org Thu Dec 10 19:05:52 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 10 Dec 2009 19:05:52 +0100 Subject: [pypy-dev] Special methods In-Reply-To: References: <1afaf6160912032013l3b081a69j8607ca0de76e4a5a@mail.gmail.com> Message-ID: <20091210180552.GA2842@code0.codespeak.net> Hi Hakan, On Fri, Dec 04, 2009 at 09:23:55AM +0100, Hakan Ardo wrote: > OK. How about applying (some of) the pathces (http://hakan.ardoe.net/pypy/)? In general, I agree with others that we don't want to add frills to the annotator now. You need some serious motivation to convince us: "this feature is useful when writing an interpreter for that kind of language" is definitely a better motivation than "this feature is useful when writing this random piece of RPython software", because we don't want any more to support random pieces of RPython software. RPython is supposed to be used to write interpreters. > str_or_none.patch > A bugfix preventing the call str(o), where o is a "string or None" > object, from segfaulting when o becomes None Preventing a segfault is ok, but then, returning the string "None" is also a bit obscure. It is always better written explicitly, because you can then return whatever you want if it's a None. > oper.patch > Allows the oppertaions int(), and float(), to be defined in methods > of Some... classes. I must say that I don't really understand what this patch is trying to achieve. Do you have your custom SomeXxx classes that represent objects on which you want int() and float() to have custom behavior? That seems pretty much ruled out by the rule "RPython is for writing interpreters"... > setitem.patch > Replace setitem operations with setitem_{key, idx, idx_key} in the > same way as getitem > is replaced depending on what exceptions are caught. That one looks like a good idea. Didn't review the patch in detail so far... > annotator.patch > Allows Some... classes to represent "... and NotImplemented" objects > in the same way as > they can represent "... and None". "RPython is supposed to be used for interpreters" rules it out again. Moreover it's very well to say during annotation that this can be NotImplemented, but you need to do something during RTyping also, to support NotImplemented objects there. That's quite unlikely to be done without adding mess to the two versions (ootype and lltype) of the already-messy rclass.py. A bientot, Armin. From hakan at debian.org Fri Dec 11 11:12:41 2009 From: hakan at debian.org (Hakan Ardo) Date: Fri, 11 Dec 2009 11:12:41 +0100 Subject: [pypy-dev] Special methods In-Reply-To: <20091210180552.GA2842@code0.codespeak.net> References: <1afaf6160912032013l3b081a69j8607ca0de76e4a5a@mail.gmail.com> <20091210180552.GA2842@code0.codespeak.net> Message-ID: On Thu, Dec 10, 2009 at 7:05 PM, Armin Rigo wrote: > writing this random piece of RPython software", because we don't want > any more to support random pieces of RPython software. RPython is > supposed to be used to write interpreters. OK I didn't know. It seems to me that it could be useful more generally... But if you're not interested I'll keep this stuff elsewhere somehow... > >> str_or_none.patch >> ? A bugfix preventing the call str(o), where o is a "string or None" >> object, from segfaulting when o becomes None > > Preventing a segfault is ok, but then, returning the string "None" is > also a bit obscure. ?It is always better written explicitly, because you > can then return whatever you want if it's a None. Well this is what python does, i.e str(None) is the string 'None' in python. Rpython is suppsed to be a subset of python isn't it? > >> oper.patch >> ? Allows the oppertaions int(), and float(), to be defined in methods >> of Some... classes. > > I must say that I don't really understand what this patch is trying to > achieve. ?Do you have your custom SomeXxx classes that represent > objects on which you want int() and float() to have custom behavior? Yes, the object I worked with here was representing a rational number as two integers and the int operation would perform a division between the two. > That seems pretty much ruled out by the rule "RPython is for writing > interpreters"... OK, but isn't it a more uniform design to have all operation handled by SomeXxx methods? > >> setitem.patch >> ? Replace setitem operations with setitem_{key, idx, idx_key} in the >> same way as getitem >> ? is replaced depending on what exceptions are caught. > > That one looks like a good idea. ?Didn't review the patch in detail so > far... It's pretty much a duplication of the corresponding getitem implementation. > >> annotator.patch >> ? Allows Some... classes to represent "... and NotImplemented" objects >> in the same way as >> ? they can represent "... and None". > > "RPython is supposed to be used for interpreters" rules it out again. > Moreover it's very well to say during annotation that this can be > NotImplemented, but you need to do something during RTyping also, to > support NotImplemented objects there. ?That's quite unlikely to be done > without adding mess to the two versions (ootype and lltype) of the > already-messy rclass.py. I needed this in the annotator to chose between calling __radd__ and __add__. By using _annspecialcase_ = 'specialize:argtype(1)' the annotator could prove that a specific specialized __add__ would always return NotImplemented (since this typically only depends on the argument types) and in that case call __radd__ instead. That way the NotImplemented objects would never survive the annotation and there was no need to be able to represent them during the rtyping. -- H?kan Ard? From arigo at tunes.org Fri Dec 11 12:41:16 2009 From: arigo at tunes.org (Armin Rigo) Date: Fri, 11 Dec 2009 12:41:16 +0100 Subject: [pypy-dev] Special methods In-Reply-To: References: <1afaf6160912032013l3b081a69j8607ca0de76e4a5a@mail.gmail.com> <20091210180552.GA2842@code0.codespeak.net> Message-ID: <20091211114116.GA798@code0.codespeak.net> Hi Hakan, On Fri, Dec 11, 2009 at 11:12:41AM +0100, Hakan Ardo wrote: > OK I didn't know. It seems to me that it could be useful more > generally... But if you're not interested I'll keep this stuff > elsewhere somehow... Indeed, the current situation is that we actively don't want to support more RPython features if it's not clear what they could be used for in writing interpreters. We are not interested in supporting RPython as a general-purpose language, because we don't have the resources to do it and because it's not really the goal of the PyPy project. The goal is to give you a good and fast interpreter for full Python. > Well this is what python does, i.e str(None) is the string 'None' in > python. Rpython is suppsed to be a subset of python isn't it? Yes, so in that sense, str(None) returning the string 'None' is the only sane result. What I was complaining about is that it looks pretty pointless to add that rule when writing an interpreter for any different language. It might be useful for debugging, though. A bientot, Armin. From cfbolz at gmx.de Fri Dec 11 12:44:08 2009 From: cfbolz at gmx.de (Carl Friedrich Bolz) Date: Fri, 11 Dec 2009 12:44:08 +0100 Subject: [pypy-dev] Special methods In-Reply-To: <20091211114116.GA798@code0.codespeak.net> References: <1afaf6160912032013l3b081a69j8607ca0de76e4a5a@mail.gmail.com> <20091210180552.GA2842@code0.codespeak.net> <20091211114116.GA798@code0.codespeak.net> Message-ID: <4B223088.6050808@gmx.de> On 12/11/2009 12:41 PM, Armin Rigo wrote: > Hi Hakan, > > On Fri, Dec 11, 2009 at 11:12:41AM +0100, Hakan Ardo wrote: >> OK I didn't know. It seems to me that it could be useful more >> generally... But if you're not interested I'll keep this stuff >> elsewhere somehow... > > Indeed, the current situation is that we actively don't want to support > more RPython features if it's not clear what they could be used for in > writing interpreters. We are not interested in supporting RPython as a > general-purpose language, because we don't have the resources to do it > and because it's not really the goal of the PyPy project. The goal is > to give you a good and fast interpreter for full Python. > >> Well this is what python does, i.e str(None) is the string 'None' in >> python. Rpython is suppsed to be a subset of python isn't it? > > Yes, so in that sense, str(None) returning the string 'None' is the only > sane result. What I was complaining about is that it looks pretty > pointless to add that rule when writing an interpreter for any different > language. It might be useful for debugging, though. It's definitely nicer than getting a segfault. Cheers, Carl Friedrich From andrewfr_ice at yahoo.com Sat Dec 12 01:02:39 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Fri, 11 Dec 2009 16:02:39 -0800 (PST) Subject: [pypy-dev] Advice needed debugging a Sys.exit error involving py.py and Stackless.py Message-ID: <606760.40853.qm@web112406.mail.gq1.yahoo.com> Hello Folks: I am trying to add a new function, stackless.select() to the Stackless.py module. This select() is loosely based on the select() in Newsqueak/Go. Once I get this select() to work, I would like to figure out some Python syntax to support it. One step deeper into PyPy :-) For the most part, select() is pretty straightforward to implement. In two of my test cases, test4.py and test5.py, the select() function seems to work. Unfortunately, I get a sys.exit() error. I invoke the programme with python ../bin/py.py --withmod_-stackless testX.py and I get (test4.py) THE RESULT FROM SELECT -> hello world schedule(): returned from _schedule_switch schedule(): about to _schedule_switch schedule(): returned from _schedule_switch File "../py.py", line 171, in sys.exit(main_(sys.argv)) File "../py.py", line 142, in main_ verbose=interactiveconfig.verbose): File "/home/andrew/lab/pypy-dist/pypy/interpreter/main.py", line 103, in run_toplevel f() .... File "/home/andrew/lab/pypy-dist/pypy/interpreter/executioncontext.py", line 48, in leave self.framestack.pop() File "/home/andrew/lab/pypy-dist/pypy/interpreter/miscutils.py", line 34, in pop return self.items.pop() IndexError: pop from empty list and (test5.py) THE RESULT FROM SELECT -> hello world schedule(): returned from _schedule_switch schedule(): about to _schedule_switch XXX error, nesting_level = 1 Traceback (most recent call last): File "../py.py", line 171, in sys.exit(main_(sys.argv)) File "../py.py", line 142, in main_ verbose=interactiveconfig.verbose): File "/home/andrew/lab/pypy-dist/pypy/interpreter/main.py", line 103, in run_toplevel f() ... File "/home/andrew/lab/pypy-dist/pypy/interpreter/gateway.py", line 513, in funcrun_obj w_result = activation._run(space, scope_w) File "", line 3, in _run_UWS_AppCoroutine File "/home/andrew/lab/pypy-dist/pypy/module/_stackless/interp_coroutine.py", line 90, in w_switch self.switch() File "/home/andrew/lab/pypy-dist/pypy/rlib/rcoroutine.py", line 256, in switch incoming_frame = state.update(self).switch() AttributeError: 'tuple' object has no attribute 'switch' I wrote a third test, test6.py which blocks select() and then terminates because there is no tasklet on the other end. I do this on purpose. Test6.py works correctly making me suspect something is going wrong with the switching. Although I understand most of the Stackless.py module's code, I am still very green when it comes to PyPy and the various coroutine packages. I understand the PyPy team has not being developing Stackless.py for a while. However I would greatly appreciate insights into figuring out what is going wrong. I would also appreciate insights into how to effectively debug PyPy. Eventually I would like to get into a position where I could support Stackless.py and continue its development. I have enclosed my copy of Stackless.py, the output, and some test scripts. Cheers, Andrew -------------- next part -------------- A non-text attachment was scrubbed... Name: stackless.py Type: text/x-python Size: 21458 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091211/da3c8e31/attachment-0003.py -------------- next part -------------- A non-text attachment was scrubbed... Name: test5.py Type: text/x-python Size: 855 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091211/da3c8e31/attachment-0004.py -------------- next part -------------- A non-text attachment was scrubbed... Name: test6.py Type: text/x-python Size: 686 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091211/da3c8e31/attachment-0005.py -------------- next part -------------- A non-text attachment was scrubbed... Name: results4 Type: application/octet-stream Size: 1938 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091211/da3c8e31/attachment-0002.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: results5 Type: application/octet-stream Size: 7864 bytes Desc: not available Url : http://codespeak.net/pipermail/pypy-dev/attachments/20091211/da3c8e31/attachment-0003.obj From olliwang at ollix.com Sat Dec 12 19:22:54 2009 From: olliwang at ollix.com (Olli Wang) Date: Sun, 13 Dec 2009 02:22:54 +0800 Subject: [pypy-dev] Failed to translate PyPy Python interpreter on Snow Leopard Message-ID: <1590abce0912121022n370400a1j7b6a74553afc4574@mail.gmail.com> Hi, I was following this page ( http://codespeak.net/pypy/dist/pypy/doc/getting-started-python.html#translating-the-pypy-python-interpreter) and tried to translate the PyPy Python interpreter on Snow Leopard. But unfortunately it always failed unexpectedly after a long time translating. Here's the error messages, any idea? Thanks. [c:writing] implement.c [backendopt:WARNING] constant-folding v1 = getfield(v0, ('inst_co_varnames')): [backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' [backendopt:WARNING] constant-folding v1 = getfield(v0, ('inst_co_varnames')): [backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' [backendopt:WARNING] constant-folding v1 = getfield(v0, ('inst_co_varnames')): [backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' [backendopt:WARNING] constant-folding v1 = getfield(v0, ('inst_co_varnames')): [backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' [backendopt:WARNING] constant-folding v1 = getfield(v0, ('inst_co_varnames')): [backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' [c:writing] implement_1.c [c:writing] implement_2.c [c:writing] implement_3.c [c:writing] implement_4.c [c:writing] implement_5.c [c:writing] implement_6.c [c:writing] implement_7.c [c:writing] implement_8.c [c:writing] implement_9.c [translation:info] written: /var/folders/m9/m9iGqKJ2EACAKiV+yD8Lb++++TI/-Tmp-/usession-trunk-4/testing_1/testing_1.c [translation:info] Compiling c source... [c:profopt] -c 'from richards import main;main(); from test import pystone; pystone.main()' [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -fprofile-generate -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -I/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c -I/usr/include/ffi /var/folders/m9/m9iGqKJ2EACAKiV+yD8Lb++++TI/-Tmp-/usession-trunk-4/testing_1/testing_1.c -o /var/folders/m9/m9iGqKJ2EACAKiV+yD8Lb++++TI/-Tmp-/usession-trunk-4/testing_1/testing_1.o [platform:ERROR] In file included from /Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/src/g_include.h:54, [platform:ERROR] from /var/folders/m9/m9iGqKJ2EACAKiV+yD8Lb++++TI/-Tmp-/usession-trunk-4/testing_1/testing_1.c:42: [platform:ERROR] /Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/src/debug.h: In function 'pypy_read_timestamp': [platform:ERROR] /Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/src/debug.h:127: error: 'CLOCK_THREAD_CPUTIME_ID' undeclared (first use in this function) [platform:ERROR] /Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/src/debug.h:127: error: (Each undeclared identifier is reported only once [platform:ERROR] /Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/src/debug.h:127: error: for each function it appears in.) [Timer] Timings: [Timer] annotate --- 445.6 s [Timer] rtype_lltype --- 587.0 s [Timer] backendopt_lltype --- 305.5 s [Timer] stackcheckinsertion_lltype --- 71.5 s [Timer] database_c --- 433.6 s [Timer] source_c --- 812.9 s [Timer] compile_c --- 8.7 s [Timer] =========================================== [Timer] Total: --- 2664.7 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "translate.py", line 277, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/driver.py", line 741, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip()) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/tool/taskengine.py", line 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/driver.py", line 279, in _do [translation:ERROR] res = func() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/driver.py", line 504, in task_compile_c [translation:ERROR] cbuilder.compile() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/genc.py", line 452, in compile [translation:ERROR] self.executable_name = compiler.build() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/genc.py", line 86, in build [translation:ERROR] return self._do_profbased() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/genc.py", line 94, in _do_profbased [translation:ERROR] exename = profdrv.first() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/genc.py", line 49, in first [translation:ERROR] ofiles = platform._compile_o_files(prof, p_eci) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/platform/__init__.py", line 72, in _compile_o_files [translation:ERROR] ofiles.append(self._compile_c_file(self.cc, cfile, compile_args)) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/platform/posix.py", line 33, in _compile_c_file [translation:ERROR] self._execute_c_compiler(cc, args, oname) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/platform/__init__.py", line 106, in _execute_c_compiler [translation:ERROR] self._handle_error(returncode, stderr, stdout, outname) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/platform/__init__.py", line 117, in _handle_error [translation:ERROR] raise CompilationError(stdout, stderr) [translation:ERROR] CompilationError: -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091213/b6cbeab9/attachment.htm From sh at lutzhaase.com Sat Dec 12 20:03:04 2009 From: sh at lutzhaase.com (Sven-Hendrik Haase) Date: Sat, 12 Dec 2009 20:03:04 +0100 Subject: [pypy-dev] JIT issues on x86_64 Message-ID: <4B23E8E8.2070708@lutzhaase.com> I have issues translating JIT on x86_64 architecture as opposed to i686. I know this issue from Psyco which was never meant to work on other architectures due to low-level optimizations. However, I think it was one of PyPy's goals to make the JIT available to more architecture (wasn't it?). Should I be able to successfully translate the JIT at this point or is it supposed to break due to missing implementation? -- Sven-Hendrik From santagada at gmail.com Sat Dec 12 20:25:45 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Sat, 12 Dec 2009 17:25:45 -0200 Subject: [pypy-dev] JIT issues on x86_64 In-Reply-To: <4B23E8E8.2070708@lutzhaase.com> References: <4B23E8E8.2070708@lutzhaase.com> Message-ID: On Dec 12, 2009, at 5:03 PM, Sven-Hendrik Haase wrote: > I have issues translating JIT on x86_64 architecture as opposed to i686. > I know this issue from Psyco which was never meant to work on other > architectures due to low-level optimizations. However, I think it was > one of PyPy's goals to make the JIT available to more architecture > (wasn't it?). Should I be able to successfully translate the JIT at this > point or is it supposed to break due to missing implementation? There isn't a JIT backend for x86_64 yet, so there is no way to get a PyPy with JIT in 64 bit right now, unfortunately. But you are right one of the goals is to make it available in more architectures, and that is already made simpler by separating the backend code of the jit from the rest of the implementation. No one is currently working on it as the focus for the next release is getting the jit solid and fast on 32 bit machines. If you want to port is to x86_64 PyPy people are probably going to help you to do it, but if you are not you can follow the developments on the blog[1] because it is going to be announced there when it is at least ready for testing :) [1] http://morepypy.blogspot.com/ ps: Psyco doesn't actually have anything prohibiting it to run on 64bit it is just way more difficult to work with it than with PyPy. ps2: A better version of this answer must be in the site somewhere, as more and more people will be asking this when anything about the JIT is posted on the blog... maybe a faq that gets linked to in every post. -- Leonardo Santagada santagada at gmail.com From jandemooij at gmail.com Sat Dec 12 20:23:23 2009 From: jandemooij at gmail.com (Jan de Mooij) Date: Sat, 12 Dec 2009 20:23:23 +0100 Subject: [pypy-dev] JIT issues on x86_64 In-Reply-To: <4B23E8E8.2070708@lutzhaase.com> References: <4B23E8E8.2070708@lutzhaase.com> Message-ID: On Sat, Dec 12, 2009 at 8:03 PM, Sven-Hendrik Haase wrote: > Should I be able to successfully translate the JIT at this > point or is it supposed to break due to missing implementation? The JIT does not support 64-bit yet. The good news is that it's much easier to write an x86-64 backend for Pypy than for Psyco - that was indeed one of the original goals. Regards, Jan > -- Sven-Hendrik > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev From sh at lutzhaase.com Sat Dec 12 20:35:12 2009 From: sh at lutzhaase.com (Sven-Hendrik Haase) Date: Sat, 12 Dec 2009 20:35:12 +0100 Subject: [pypy-dev] JIT issues on x86_64 In-Reply-To: References: <4B23E8E8.2070708@lutzhaase.com> Message-ID: <4B23F070.1000501@lutzhaase.com> On 12.12.2009 20:25, Leonardo Santagada wrote: > On Dec 12, 2009, at 5:03 PM, Sven-Hendrik Haase wrote: > > >> I have issues translating JIT on x86_64 architecture as opposed to i686. >> I know this issue from Psyco which was never meant to work on other >> architectures due to low-level optimizations. However, I think it was >> one of PyPy's goals to make the JIT available to more architecture >> (wasn't it?). Should I be able to successfully translate the JIT at this >> point or is it supposed to break due to missing implementation? >> > There isn't a JIT backend for x86_64 yet, so there is no way to get a PyPy with JIT in 64 bit right now, unfortunately. But you are right one of the goals is to make it available in more architectures, and that is already made simpler by separating the backend code of the jit from the rest of the implementation. No one is currently working on it as the focus for the next release is getting the jit solid and fast on 32 bit machines. > > If you want to port is to x86_64 PyPy people are probably going to help you to do it, but if you are not you can follow the developments on the blog[1] because it is going to be announced there when it is at least ready for testing :) > > [1] http://morepypy.blogspot.com/ > > > ps: Psyco doesn't actually have anything prohibiting it to run on 64bit it is just way more difficult to work with it than with PyPy. > ps2: A better version of this answer must be in the site somewhere, as more and more people will be asking this when anything about the JIT is posted on the blog... maybe a faq that gets linked to in every post. > > -- > Leonardo Santagada > santagada at gmail.com > > > > > Thanks for the answers (also Jan). I haven't looked at it at all yet but I imagine it will involve a lot of assembly or very low-level C? And having this in the FAQ till then would be a good idea I imagine. Also have the translator fail on different architectures for JIT with a clear error that it isn't implemented yet. -- Sven-Hendrik From arigo at tunes.org Sun Dec 13 12:25:43 2009 From: arigo at tunes.org (Armin Rigo) Date: Sun, 13 Dec 2009 12:25:43 +0100 Subject: [pypy-dev] JIT issues on x86_64 In-Reply-To: <4B23F070.1000501@lutzhaase.com> References: <4B23E8E8.2070708@lutzhaase.com> <4B23F070.1000501@lutzhaase.com> Message-ID: <20091213112543.GA12061@code0.codespeak.net> Hi, On Sat, Dec 12, 2009 at 08:35:12PM +0100, Sven-Hendrik Haase wrote: > I imagine it will involve a lot of assembly or very low-level C? You have to know assembly, but program in Python. > Also have the translator fail on different architectures for JIT with a > clear error that it isn't implemented yet. It's supposed to. When I try it, I get the following error: ProcessorAutodetectError: unsupported cpu 'x86_64' Are you sure you aren't running a 32-bit version of Python? If you are, then you will be getting a 32-bit version of pypy-c-jit too, and it should work. Maybe you have to tweak the gcc options to compile it, though. The point is that the produced '.c' files should be for 32-bit then. (I guess that given that we generate .c files specifically for 32-bit or 64-bit, these files should at least contain a '#error' if you try to compile them on a different word size.) A bientot, Armin. From arigo at tunes.org Sun Dec 13 13:08:53 2009 From: arigo at tunes.org (Armin Rigo) Date: Sun, 13 Dec 2009 13:08:53 +0100 Subject: [pypy-dev] Failed to translate PyPy Python interpreter on Snow Leopard In-Reply-To: <1590abce0912121022n370400a1j7b6a74553afc4574@mail.gmail.com> References: <1590abce0912121022n370400a1j7b6a74553afc4574@mail.gmail.com> Message-ID: <20091213120853.GA15821@code0.codespeak.net> Hi Olli, On Sun, Dec 13, 2009 at 02:22:54AM +0800, Olli Wang wrote: > and tried to translate the PyPy Python interpreter on Snow Leopard. But > unfortunately it always failed unexpectedly after a long time translating. > Here's the error messages, any idea? Thanks. Ah, it's about clock_gettime(), which is a standard POSIX function that does not exist on Mac OS/X. Should be fixed now; can you try again? You can try by compiling a much smaller program than the whole PyPy interpreter first. For example: ./translate.py targetgcbench A bientot, Armin. From olliwang at ollix.com Sun Dec 13 17:03:51 2009 From: olliwang at ollix.com (Olli Wang) Date: Mon, 14 Dec 2009 00:03:51 +0800 Subject: [pypy-dev] Failed to translate PyPy Python interpreter on Snow Leopard In-Reply-To: <1590abce0912130801h772a6861q61248c42ea9db53a@mail.gmail.com> References: <1590abce0912121022n370400a1j7b6a74553afc4574@mail.gmail.com> <20091213120853.GA15821@code0.codespeak.net> <1590abce0912130801h772a6861q61248c42ea9db53a@mail.gmail.com> Message-ID: <1590abce0912130803s2ac4ee8bnfa4ea2408e5f36a7@mail.gmail.com> Hi, thanks for replying. I tried the targetgcbench program but still failed. Here's the error message: [translation:info] written: /var/folders/m9/m9iGqKJ2EACAKiV+yD8Lb++++TI/-Tmp-/usession-trunk-1/testing_1/testing_1.c [translation:info] Compiling c source... [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -I/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c /var/folders/m9/m9iGqKJ2EACAKiV+yD8Lb++++TI/-Tmp-/usession-trunk-1/testing_1/testing_1.c -o /var/folders/m9/m9iGqKJ2EACAKiV+yD8Lb++++TI/-Tmp-/usession-trunk-1/testing_1/testing_1.o [platform:ERROR] In file included from /Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/src/g_include.h:54, [platform:ERROR] from /var/folders/m9/m9iGqKJ2EACAKiV+yD8Lb++++TI/-Tmp-/usession-trunk-1/testing_1/testing_1.c:42: [platform:ERROR] /Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/src/debug.h: In function 'pypy_read_timestamp': [platform:ERROR] /Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/src/debug.h:134: error: incompatible type for argument 1 of 'gettimeofday' [Timer] Timings: [Timer] annotate --- 0.7 s [Timer] rtype_lltype --- 2.3 s [Timer] backendopt_lltype --- 0.5 s [Timer] stackcheckinsertion_lltype --- 0.0 s [Timer] database_c --- 9.2 s [Timer] source_c --- 2.0 s [Timer] compile_c --- 0.5 s [Timer] ========================================= [Timer] Total: --- 15.3 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "translate.py", line 277, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/driver.py", line 741, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip()) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/tool/taskengine.py", line 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/driver.py", line 279, in _do [translation:ERROR] res = func() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/driver.py", line 504, in task_compile_c [translation:ERROR] cbuilder.compile() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/genc.py", line 452, in compile [translation:ERROR] self.executable_name = compiler.build() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/genc.py", line 87, in build [translation:ERROR] return self._build() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/c/genc.py", line 82, in _build [translation:ERROR] outputfilename=self.outputfilename) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/platform/__init__.py", line 63, in compile [translation:ERROR] ofiles = self._compile_o_files(cfiles, eci, standalone) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/platform/__init__.py", line 72, in _compile_o_files [translation:ERROR] ofiles.append(self._compile_c_file(self.cc, cfile, compile_args)) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/platform/posix.py", line 33, in _compile_c_file [translation:ERROR] self._execute_c_compiler(cc, args, oname) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/platform/__init__.py", line 106, in _execute_c_compiler [translation:ERROR] self._handle_error(returncode, stderr, stdout, outname) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/platform/__init__.py", line 117, in _handle_error [translation:ERROR] raise CompilationError(stdout, stderr) [translation:ERROR] CompilationError: On Sun, Dec 13, 2009 at 8:08 PM, Armin Rigo wrote: > Hi Olli, > > On Sun, Dec 13, 2009 at 02:22:54AM +0800, Olli Wang wrote: > > and tried to translate the PyPy Python interpreter on Snow Leopard. But > > unfortunately it always failed unexpectedly after a long time > translating. > > Here's the error messages, any idea? Thanks. > > Ah, it's about clock_gettime(), which is a standard POSIX function that > does not exist on Mac OS/X. Should be fixed now; can you try again? > > You can try by compiling a much smaller program than the whole PyPy > interpreter first. For example: ./translate.py targetgcbench > > > A bientot, > > Armin. > -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091214/54f4df8f/attachment.htm From olliwang at ollix.com Sun Dec 13 17:22:53 2009 From: olliwang at ollix.com (Olli Wang) Date: Mon, 14 Dec 2009 00:22:53 +0800 Subject: [pypy-dev] Failed to translate PyPy Python interpreter on Snow Leopard In-Reply-To: <20091213160541.GA31502@code0.codespeak.net> References: <1590abce0912121022n370400a1j7b6a74553afc4574@mail.gmail.com> <20091213120853.GA15821@code0.codespeak.net> <1590abce0912130801h772a6861q61248c42ea9db53a@mail.gmail.com> <20091213160541.GA31502@code0.codespeak.net> Message-ID: <1590abce0912130822w32bfd75dv5237648833b745d8@mail.gmail.com> Wow, so fast! The targetgcbench works now. Now I'm trying to translate the Python interpreter again. Thanks for your help. :) On Mon, Dec 14, 2009 at 12:05 AM, Armin Rigo wrote: > Hi, > > Bah, a typo. Try again? > > > Armin > -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091214/eca4ad41/attachment.htm From arigo at tunes.org Sun Dec 13 20:11:50 2009 From: arigo at tunes.org (Armin Rigo) Date: Sun, 13 Dec 2009 20:11:50 +0100 Subject: [pypy-dev] Advice needed debugging a Sys.exit error involving py.py and Stackless.py In-Reply-To: <606760.40853.qm@web112406.mail.gq1.yahoo.com> References: <606760.40853.qm@web112406.mail.gq1.yahoo.com> Message-ID: <20091213191150.GA10380@code0.codespeak.net> Hi Andrew, I must warn you that you may not get much attention these days. I can only say that I'm sorry about it. As you found out, the stackless part of PyPy is sleeping nowadays -- it still works, and is tested, but that's about it. A bientot, Armin. From olliwang at ollix.com Sun Dec 13 20:22:13 2009 From: olliwang at ollix.com (Olli Wang) Date: Mon, 14 Dec 2009 03:22:13 +0800 Subject: [pypy-dev] What does MemoryError mean? Message-ID: <1590abce0912131122n43848652oe34e733edfc17263@mail.gmail.com> Hi, I was trying to translate Python interpreter using the JIT backend on Snow Leopard (don't know if PyPy supports jit on Snow Leopard now). But I got a MemoryError, does it mean I do not have enough memory? I have 4GB RAM on my computer and most of them should be available when translating. Here's the error message: [rtyper] specializing: 78200 / 80335 blocks (97%) .....+%+#%*+...*%......... [rtyper] specializing: 80400 / 80467 blocks (99%) [rtyper] -=- specialized 2310 more blocks -=- [rtyper] -=- specialized 0 more blocks -=- .... [rtyper] -=- specialized 13 more blocks -=- [translation:info] JIT compiler generation... [Timer] Timings: [Timer] annotate --- 446.3 s [Timer] rtype_lltype --- 590.8 s [Timer] pyjitpl_lltype --- 0.2 s [Timer] =========================================== [Timer] Total: --- 1037.2 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "/usr/local/bin/translate.py", line 277, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/driver.py", line 741, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip()) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/tool/taskengine.py", line 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/driver.py", line 279, in _do [translation:ERROR] res = func() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/translator/driver.py", line 377, in task_pyjitpl_lltype [translation:ERROR] backend_name=self.config.translation.jit_backend, inline=True) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/jit/metainterp/warmspot.py", line 35, in apply_jit [translation:ERROR] kwds['CPUClass'] = getcpuclass(backend_name) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/jit/backend/detect_cpu.py", line 54, in getcpuclass [translation:ERROR] backend_name = autodetect() [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/jit/backend/detect_cpu.py", line 48, in autodetect [translation:ERROR] if not detect_sse2(): [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/jit/backend/x86/detect_sse2.py", line 7, in detect_sse2 [translation:ERROR] data = alloc(4096) [translation:ERROR] File "/Users/olliwang/workspace/repo/pypy-trunk/pypy/rlib/rmmap.py", line 638, in alloc [translation:ERROR] raise MemoryError [translation:ERROR] MemoryError -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091214/4936d52e/attachment-0001.htm From arigo at tunes.org Sun Dec 13 20:30:30 2009 From: arigo at tunes.org (Armin Rigo) Date: Sun, 13 Dec 2009 20:30:30 +0100 Subject: [pypy-dev] What does MemoryError mean? In-Reply-To: <1590abce0912131122n43848652oe34e733edfc17263@mail.gmail.com> References: <1590abce0912131122n43848652oe34e733edfc17263@mail.gmail.com> Message-ID: <20091213193030.GA11896@code0.codespeak.net> Hi, On Mon, Dec 14, 2009 at 03:22:13AM +0800, Olli Wang wrote: > Hi, I was trying to translate Python interpreter using the JIT backend on > Snow Leopard (don't know if PyPy supports jit on Snow Leopard now). There is a 32-bit-versus-64-bit issue with Snow Leopard. See the mails from today, topic "JIT issues on x86_64". A bientot, Armin. From olliwang at ollix.com Mon Dec 14 11:30:52 2009 From: olliwang at ollix.com (Olli Wang) Date: Mon, 14 Dec 2009 18:30:52 +0800 Subject: [pypy-dev] pypy-jvm doesn't work? Message-ID: <1590abce0912140230g5807b6e4vb4b173751eeb502d@mail.gmail.com> Hi, I tried to execute the compiled Python interpreter with jvm backend on both Gentoo Linux(amd64) and Snow Leopard. But unfortunately both of them failed to start. I simply ran "./translate.py --backend=jvm targetpypystandalone.py" and "pypy-jvm" on both computer. Do I miss something? Thanks. == Error messages on Gentoo Linux (amd64) Exception in thread "main" java.lang.VerifyError: (class: pypy/ConstantInit_0, method: constant_init signature: ()V) Expecting to find long on stack at pypy.ConstantInit.init(ConstantInit.j:6) at pypy.Main.(Main.j:26) Could not find the main class: pypy.Main. Program will exit. == Error messages on Snow Leopard (I also tried to fix the "Adobe Unit Types.osax" by following this page ( http://www.davidchinphoto.com/snow-leopard-and-adobe-unit-types-osax/), but still failed.) 2009-12-14 18:25:20.913 java[9944:1707] Error loading /Library/ScriptingAdditions/Adobe Unit Types copy.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types copy.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found. Did find: /Library/ScriptingAdditions/Adobe Unit Types copy.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper Exception in thread "main" java.lang.VerifyError: (class: pypy/ConstantInit_0, method: constant_init signature: ()V) Expecting to find long on stack at pypy.ConstantInit.init(ConstantInit.j:6) at pypy.Main.(Main.j:26) java: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types copy.osax" declares no loadable handlers. 2009-12-14 18:25:20.923 java[9944:1707] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found. Did find: /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper java: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types.osax" declares no loadable handlers. -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091214/2dd51c09/attachment.htm From anto.cuni at gmail.com Mon Dec 14 11:39:59 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 14 Dec 2009 11:39:59 +0100 Subject: [pypy-dev] pypy-jvm doesn't work? In-Reply-To: <1590abce0912140230g5807b6e4vb4b173751eeb502d@mail.gmail.com> References: <1590abce0912140230g5807b6e4vb4b173751eeb502d@mail.gmail.com> Message-ID: <4B2615FF.3090601@gmail.com> Hi Olli, Olli Wang wrote: > Hi, I tried to execute the compiled Python interpreter with jvm backend > on both Gentoo Linux(amd64) and Snow Leopard. > But unfortunately both of them failed to start. I simply ran > "./translate.py --backend=jvm targetpypystandalone.py" and "pypy-jvm" on > both computer. Do I miss something? Thanks. > > == > Error messages on Gentoo Linux (amd64) > > Exception in thread "main" java.lang.VerifyError: (class: > pypy/ConstantInit_0, method: constant_init signature: ()V) Expecting to > find long on stack > at pypy.ConstantInit.init(ConstantInit.j:6) > at pypy.Main.(Main.j:26) > Could not find the main class: pypy.Main. Program will exit. I suppose it's a 32/64 bit issue again: the problem is that when you run ./translate.py with a 64 bit python, it assumes that 'int' variables are 64 bits, but on the JVM they are always 32 bit. For what I know, the CLI backend has exactly the same problem. As a workaround, you can try to run translate.py under a 32bit chroot (which works for sure, as I use it daily to develop pypy) or with a 32bit python (which should work, but I've never tried). ciao, Anto From cfbolz at gmx.de Mon Dec 14 13:45:44 2009 From: cfbolz at gmx.de (Carl Friedrich Bolz) Date: Mon, 14 Dec 2009 13:45:44 +0100 Subject: [pypy-dev] Advice needed debugging a Sys.exit error involving py.py and Stackless.py In-Reply-To: <606760.40853.qm@web112406.mail.gq1.yahoo.com> References: <606760.40853.qm@web112406.mail.gq1.yahoo.com> Message-ID: <4B263378.3000102@gmx.de> Hi Andrew, On 12/12/2009 01:02 AM, Andrew Francis wrote: > I am trying to add a new function, stackless.select() to the Stackless.py module. This select() is loosely based on the select() in Newsqueak/Go. Once I get this select() to work, I would like to figure out some Python > syntax to support it. One step deeper into PyPy :-) > > For the most part, select() is pretty straightforward to implement. > In two of my test cases, test4.py and test5.py, the select() function seems to work. Unfortunately, I get a sys.exit() error. unfortunately I don't really have time to dig deeply into your code. I just wanted to give you the following hint: if you install greenlets for CPython, you can test the lib/stackless.py code on top of CPython. This makes it possible to distinguish problems in the pure app-level code in lib/stackless.py from problems in the RPython-implementation of coroutines in PyPy. Given that you are changing the applevel code only, it is much more likely that the problem is actually caused by something you changed. Cheers, Carl Friedrich From andrewfr_ice at yahoo.com Thu Dec 17 03:52:32 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Wed, 16 Dec 2009 18:52:32 -0800 (PST) Subject: [pypy-dev] Advice needed debugging a Sys.exit error involving py.py and Stackless.py Message-ID: <92152.3994.qm@web112417.mail.gq1.yahoo.com> Hello Armin: --- On Sun, 12/13/09, Armin Rigo wrote: > I must warn you that you may not get much attention these > days. I understand. I understand the PyPy team is busy. And I have privately received some useful feedback. > I can only say that I'm sorry about it.? As you found out, > the stackless part of PyPy is sleeping nowadays -- it still works, >and is tested, but that's about it. Well if I can get select() to work, I would be more than happy to maintain and expand stackless.py. stackless.py is too cool and important to be just left sleeping. Meanwhile, I have written much simplified tests. I get the same errors. Given that problems revolve around context switches in schedule() and the probably the main tasklet, I believe there are modules other than stackless.py that I need to modify. I also need to understand some of the terminology - for instance, nesting_level. Does that refer to frames. Or tasklets or coroutines? Again, I think there is something very simple at the bottom of all this - I am just a newbie. Cheers, Andrew From olliwang at ollix.com Thu Dec 17 13:26:35 2009 From: olliwang at ollix.com (Olli Wang) Date: Thu, 17 Dec 2009 20:26:35 +0800 Subject: [pypy-dev] Questions about RPython Message-ID: <1590abce0912170426v6e94b500n5709614251071529@mail.gmail.com> Hi, I was trying to develop a tiny application using RPython and I have a few of questions. Obviously, RPython has the advantage of translating the code to various backends so we can get much better performance than Python scripts running on top of any Python implementation, so I was wondering, is it possible to rewrite the full Python's standard library using RPython so people can treat RPython as a general purpose programming language? (is that a good idea?) BTW, in my tiny experiment application. I want to create an empty file and write something there. Unfortunately, the open() function is not supported in RPython and the os.open() can't create a new file if not existed. So how do I `touch` a new file in RPython? Thanks. -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091217/2e44b6d0/attachment.htm From benjamin at python.org Thu Dec 17 13:48:47 2009 From: benjamin at python.org (Benjamin Peterson) Date: Thu, 17 Dec 2009 06:48:47 -0600 Subject: [pypy-dev] Questions about RPython In-Reply-To: <1590abce0912170426v6e94b500n5709614251071529@mail.gmail.com> References: <1590abce0912170426v6e94b500n5709614251071529@mail.gmail.com> Message-ID: <1afaf6160912170448he09131bhbb0987fcaa1a696c@mail.gmail.com> 2009/12/17 Olli Wang : > Hi, I was trying to develop a tiny application using RPython and I have a > few of questions. Obviously, RPython has the advantage of translating the > code to various backends so we can get much better performance than Python > scripts running on top of any Python implementation, so I was wondering, is > it possible to rewrite the full Python's standard library using RPython so > people can treat RPython as a general purpose programming language? (is that > a good idea?) We intend RPython to be a language for writing interpreters not as a general purpose programming language. > BTW, in my tiny experiment application. I want to create an empty file and > write something there. Unfortunately, the open() function is not supported > in RPython and the os.open() can't create a new file if not existed. So how > do I `touch` a new file in RPython? Thanks. You're probably not passing the right flags to os.open. -- Regards, Benjamin From elec.lomy.ru at gmail.com Thu Dec 17 13:48:42 2009 From: elec.lomy.ru at gmail.com (Alexander D. Sedov) Date: Thu, 17 Dec 2009 15:48:42 +0300 Subject: [pypy-dev] Questions about RPython In-Reply-To: <1590abce0912170426v6e94b500n5709614251071529@mail.gmail.com> References: <1590abce0912170426v6e94b500n5709614251071529@mail.gmail.com> Message-ID: <1261054122.3936.0.camel@sedovs.local> ? ???, 17/12/2009 ? 20:26 +0800, Olli Wang ?????: > Hi, I was trying to develop a tiny application using RPython and I > have a few of questions. Obviously, RPython has the advantage of > translating the code to various backends so we can get much better > performance than Python scripts running on top of any Python > implementation, so I was wondering, is it possible to rewrite the full > Python's standard library using RPython so people can treat RPython as > a general purpose programming language? (is that a good idea?) > > > BTW, in my tiny experiment application. I want to create an empty file > and write something there. Unfortunately, the open() function is not > supported in RPython and the os.open() can't create a new file if not > existed. So how do I `touch` a new file in RPython? Thanks. Just use os.O_CREAT flag after existence check. From amauryfa at gmail.com Thu Dec 17 14:47:00 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Thu, 17 Dec 2009 14:47:00 +0100 Subject: [pypy-dev] Questions about RPython In-Reply-To: <1590abce0912170426v6e94b500n5709614251071529@mail.gmail.com> References: <1590abce0912170426v6e94b500n5709614251071529@mail.gmail.com> Message-ID: Hi, 2009/12/17 Olli Wang > Hi, I was trying to develop a tiny application using RPython and I have a > few of questions. Obviously, RPython has the advantage of translating the > code to various backends so we can get much better performance than Python > scripts running on top of any Python implementation, so I was wondering, is > it possible to rewrite the full Python's standard library using RPython so > people can treat RPython as a general purpose programming language? (is that > a good idea?) > I don't think so. RPython is a statically typed language, even if types are not explicit in the code, but determined by the translator. For example, os.open() accepts a string for its first argument, so it cannot accept unicode. A RPython library would be quite different from the CPython standard library. -- Amaury Forgeot d'Arc -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091217/ac21bf5a/attachment-0001.htm From arigo at tunes.org Fri Dec 18 12:13:59 2009 From: arigo at tunes.org (Armin Rigo) Date: Fri, 18 Dec 2009 12:13:59 +0100 Subject: [pypy-dev] Leysin Winter Sprint: 23-30th January 2010 In-Reply-To: <07BB8FB8-EEC2-4672-908F-974F24E3B4DC@gmail.com> References: <20091202124318.GA17481@code0.codespeak.net> <20091203151918.GA18204@code0.codespeak.net> <07BB8FB8-EEC2-4672-908F-974F24E3B4DC@gmail.com> Message-ID: <20091218111359.GC23039@code0.codespeak.net> Hi Leonardo, hi all, On Thu, Dec 03, 2009 at 02:57:37PM -0200, Leonardo Santagada wrote: > Talked on the channel about doing it during the pycon atlanta. > Would the main developers go there? I fear not. There will be 1 or 2 of us at PyCon, but setting up a PyPy sprint is not really useful. There are several factors, but mostly it's that it's quite unclear what kind of project can be done in the JIT in 2-3 days by people that did not work with PyPy so far; it might work, but it would require enough PyPy people to be there and to be not completely knocked out by the time lag. FWIW I am planning to have the sprint in Leysin sometimes around Easter. A bientot, Armin. From andrewfr_ice at yahoo.com Fri Dec 18 20:08:28 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Fri, 18 Dec 2009 11:08:28 -0800 (PST) Subject: [pypy-dev] Success and Thanks! : Advice needed debugging a Sys.exit error Message-ID: <172694.28058.qm@web112414.mail.gq1.yahoo.com> Hi Carl and Stephan: >Message: 4 >Date: Mon, 14 Dec 2009 13:45:44 +0100 >From: Carl Friedrich Bolz >Subject: Re: [pypy-dev] Advice needed debugging a Sys.exit error > involving py.py and Stackless.py >To: pypy-dev at codespeak.net >Message-ID: <4B263378.3000102 at gmx.de> >Content-Type: text/plain; charset=ISO-8859-1; format=flowed CB>unfortunately I don't really have time to dig deeply into your code. I CB>just wanted to give you the following hint: if you install greenlets for CB>CPython, you can test the lib/stackless.py code on top of CPython. Carl, I took your advice and ran stackless.py on top of greenlets and CPython. The test programmes worked! I will write more tests in the days to come. However this is a really need approach. This should be documented somewhere for other folks to try! CB>This makes it possible to distinguish problems in the pure app-level CB>code in lib/stackless.py from problems in the RPython-implementation of CB>coroutines in PyPy. Given that you are changing the applevel code only, CB>it is much more likely that the problem is actually caused by something CB>you changed. I changed only stackless.py. In turn, I changed very little code outside of adding the select function. I am not sure what I am looking for but I started to look at pypy/module/_stackless for clues. If I had to guess, I am thinking a culprit may involve stackless_flags - I am not setting a flag in the correct spot in the new code. Once again, thanks for your help. Cheers, Andrew From olliwang at ollix.com Sat Dec 19 08:41:33 2009 From: olliwang at ollix.com (Olli Wang) Date: Sat, 19 Dec 2009 15:41:33 +0800 Subject: [pypy-dev] The builtin tuple() function doesn't work Message-ID: <1590abce0912182341r184646efh6234d1cee3547333@mail.gmail.com> Hi, I tried to convert a list to tuple in RPython such as tuple([1, 2, 3]), but it would cause errors during translating. Is that a bug? I did find the builtin_tuple() function in http://codespeak.net/pypy/dist/pypy/annotation/builtin.py, so it should work, right? Thanks. -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091219/9fdfcdcb/attachment.htm From amauryfa at gmail.com Sat Dec 19 09:13:38 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Sat, 19 Dec 2009 09:13:38 +0100 Subject: [pypy-dev] The builtin tuple() function doesn't work In-Reply-To: <1590abce0912182341r184646efh6234d1cee3547333@mail.gmail.com> References: <1590abce0912182341r184646efh6234d1cee3547333@mail.gmail.com> Message-ID: Hello,Rpy 2009/12/19 Olli Wang > > Hi, I tried to convert a list to tuple in RPython such as tuple([1, 2, 3]), > but it would cause errors during translating. > Is that a bug? I did find the?builtin_tuple() function > in?http://codespeak.net/pypy/dist/pypy/annotation/builtin.py, > so it should work, right? A RPython tuple is very different from a list. Please see http://codespeak.net/pypy/dist/pypy/doc/coding-guide.html#object-restrictions For me, a RPython tuple is similar to the python's collection.namedtuple object: the fields (number and types) are fixed, and if you can access items by their position in the tuple, the index value must be known at translation time (for type inference to succeed). It is very similar to the C++ boost::tuple template class. Yet another reason why it would be difficult to rewrite the python standard library in RPython... -- Amaury Forgeot d'Arc From elec.lomy.ru at gmail.com Sat Dec 19 19:17:02 2009 From: elec.lomy.ru at gmail.com (Alexander D. Sedov) Date: Sat, 19 Dec 2009 21:17:02 +0300 Subject: [pypy-dev] Questions about PyPy In-Reply-To: References: <1590abce0912182341r184646efh6234d1cee3547333@mail.gmail.com> Message-ID: <1261246622.13353.17.camel@sedovs.local> Hello, I have some questions about PyPy. I want to use PyPy with its great coroutines in my project. But I already use numpy for it. Is there a working numpy port for PyPy? BTW, when I looked through exist Numeric code, I noticed a typo: In function 'get_slice': dim = (stop-start)//step stride = self.strides[i]*step dims.append( dim ) > strides.append( step ) I think that author meant 'strides.append(stride)'. Question 2 is about `py` library distributed with PyPy, is it unmodified? There were some great changes from version 1.0 to 1.1, so I want to know if I may just replace or have to patch. Question 3 is about `stackless` module. As far as I can understand from mailing list it is not supported for long time. So, because I need it and I think that I have understood it, I can support it if you'll let. Question 4 is about `distributed` module. I know it doesn't work, but what does line > from py.__.green.msgstruct import decodemessage, message mean? I tried to locate `green` module, but located no one. Thanks, and sorry for my bad English. -- Alexander D. Sedov From olliwang at ollix.com Sun Dec 20 21:13:15 2009 From: olliwang at ollix.com (Olli Wang) Date: Mon, 21 Dec 2009 04:13:15 +0800 Subject: [pypy-dev] AES Implementation in RPython Message-ID: <1590abce0912201213j3b864a86q7e371a77242ffe66@mail.gmail.com> Hi, I implemented the AES in RPython and made some benchmarks. You may want to take a look at http://olliwang.com/2009/12/20/aes-implementation-in-rpython/ I know that RPython is designed to write Python interpreter, but the translated C performance is really really impressive. If RPython could be integrated into normal Python code seamlessly, that would be fantastic! -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091221/16277a09/attachment.htm From fijall at gmail.com Sun Dec 20 22:13:06 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Sun, 20 Dec 2009 22:13:06 +0100 Subject: [pypy-dev] AES Implementation in RPython In-Reply-To: <1590abce0912201213j3b864a86q7e371a77242ffe66@mail.gmail.com> References: <1590abce0912201213j3b864a86q7e371a77242ffe66@mail.gmail.com> Message-ID: <693bc9ab0912201313w14a78204id8deeecb37b0b856@mail.gmail.com> On Sun, Dec 20, 2009 at 9:13 PM, Olli Wang wrote: > Hi, I implemented the AES in RPython and made some benchmarks. > You may want to take a look > at?http://olliwang.com/2009/12/20/aes-implementation-in-rpython/ > > I know that RPython is designed to write Python interpreter, but the > translated C performance is really really impressive. > If RPython could be integrated into normal Python code seamlessly, that > would be fantastic! Hi. There is a possibility to implement this, but none of core developers is willing to spend time on this. However, you might be interested that on top of pypy-c with JIT (compiled interpreter, but pypy one and not CPython), it's over 5x faster than CPython. This is maybe not 150x, but something anyway. Cheers, fijal From olliwang at ollix.com Mon Dec 21 07:59:13 2009 From: olliwang at ollix.com (Olli Wang) Date: Mon, 21 Dec 2009 14:59:13 +0800 Subject: [pypy-dev] Failed to translate interpreter to JIT on Windows Message-ID: <1590abce0912202259s4177f239o7fb9c984c44ba974@mail.gmail.com> Hi, I was trying to translate Python interpreter to JIT backend on WIndows but failed. It's no problem to translate it to C backend. Do I miss something? Thanks. [c:writing] implement_40.c [c:writing] implement_41.c [c:writing] implement_42.c [translation:info] written: c:\docume~1\olliwa~1\locals~1\temp\usession-26\testi ng_1\testing_1.c [translation:info] Compiling c source... [platform:execute] make in c:\docume~1\olliwa~1\locals~1\temp\usession-26\testin g_1 [platform:ERROR] cl : Command line warning D9024 : unrecognized source file type 'Wang\\pypy-trunk\\pypy\\translator\\c', object file assumed [platform:ERROR] cl : Command line warning D9027 : source file 'Wang\\pypy-trunk \\pypy\\translator\\c' ignored [platform:ERROR] cl : Command line warning D9024 : unrecognized source file type 'Wang\\pypy-trunk\\pypy\\translator\\c\\src\\libffi_msvc', object file assumed [platform:ERROR] cl : Command line warning D9027 : source file 'Wang\\pypy-trunk \\pypy\\translator\\c\\src\\libffi_msvc' ignored [platform:ERROR] NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"' : return code '0x2' [platform:ERROR] Stop. [platform:ERROR] cl.exe /nologo /MD /O2 /Oi /Ob1 /c /FAs /Fatesting_1.s testing_1.c /Ic:\\Python26\\include /IC:\\cygwin\\home\\Olli Wang\\pypy-trunk\\ pypy\\translator\\c /IC:\\cygwin\\home\\Olli Wang\\pypy-trunk\\pypy\\translator \\c\\src\\libffi_msvc [platform:ERROR] testing_1.c [platform:ERROR] c:\documents and settings\olli wang\local settings\temp\usessio n-26\testing_1\common_header.h(12) : fatal error C1083: Cannot open include file : 'src/stack.h': No such file or directory [Timer] Timings: [Timer] annotate --- 395.8 s [Timer] rtype_lltype --- 540.0 s [Timer] pyjitpl_lltype --- 371.9 s [Timer] backendopt_lltype --- 229.9 s [Timer] stackcheckinsertion_lltype --- 72.2 s [Timer] database_c --- 559.6 s [Timer] source_c --- 661.0 s [Timer] compile_c --- 0.5 s [Timer] =========================================== [Timer] Total: --- 2830.9 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "./translate.py", line 277, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "C:\cygwin\home\Olli Wang\pypy-trunk\pypy\translator \driver.py", line 741, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip ()) [translation:ERROR] File "C:\cygwin\home\Olli Wang\pypy-trunk\pypy\translator \tool\taskengine.py", line 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "C:\cygwin\home\Olli Wang\pypy-trunk\pypy\translator \driver.py", line 279, in _do [translation:ERROR] res = func() [translation:ERROR] File "C:\cygwin\home\Olli Wang\pypy-trunk\pypy\translator \driver.py", line 504, in task_compile_c [translation:ERROR] cbuilder.compile() [translation:ERROR] File "C:\cygwin\home\Olli Wang\pypy-trunk\pypy\translator \c\genc.py", line 447, in compile [translation:ERROR] self.translator.platform.execute_makefile(self.targetdir ) [translation:ERROR] File "C:\cygwin\home\Olli Wang\pypy-trunk\pypy\translator \platform\windows.py", line 281, in execute_makefile [translation:ERROR] self._handle_error(returncode, stdout, stderr, path.join ('make')) [translation:ERROR] File "C:\cygwin\home\Olli Wang\pypy-trunk\pypy\translator \platform\windows.py", line 197, in _handle_error [translation:ERROR] raise CompilationError(stdout, stderr) [translation:ERROR] CompilationError: -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091221/49721d1a/attachment-0001.htm From holger at merlinux.eu Mon Dec 21 18:56:52 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 21 Dec 2009 18:56:52 +0100 Subject: [pypy-dev] release / funding bits Message-ID: <20091221175652.GR3516@trillke.net> Hi all, not sure how many of pypy-dev subscribers are following the PyPy status blog, so here are some brief pointers to two recent posts: PyPy-1.2 release planning: http://tinyurl.com/yacbb8t Accelerating PyPy by funding: http://tinyurl.com/yakb3en feedback as always welcome, here or on the posts (i am still waiting to get to know a common way to bidirectionally map e-mail threads to blog post comments) cheers, holger From fijall at gmail.com Mon Dec 21 19:05:07 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Mon, 21 Dec 2009 19:05:07 +0100 Subject: [pypy-dev] Failed to translate interpreter to JIT on Windows In-Reply-To: <1590abce0912202259s4177f239o7fb9c984c44ba974@mail.gmail.com> References: <1590abce0912202259s4177f239o7fb9c984c44ba974@mail.gmail.com> Message-ID: <693bc9ab0912211005u354f4f8bg68649e04cbd38554@mail.gmail.com> Hi Unfortunately, both windows and os x are less developed platforms (since less active jit developers use them). OS X is known not to work with the JIT. Regarding windows error - it looks strange. I think it's somehow missing the include path in the makefile, so it's more a build system problem. Do you feel like looking what's missing? I don't know much about VSC++, but include dirs for compilation should include pypy-checkout/pypy/trunk/pypy/translator/c/ somewhere. Cheers, fijal From amauryfa at gmail.com Tue Dec 22 18:11:51 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Tue, 22 Dec 2009 18:11:51 +0100 Subject: [pypy-dev] Failed to translate interpreter to JIT on Windows In-Reply-To: <1590abce0912202259s4177f239o7fb9c984c44ba974@mail.gmail.com> References: <1590abce0912202259s4177f239o7fb9c984c44ba974@mail.gmail.com> Message-ID: Hello, 2009/12/21 Olli Wang : > Hi, I was trying to translate Python interpreter to JIT backend on WIndows > but failed. > It's no problem to translate it to C backend. Do I miss something? Thanks. > [c:writing] implement_40.c > [c:writing] implement_41.c > [c:writing] implement_42.c > [translation:info] written: > c:\docume~1\olliwa~1\locals~1\temp\usession-26\testi > ng_1\testing_1.c > [translation:info] Compiling c source... > [platform:execute] make in > c:\docume~1\olliwa~1\locals~1\temp\usession-26\testin > g_1 > [platform:ERROR] cl : Command line warning D9024 : unrecognized source file > type > ?'Wang\\pypy-trunk\\pypy\\translator\\c', object file assumed > [platform:ERROR] cl : Command line warning D9027 : source file > 'Wang\\pypy-trunk > \\pypy\\translator\\c' ignored I suggest that you use a directory wihout spaces in its name... -- Amaury Forgeot d'Arc From olliwang at ollix.com Wed Dec 23 06:13:14 2009 From: olliwang at ollix.com (Olli Wang) Date: Wed, 23 Dec 2009 13:13:14 +0800 Subject: [pypy-dev] Failed to translate interpreter to JIT on Windows In-Reply-To: References: <1590abce0912202259s4177f239o7fb9c984c44ba974@mail.gmail.com> Message-ID: <1590abce0912222113w4d0ab4f9h3029a48208fd66af@mail.gmail.com> Hi, remove spaces in directory name works! Thanks a lot. :) On Wed, Dec 23, 2009 at 1:11 AM, Amaury Forgeot d'Arc wrote: > Hello, > > 2009/12/21 Olli Wang : > > Hi, I was trying to translate Python interpreter to JIT backend on > WIndows > > but failed. > > It's no problem to translate it to C backend. Do I miss something? > Thanks. > > [c:writing] implement_40.c > > [c:writing] implement_41.c > > [c:writing] implement_42.c > > [translation:info] written: > > c:\docume~1\olliwa~1\locals~1\temp\usession-26\testi > > ng_1\testing_1.c > > [translation:info] Compiling c source... > > [platform:execute] make in > > c:\docume~1\olliwa~1\locals~1\temp\usession-26\testin > > g_1 > > [platform:ERROR] cl : Command line warning D9024 : unrecognized source > file > > type > > 'Wang\\pypy-trunk\\pypy\\translator\\c', object file assumed > > [platform:ERROR] cl : Command line warning D9027 : source file > > 'Wang\\pypy-trunk > > \\pypy\\translator\\c' ignored > > I suggest that you use a directory wihout spaces in its name... > > -- > Amaury Forgeot d'Arc > -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091223/7d130f8f/attachment.htm From olliwang at ollix.com Wed Dec 23 07:46:14 2009 From: olliwang at ollix.com (Olli Wang) Date: Wed, 23 Dec 2009 14:46:14 +0800 Subject: [pypy-dev] Failed to translate interpreter to JIT on Windows In-Reply-To: <1590abce0912222113w4d0ab4f9h3029a48208fd66af@mail.gmail.com> References: <1590abce0912202259s4177f239o7fb9c984c44ba974@mail.gmail.com> <1590abce0912222113w4d0ab4f9h3029a48208fd66af@mail.gmail.com> Message-ID: <1590abce0912222246h7ab7552tc5461bb85fe401c6@mail.gmail.com> Hi, though the pypy-c-jit interpreter has been compiled successfully, but I found a new problem. That is, I couldn't import any module in the `pypy.rlib` package. Any idea? Here's the test running pypy-c, and everything works fine: $ ./pypy/translator/goal/pypy-c.exe Python 2.5.2 (70148, Dec 21 2009, 03:51:26) [PyPy 1.1.0] on win32 Type "help", "copyright", "credits" or "license" for more information. And now for something completely different: ``things will be nice and stuff'' >>>> import pypy.rlib >>>> pypy.rlib >>>> from pypy.rlib import rmd5 >>>> Here's the test running pypy-c-jit, and importing failed: $ ./pypy/translator/goal/pypy-c-jit.exe 'import site' failed Python 2.5.2 (70227, Dec 23 2009, 00:01:42) [PyPy 1.1.0] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>> import pypy.rlib >>>> pypy.rlib >>>> from pypy.rlib import rmd5 Traceback (most recent call last): File "", line 1, in ImportError: cannot import name 'rmd5' >>>> On Wed, Dec 23, 2009 at 1:13 PM, Olli Wang wrote: > Hi, remove spaces in directory name works! Thanks a lot. :) > > On Wed, Dec 23, 2009 at 1:11 AM, Amaury Forgeot d'Arc wrote: > >> Hello, >> >> 2009/12/21 Olli Wang : >> > Hi, I was trying to translate Python interpreter to JIT backend on >> WIndows >> > but failed. >> > It's no problem to translate it to C backend. Do I miss something? >> Thanks. >> > [c:writing] implement_40.c >> > [c:writing] implement_41.c >> > [c:writing] implement_42.c >> > [translation:info] written: >> > c:\docume~1\olliwa~1\locals~1\temp\usession-26\testi >> > ng_1\testing_1.c >> > [translation:info] Compiling c source... >> > [platform:execute] make in >> > c:\docume~1\olliwa~1\locals~1\temp\usession-26\testin >> > g_1 >> > [platform:ERROR] cl : Command line warning D9024 : unrecognized source >> file >> > type >> > 'Wang\\pypy-trunk\\pypy\\translator\\c', object file assumed >> > [platform:ERROR] cl : Command line warning D9027 : source file >> > 'Wang\\pypy-trunk >> > \\pypy\\translator\\c' ignored >> >> I suggest that you use a directory wihout spaces in its name... >> >> -- >> Amaury Forgeot d'Arc >> > > > > -- > Olli Wang > > OLLI WANG PRODUCTIONS - http://olliwang.com > A BLOG ABOUT MY LIFE AND MY WORK > -- Olli Wang OLLI WANG PRODUCTIONS - http://olliwang.com A BLOG ABOUT MY LIFE AND MY WORK -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/pypy-dev/attachments/20091223/32bbc486/attachment.htm From arigo at tunes.org Wed Dec 23 12:00:02 2009 From: arigo at tunes.org (Armin Rigo) Date: Wed, 23 Dec 2009 12:00:02 +0100 Subject: [pypy-dev] Failed to translate interpreter to JIT on Windows In-Reply-To: <1590abce0912222246h7ab7552tc5461bb85fe401c6@mail.gmail.com> References: <1590abce0912202259s4177f239o7fb9c984c44ba974@mail.gmail.com> <1590abce0912222113w4d0ab4f9h3029a48208fd66af@mail.gmail.com> <1590abce0912222246h7ab7552tc5461bb85fe401c6@mail.gmail.com> Message-ID: <20091223110002.GA20072@code0.codespeak.net> Hi Olli, On Wed, Dec 23, 2009 at 02:46:14PM +0800, Olli Wang wrote: > Hi, though the pypy-c-jit interpreter has been compiled successfully, but I > found a new problem. That is, I couldn't import any module in the > `pypy.rlib` package. Any idea? Why you want to import pypy.rlib on top of a pypy-c, I cannot guess, but we might have more information about this fact: > $ ./pypy/translator/goal/pypy-c-jit.exe > 'import site' failed So I suggest to try "pypy-c-jit.exe -S" and typing "import site" to see what the error message is. Armin From arigo at tunes.org Thu Dec 24 17:23:57 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 24 Dec 2009 17:23:57 +0100 Subject: [pypy-dev] Failed to translate interpreter to JIT on Windows In-Reply-To: <1590abce0912230648w44b2de91i298a54db078cc82e@mail.gmail.com> References: <1590abce0912202259s4177f239o7fb9c984c44ba974@mail.gmail.com> <1590abce0912222113w4d0ab4f9h3029a48208fd66af@mail.gmail.com> <1590abce0912222246h7ab7552tc5461bb85fe401c6@mail.gmail.com> <20091223110002.GA20072@code0.codespeak.net> <1590abce0912230648w44b2de91i298a54db078cc82e@mail.gmail.com> Message-ID: <20091224162357.GA6968@code0.codespeak.net> Hi, On Wed, Dec 23, 2009 at 10:48:10PM +0800, Olli Wang wrote: > ... > "C:\cygwin\home\olliwang\pypy-trunk\lib-python\modified-2.5.2\encodings\_ > _init__.py", line 32, in > from encodings import aliases > ImportError: cannot import name 'aliases' > >>>> Sorry, no clue about it. Others on pypy-dev may speak if they already encountered something similar. Otherwise it just looks like you are missing the file lib-python\modified-2.5.2\encodings\aliases.py. A bientot, Armin.