1. Pypy
  2. Untitled project
  3. pypy

Source

pypy / pypy / interpreter / miscutils.py

Author Commit Message Date Builds
Carl Friedrich Bolz
kill unused untested strange stuff
Amaury Forgeot d'Arc
Issue863 Implement sys._current_frames() "for debugging purposes"
Armin Rigo
Revert r66021. Fijal, I *told* you on irc to run the test in pypy/interpreter/test and you pretended that you did. This makes me a little bit angry.
Maciej Fijalkowski
Port pyjitpl5-2 branch. Removes framestack in favor of pseudo framestack
Maciej Fijalkowski
Check-in merge attempt. Diff is to huge to read it.
Armin Rigo
Misc change.
Armin Rigo
Rough sketch of the 'signal' module. Work in progress. When pypy-c finds it, i.e. when translated --withmod-signal, it should install a handler for Ctrl-C.
Armin Rigo
Add generic support for global or per-thread "actions" in the interpreter, executed every sys.setcheckinterval() bytecode instructions. Adapted the GIL-releasing code to use such an "action". Should be usable for things like soft preemptive threading (for the logic object space), and maybe for signal handlers (e.g. Ctrl-C => KeyboardInterrupt).
Carl Friedrich Bolz
move rarithmetic.py to rlib. puh. hope I didn't break anything
Armin Rigo
Just adding comments and helpful error messages.
Armin Rigo
Hackish pseudo-solution to release the GIL around a call to time.sleep(). Simplifies testing too.
Christian Tismer
a patch that makes the value stack fixed size. This implies notto use push and pop, but to control the stack pointer in interplevel. Right now a slowdown on richards and a small improvement on pystone. We will see how it performs with extra supportfrom rlist.
Armin Rigo
A change in preparation for thread support (which remains completely independent from the core): the 'space.threadlocals' object, which contained the executioncontext, has now a well-defined method-based interface for reading and setting the executioncontext and for "making a pause" between bytecodes, for cooperative scheduling. Thread strategies are implemented by patching 'space.threadlocals' to point to an instance of a different class, with methods that really provide thread support. The default 'space.threadlocals' holds just a single executioncontext, like before. Patching is done in the init method of the selected thread module.
Armin Rigo
Explicitly check for this IndexError, because some callers expect it.
Samuele Pedroni
Revised specialization, see annotation/specialize.py and changes in bookkeeper; now annotator can receive a policy object to specify both overrides and specializations through the methods specialize and override a base class version is defined in annotation/policy.py, it will use methods of the form specialize__xxx or override__xxx chosen by attaching to the callable in user-code the attribute _annspecialcase_ with values: "specialize:xxx" "override:xxx" respectively. an…
Armin Rigo
Resurrected ThreadLocals, attaching a threadlocals instance on the space. Now getexecutioncontext() can do the right thing thread-wise, and most importantly it allows to us to restore annotator-happiness. The problem we had is hinted to in the comments of ObjSpace._freeze_(). --This line, and those below, will be ignored-- M pypy/interpreter/miscutils.py M pypy/interpreter/baseobjspace.py M pypy/objspace/std/objspace.py
Armin Rigo
issue26 resolved Got rid of getthreadlocals() and the strange interactions with execution contexts that disappear if there is no frame left in the frame stack. Now each space creates a single ExecutionContext and saves it in a private attribute. (The attribute is private to continue to force the use of space.getexecutioncontext(), which in the future should be modified to cache and return one ExecutionContext per…
Richard Emslie
* Removed ambiguity with applevel attribute of code objects: hidden_applevel * Some tidies in pyframe.py * Don't add frames with hidden code objects to * Fixes to sys._getframe() so tells the truth! * A dummy gc.py! * Hack in interactive to use its own executioncontext * regenerated module/classobjinterp.py
Richard Emslie
Added applevel to code objects, to identity code which will be translated wasy (such as exception code) to hide these unexpectedly appearing in settrace() when running in CPython.
Samuele Pedroni
make the interpreter code more annotator friendly. - use different table with functions with different signature, - use closures for generic binary/unary opcode impls to avoid getattr(.,SomeString()) problem - fix bug discovered by the annotator in INPLACE_POWER (inplace_pow has arity 2) - Stack is used polymorphically, specialize
Armin Rigo
Explicitely raise ValueError on a call to Stack.top(<negative>).
Armin Rigo
Merge, last step: copy branch as head.
Armin Rigo
Progress on translate_pypy -no-a. Now it's starting to complain on real bugs on our RPython code, like typos in never-tested branches or locals that could be undefined in some rare cases. - a typo in EXTENDED_ARG. In other words it never worked. Added a test (not so easy...). - a few extra NOT_RPYTHON annotations, an extra Cache() usage. - bare raise statements (to re-raise exceptions) now supported by the flow object space. Required minor changes in the methods of the pypy.interpreter.eval.Frame class. - in the flow graphs, "raise Class" doesn't try to build a Class() …
Armin Rigo
unclean hacking to make the translator ignore __initclass__
holger krekel
the final merge of the builtinrefactor branch into the trunk. See http://codespeak.net/pipermail/pypy-dev/2003q3/001012.html for in-depth discussion and description of what is new.