1. 05 Ock, 2001 9 kayıt (commit)
  2. 04 Ock, 2001 27 kayıt (commit)
  3. 03 Ock, 2001 4 kayıt (commit)
    • Jeremy Hylton's avatar
      Actually call the object with an __call__ method, instead of just · 5ab36611
      Jeremy Hylton yazdı
      checking if it is callable.  This is the only place in the test suite
      where an __call__ method is called.
      5ab36611
    • Jeremy Hylton's avatar
      Revised implementation of CALL_FUNCTION and friends. · 5282044b
      Jeremy Hylton yazdı
      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 :-).
      5282044b
    • Guido van Rossum's avatar
      Two new names. · c4e17750
      Guido van Rossum yazdı
      c4e17750
    • Guido van Rossum's avatar
      ecc463a6