1. 05 Jan, 2001 9 commits
  2. 04 Jan, 2001 27 commits
  3. 03 Jan, 2001 4 commits
    • Jeremy Hylton's avatar
      Actually call the object with an __call__ method, instead of just · bca61d69
      Jeremy Hylton authored
      checking if it is callable.  This is the only place in the test suite
      where an __call__ method is called.
      bca61d69
    • Jeremy Hylton's avatar
      Revised implementation of CALL_FUNCTION and friends. · 48ca7e04
      Jeremy Hylton authored
      More revision still needed.
      
      Much of the code that was in the mainloop was moved to a series of
      helper functions.  PyEval_CallObjectWithKeywords was split into two
      parts.  The first part now only does argument handling.  The second
      part is now named call_object and delegates the call to a
      call_(function,method,etc.) helper.
      
      XXX The call_XXX helper functions should be replaced with tp_call
      functions for the respective types.
      
      The CALL_FUNCTION implementation contains three kinds of optimization:
      1. fast_cfunction and fast_function are called when the arguments on
         the stack can be passed directly to eval_code2() without copying
         them into a tuple.
      2. PyCFunction objects are dispatched immediately, because they are
         presumed to occur more often than anything else.
      3. Bound methods are dispatched inline.  The method object contains a
         pointer to the function object that will be called.  The function
         is called from within the mainloop, which may allow optimization #1
         to be used, too.
      
      The extened call implementation -- f(*args) and f(**kw) -- are
      implemented as a separate case in the mainloop.  This allows the
      common case of normal function calls to execute without wasting time
      on checks for extended calls, although it does introduce a small
      amount of code duplication.
      
      Also, the unused final argument of eval_code2() was removed.  This is
      probably the last trace of the access statement :-).
      48ca7e04
    • Guido van Rossum's avatar
      Two new names. · 028107a6
      Guido van Rossum authored
      028107a6
    • Guido van Rossum's avatar
      54237e42