1. 13 Jan, 2017 5 commits
  2. 12 Jan, 2017 17 commits
  3. 11 Jan, 2017 16 commits
  4. 10 Jan, 2017 2 commits
    • Victor Stinner's avatar
      Inline call_function() · 415c5107
      Victor Stinner authored
      Issue #29227: Inline call_function() into _PyEval_EvalFrameDefault() using
      Py_LOCAL_INLINE to reduce the stack consumption.
      
      It reduces the stack consumption, bytes per call, before => after:
      
      test_python_call: 1152 => 1040 (-112 B)
      test_python_getitem: 1008 => 976 (-32 B)
      test_python_iterator: 1232 => 1120 (-112 B)
      
      => total: 3392 => 3136 (- 256 B)
      415c5107
    • Victor Stinner's avatar
      call_method() now uses _PyObject_FastCall() · 434723f9
      Victor Stinner authored
      Issue #29233: Replace the inefficient _PyObject_VaCallFunctionObjArgs() with
      _PyObject_FastCall() in call_method() and call_maybe().
      
      Only a few functions call call_method() and call it with a fixed number of
      arguments. Avoid the complex and expensive _PyObject_VaCallFunctionObjArgs()
      function, replace it with an array allocated on the stack with the exact number
      of argumlents.
      
      It reduces the stack consumption, bytes per call, before => after:
      
      test_python_call: 1168 => 1152 (-16 B)
      test_python_getitem: 1344 => 1008 (-336 B)
      test_python_iterator: 1568 => 1232 (-336 B)
      
      Remove the _PyObject_VaCallFunctionObjArgs() function which became useless.
      Rename it to object_vacall() and make it private.
      434723f9