Historia zmian

Autor SHA1 Wiadomość Data
  svenbarth 45479302c1 - ValueToFFIValue is no longer needed 6 lat temu
  svenbarth 9fa4a619d7 + add support for callbacks to the FFI invoke manager 6 lat temu
  svenbarth 0d6d3a1529 * for callbacks argument values are not needed, so make the need for aArgValues optional 6 lat temu
  svenbarth 1c58ef49f3 * directly use the indirection information instead of calculating it a second time in ValueToFFIValue() 6 lat temu
  svenbarth 68c9b83d87 * for callbacks it's needed to know whether an argument is indirect or not 6 lat temu
  svenbarth 5516bcb266 * move check for argument/result indirection to separate function 6 lat temu
  svenbarth ea270d9800 * move creation of the CIF object to a separate function in preparation for callbacks 6 lat temu
  svenbarth 4e0cc65c63 * correctly handle untyped parameters 6 lat temu
  svenbarth 9e9aca6fea * correctly handle Comp and Currency parameters as well as results (at least on the X86 platforms :/ ) 6 lat temu
  svenbarth 04f681d7c6 * directly pass the pointer to the result value; avoids an unnecessary copy operation 6 lat temu
  svenbarth 9a23613b9d * rework low level callback API 6 lat temu
  svenbarth 91899c7bb1 * ensure that the elements field of ffi_type is initialized correctly so that the trick with the dynamic array works correctly 7 lat temu
  svenbarth 3bdb4aa1a2 * correctly handle ShortString, object and array fields that are part of a record/object 7 lat temu
  svenbarth b91c856e38 * also take param flags into consideration 7 lat temu
  svenbarth 00e700d598 * adjust Invoke API of FunctionCallManager to not rely on TValue 7 lat temu
  svenbarth 76a95f61e2 * fix warning about result not being initialized 7 lat temu
  svenbarth 17ebe6e28f * also move to the next field when skipping it 7 lat temu
  svenbarth 5edbdd5a00 * correctly handle non-static functions where the result is passed as a parameter (the order is "Self/VMT, Result, other Args" there) 8 lat temu
  svenbarth 135b5de410 + add function call manager based on libffi; currently only tested on x86_64-linux; all other targets need to be explicitely tested before being enabled 8 lat temu