tree 6a1dc1db26f8b572db9468829bb7ae86de74baf3
parent 70ed2a489729afa5e0a4c4087043f425ce3cc4d4
author Jason Rhinelander <jason@imaginary.ca> 1485801278 -0500
committer Wenzel Jakob <wenzel.jakob@epfl.ch> 1485879881 +0100

Pack all function call data into a single struct

This cleans up the previous commit slightly by further reducing the
function call arguments to a single struct (containing the
function_record, arguments vector, and parent).

Although this doesn't currently change anything, it does allow for
future functionality to have a place for precalls to store temporary
objects that need to be destroyed after a function call (whether or not
the call succeeds).

As a concrete example, with this change #625 could be easily implemented
(I think) by adding a std::unique_ptr<gil_scoped_release> member to the
`function_call` struct with a precall that actually constructs it.
Without this, the precall can't do that: the postcall won't be invoked
if the call throws an exception.

This doesn't seems to affect the .so size noticeably (either way).
