1. 13 Mar, 2009 1 kayıt (commit)
  2. 03 Eyl, 2008 1 kayıt (commit)
  3. 25 May, 2008 1 kayıt (commit)
  4. 12 Şub, 2008 1 kayıt (commit)
  5. 10 Haz, 2007 1 kayıt (commit)
    • Martin v. Löwis's avatar
      Make identifiers str (not str8) objects throughout. · 5b222135
      Martin v. Löwis yazdı
      This affects the parser, various object implementations,
      and all places that put identifiers into C string literals.
      
      In testing, a number of crashes occurred as code would
      fail when the recursion limit was reached (such as the
      Unicode interning dictionary having key/value pairs where
      key is not value). To solve these, I added an overflowed
      flag, which allows for 50 more recursions after the
      limit was reached and the exception was raised, and
      a recursion_critical flag, which indicates that recursion
      absolutely must be allowed, i.e. that a certain call
      must not cause a stack overflow exception.
      
      There are still some places where both str and str8 are
      accepted as identifiers; these should eventually be
      removed.
      5b222135
  6. 14 May, 2007 1 kayıt (commit)
    • Guido van Rossum's avatar
      Merged revisions 55270-55324 via svnmerge from · a8add0ec
      Guido van Rossum yazdı
      svn+ssh://pythondev@svn.python.org/python/branches/p3yk
      
      ........
        r55271 | fred.drake | 2007-05-11 10:14:47 -0700 (Fri, 11 May 2007) | 3 lines
      
        remove jpeg, panel libraries for SGI; there is more IRIX stuff left over,
        I guess that should be removed too, but will leave for someone who is sure
      ........
        r55280 | fred.drake | 2007-05-11 19:11:37 -0700 (Fri, 11 May 2007) | 1 line
      
        remove mention of file that has been removed
      ........
        r55301 | brett.cannon | 2007-05-13 17:38:05 -0700 (Sun, 13 May 2007) | 4 lines
      
        Remove rexec and Bastion from the stdlib.  This also eliminates the need for
        f_restricted on frames.  This in turn negates the need for
        PyEval_GetRestricted() and PyFrame_IsRestricted().
      ........
        r55303 | brett.cannon | 2007-05-13 19:22:22 -0700 (Sun, 13 May 2007) | 2 lines
      
        Remove the md5 and sha modules.
      ........
        r55305 | george.yoshida | 2007-05-13 19:45:55 -0700 (Sun, 13 May 2007) | 2 lines
      
        fix markup
      ........
        r55306 | neal.norwitz | 2007-05-13 19:47:57 -0700 (Sun, 13 May 2007) | 1 line
      
        Get the doc building again after some removals.
      ........
        r55307 | neal.norwitz | 2007-05-13 19:50:45 -0700 (Sun, 13 May 2007) | 1 line
      
        Get test_pyclbr passing again after getstatus was removed from commands.  This "test case" was weird since it was just importing a seemingly random module.  Remove the import
      ........
        r55322 | brett.cannon | 2007-05-14 14:09:20 -0700 (Mon, 14 May 2007) | 3 lines
      
        Remove the compiler package.  Will eventually need a mechanism to byte compile
        an AST.
      ........
      a8add0ec
  7. 09 Şub, 2007 1 kayıt (commit)
  8. 15 Şub, 2006 1 kayıt (commit)
  9. 10 Ara, 2005 1 kayıt (commit)
    • Jeremy Hylton's avatar
      Add const to several API functions that take char *. · af68c874
      Jeremy Hylton yazdı
      In C++, it's an error to pass a string literal to a char* function
      without a const_cast().  Rather than require every C++ extension
      module to put a cast around string literals, fix the API to state the
      const-ness.
      
      I focused on parts of the API where people usually pass literals:
      PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type
      slots, etc.  Predictably, there were a large set of functions that
      needed to be fixed as a result of these changes.  The most pervasive
      change was to make the keyword args list passed to
      PyArg_ParseTupleAndKewords() to be a const char *kwlist[].
      
      One cast was required as a result of the changes:  A type object
      mallocs the memory for its tp_doc slot and later frees it.
      PyTypeObject says that tp_doc is const char *; but if the type was
      created by type_new(), we know it is safe to cast to char *.
      af68c874
  10. 02 Agu, 2005 1 kayıt (commit)
  11. 11 Eki, 2004 1 kayıt (commit)
  12. 27 Haz, 2004 1 kayıt (commit)
  13. 01 Haz, 2004 1 kayıt (commit)
  14. 28 Eki, 2003 1 kayıt (commit)
  15. 20 Şub, 2003 1 kayıt (commit)
  16. 19 Şub, 2003 1 kayıt (commit)
  17. 05 Şub, 2003 1 kayıt (commit)
    • Jeremy Hylton's avatar
      Small function call optimization and special build option for call stats. · 985eba53
      Jeremy Hylton yazdı
      -DCALL_PROFILE: Count the number of function calls executed.
      
      When this symbol is defined, the ceval mainloop and helper functions
      count the number of function calls made.  It keeps detailed statistics
      about what kind of object was called and whether the call hit any of
      the special fast paths in the code.
      
      Optimization:
      
      When we take the fast_function() path, which seems to be taken for
      most function calls, and there is minimal frame setup to do, avoid
      call PyEval_EvalCodeEx().  The eval code ex function does a lot of
      work to handle keywords args and star args, free variables,
      generators, etc.  The inlined version simply allocates the frame and
      copies the arguments values into the frame.
      
      The optimization gets a little help from compile.c which adds a
      CO_NOFREE flag to code objects that don't have free variables or cell
      variables.  This change allows fast_function() to get into the fast
      path with fewer tests.
      
      I measure a couple of percent speedup in pystone with this change, but
      there's surely more that can be done.
      985eba53
  18. 03 Eyl, 2002 1 kayıt (commit)
  19. 12 Agu, 2002 1 kayıt (commit)
  20. 02 Agu, 2001 1 kayıt (commit)
  21. 16 Tem, 2001 1 kayıt (commit)
    • Tim Peters's avatar
      Part way to allowing "from __future__ import generators" to communicate · 5ba58662
      Tim Peters yazdı
      that info to code dynamically compiled *by* code compiled with generators
      enabled.  Doesn't yet work because there's still no way to tell the parser
      that "yield" is OK (unlike nested_scopes, the parser has its fingers in
      this too).
      Replaced PyEval_GetNestedScopes by a more-general
      PyEval_MergeCompilerFlags.  Perhaps I should not have?  I doubted it was
      *intended* to be part of the public API, so just did.
      5ba58662
  22. 27 Haz, 2001 1 kayıt (commit)
    • Fred Drake's avatar
      Revise the interface to the profiling and tracing support for the · 55fb6e03
      Fred Drake yazdı
      Python interpreter.
      
      This change adds two new C-level APIs:  PyEval_SetProfile() and
      PyEval_SetTrace().  These can be used to install profile and trace
      functions implemented in C, which can operate at much higher speeds
      than Python-based functions.  The overhead for calling a C-based
      profile function is a very small fraction of a percent of the overhead
      involved in calling a Python-based function.
      
      The machinery required to call a Python-based profile or trace
      function been moved to sysmodule.c, where sys.setprofile() and
      sys.setprofile() simply become users of the new interface.
      55fb6e03
  23. 22 Mar, 2001 1 kayıt (commit)
  24. 15 Eyl, 2000 1 kayıt (commit)
  25. 01 Eyl, 2000 2 kayıt (commit)
  26. 27 Agu, 2000 1 kayıt (commit)
  27. 25 Tem, 2000 1 kayıt (commit)
  28. 22 Tem, 2000 1 kayıt (commit)
  29. 08 Tem, 2000 1 kayıt (commit)
  30. 30 Haz, 2000 2 kayıt (commit)
  31. 08 May, 2000 1 kayıt (commit)
  32. 17 Mar, 1999 1 kayıt (commit)
  33. 04 Ara, 1998 1 kayıt (commit)
  34. 08 Agu, 1998 1 kayıt (commit)
  35. 30 Agu, 1997 1 kayıt (commit)
  36. 02 Agu, 1997 1 kayıt (commit)
    • Guido van Rossum's avatar
      Mass checkin (more to follow for other directories). · 29e46a9a
      Guido van Rossum yazdı
      Introduce truly separate (sub)interpreter objects.  For now, these
      must be used by separate threads, created from C.  See Demo/pysvr for
      an example of how to use this.  This also rationalizes Python's
      initialization and finalization behavior:
      
      Py_Initialize() -- initialize the whole interpreter
      Py_Finalize() -- finalize the whole interpreter
      
      tstate = Py_NewInterpreter() -- create a new (sub)interpreter
      Py_EndInterpreter(tstate) -- delete a new (sub)interpreter
      
      There are also new interfaces relating to threads and the interpreter
      lock, which can be used to create new threads, and sometimes have to
      be used to manipulate the interpreter lock when creating or deleting
      sub-interpreters.  These are only defined when WITH_THREAD is defined:
      
      PyEval_AcquireLock() -- acquire the interpreter lock
      PyEval_ReleaseLock() -- release the interpreter lock
      
      PyEval_AcquireThread(tstate) -- acquire the lock and make the thread current
      PyEval_ReleaseThread(tstate) -- release the lock and make NULL current
      
      Other administrative changes:
      
      - The header file bltinmodule.h is deleted.
      
      - The init functions for Import, Sys and Builtin are now internal and
        declared in pythonrun.h.
      
      - Py_Setup() and Py_Cleanup() are no longer declared.
      
      - The interpreter state and thread state structures are now linked
        together in a chain (the chain of interpreters is a static variable
        in pythonrun.c).
      
      - Some members of the interpreter and thread structures have new,
        shorter, more consistent, names.
      
      - Added declarations for _PyImport_{Find,Fixup}Extension() to import.h.
      29e46a9a
  37. 19 Tem, 1997 1 kayıt (commit)
  38. 18 Tem, 1997 1 kayıt (commit)
    • Guido van Rossum's avatar
      PyEval_SaveThread() and PyEval_RestoreThread() now return/take a · 2fca21f7
      Guido van Rossum yazdı
      PyThreadState pointer instead of a (frame) PyObject pointer.  This
      makes much more sense.  It is backward incompatible, but that's no
      problem, because (a) the heaviest users are the Py_{BEGIN,END}_
      ALLOW_THREADS macros here, which have been fixed too; (b) there are
      very few direct users; (c) those who use it are there will probably
      appreciate the change.
      
      Also, added new functions PyEval_AcquireThread() and
      PyEval_ReleaseThread() which allows the threads created by the thread
      module as well threads created by others (!) to set/reset the current
      thread, and at the same time acquire/release the interpreter lock.
      
      Much saner.
      2fca21f7