-
The marshalling metadata, as stored in the typelib, is not a format friendly to gjs, and requires to have multiple switches and a complex logic in the hot path of function calls. Instead, extend the current caching mechanism to allow arbitrary data to be attached to arguments, and to have it deal with JS arguments, rather than a mixture of C and GI arguments. FIXME: Contains a use-after-free somewhere. (Philip Chimento: rebased and fixed coding style.)
6f47fd25