summaryrefslogtreecommitdiff
path: root/ext/ffi_c/rbffi.h
Commit message (Collapse)AuthorAgeFilesLines
* Freeze immutable objects and add explicit make_shareable to make library ↵Lars Kanis2023-05-071-1/+1
| | | | | | | | | | | | | | | | | | | definitions Ractor usable Freeze objects which are immutable from the start are now freezed. This allows these objects to be used by Ractor without make_shareable. This partially reverts commit 4fc6a8c5ec8a9a720330946af9d1103015c62942 in such a way, that functions are stored in a module variable @ffi_functions. Enums are implemented per FFI::Library not per attached function. To make them shareable they would have to be copied and freezed per function. This would increase memory footprint for the sake of Ractor support. IMHO it's better to mark the module explicit as finished by .freeze to allow its use in a Ractor. This also enables querying the enum definitions from a Ractor. Using a Hash instead of per-function variables allow to use foo! and bar? methods as wished in #971. Fixes #971
* Move FFI::DataConverter to RubyBenoit Daloze2019-01-071-2/+0
| | | | | * Include DataConverter in StructByReference in Ruby code to simplify ordering.
* Fix bad search and replace in C code.1.9.2Charles Oliver Nutter2013-10-291-1/+0
|
* Switch license to BSD throughout codebase. See #288.Charles Oliver Nutter2013-10-291-12/+22
|
* Re-work exception saving & non-gil function callbacksWayne Meissner2013-04-231-0/+1
|
* Remove rbffi_gc_mark_locations()Wayne Meissner2013-01-081-1/+0
|
* Add rbffi_gc_mark_locations() that behaves like rb_gc_mark_locations(), for ↵Wayne Meissner2012-12-291-0/+1
| | | | VMs that do not have it.
* Sync up copyright headersWayne Meissner2011-01-091-3/+23
|
* Add custom data converters for parameter and return typesWayne Meissner2010-05-221-0/+1
|
* Split Variadic invokers out from InvokerWayne Meissner2009-08-011-0/+1
|
* Add FunctionInfo that will eventually replace CallbackInfoWayne Meissner2009-07-241-0/+2
|
* Rework the naming a bit.Wayne Meissner2009-05-061-7/+5
|
* Pass the ffi module into each of the _Init functionsWayne Meissner2009-05-061-5/+4
|
* Support function pointer return valuesWayne Meissner2009-03-281-1/+1
|
* Implement FFI::Type and FFI::Type::BuiltinWayne Meissner2009-03-281-1/+2
|
* Create the type and size maps in C, and use them to do size lookups in ↵Wayne Meissner2009-03-151-1/+1
| | | | Buffer#initialize
* Remove comment at top of fileWayne Meissner2009-03-031-7/+0
|
* Move extension into ext/ffi_c to make the layout compliant with rake-compilerWayne Meissner2008-12-101-0/+32