Commit graph

161 commits

Author SHA1 Message Date
blak3mill3r
b21a5db27e fix: default to an aload instruction for upcall
this allows non-primitive types

prior to this commit the library would generate invalid bytecode with
a `nil` instruction
2021-10-25 03:05:14 +00:00
Joshua Suskalo
fa4e4ebb57 Fix docstring in coffi.ffi 2021-10-16 10:19:27 -05:00
Joshua Suskalo
a1ad988aad Fix incorrect argument loading in upcall stubs 2021-10-15 22:13:45 -05:00
Joshua Suskalo
14d38e3b8a Fix some indentation 2021-10-15 08:31:32 -05:00
Joshua Suskalo
4f0d151c7a Fix crash when returning void in an upcall 2021-10-14 19:22:30 -05:00
Joshua Suskalo
e760a320a7 Rewrite the inline expansion macro 2021-10-14 18:25:06 -05:00
Joshua Suskalo
9cc83e7d1a Fix bug with inline expansion with no arguments 2021-10-14 13:05:51 -05:00
Joshua Suskalo
5fa1f157d3 Fix broken defcfn with native-sym 2021-10-13 15:51:49 -05:00
Joshua Suskalo
a620752f2c Ensure that the downcalls in the inline expansion are evaluated correctly 2021-10-13 15:28:34 -05:00
Joshua Suskalo
7975adbd94 Add caveat in primitive-type about evaluated arguments 2021-10-13 13:51:13 -05:00
Joshua Suskalo
b1133811a0 Ensure there's no double-evaluation of the return types 2021-10-13 13:46:03 -05:00
Joshua Suskalo
6f28994526 Add inline function for make-serde-wrapper 2021-10-13 13:15:35 -05:00
Joshua Suskalo
868c843875 Add perdicate for primitive types 2021-10-13 09:57:23 -05:00
Joshua Suskalo
bcc6b29e9e Remove unused import 2021-10-11 11:21:02 -05:00
Joshua Suskalo
d3050c34ff Move arg and ret types into the cfn call in defcfn
This is in preparation for an optimization in cfn with constant arg and ret
types.
2021-10-11 11:19:13 -05:00
Joshua Suskalo
15c190572f Remove todo line 2021-10-10 13:32:15 -05:00
Joshua Suskalo
53f72bdb49 Move to multimethod implementations for deserialize* 2021-10-10 12:43:11 -05:00
Joshua Suskalo
c43ff5a848 remove performance comments on things already split out 2021-10-10 12:43:11 -05:00
Joshua Suskalo
80beace196 Move serialize* to multimethod impls 2021-10-10 12:43:11 -05:00
Joshua Suskalo
4f6e8d7bac Move c-layout to multimethod versions 2021-10-10 12:43:11 -05:00
Joshua Suskalo
8f5f4a2cc4 Add multimethod implementations for primitive-type
This should improve performance
2021-10-10 12:43:11 -05:00
Joshua Suskalo
c26c8a40c8 Add todos for optimization 2021-10-10 11:40:40 -05:00
Joshua Suskalo
aa93014f83 Fix bug where primitive arg optimizations weren't applied to cfn 2021-10-09 09:50:56 -05:00
Joshua Suskalo
275c6ec6ab Make arrays deserialize to vectors 2021-10-08 19:27:14 -05:00
Joshua Suskalo
ab82b6a5a1 Fix a bug where non-primitive argument types failed to link 2021-10-06 19:37:29 -05:00
Joshua Suskalo
014901233c Fix bug where compound types in arglist metadata failed 2021-10-06 08:53:02 -05:00
Joshua Suskalo
96f3153c5f Fix bug where compound types were not permitted as return values in defcfn 2021-10-04 19:21:23 -05:00
Joshua Suskalo
88b2a72f07 Add an address predicate 2021-10-04 19:20:47 -05:00
Joshua Suskalo
7d621f82db Consider nil as null? 2021-10-01 12:10:25 -05:00
Joshua Suskalo
8100295567 Ensure serializing nil as a pointer returns null 2021-10-01 12:03:25 -05:00
Joshua Suskalo
673a653200 Fix bug with primitive-serializing arguments to downcalls not compiling 2021-10-01 10:39:32 -05:00
Joshua Suskalo
b98fdc05ea Fix primitive arguments to upcalls not compiling 2021-10-01 10:38:42 -05:00
Joshua Suskalo
22343b8512 Fix a bug where void returns on upcalls crash the JVM 2021-10-01 10:37:38 -05:00
Joshua Suskalo
66eefc7a13 Fixed bug with serialize-into and primitives 2021-09-30 20:16:16 -05:00
Joshua Suskalo
9d65f47a96 Remove reference to method that isn't in panama anymore 2021-09-30 19:58:11 -05:00
Joshua Suskalo
daa1949f32 Add address metadata key to defcfn as well 2021-09-30 15:45:10 -05:00
Joshua Suskalo
5ab2bae1fa Add a function's address to the metadata of deserialized functions 2021-09-30 15:40:55 -05:00
Joshua Suskalo
ea53cfbdc2 Fix bug where deserializing nullpointers as functions failed instead of returning nil 2021-09-30 15:27:12 -05:00
Joshua Suskalo
50cc6f3bdc Fix upcall stubs not compiling with non-primitive argument types 2021-09-30 15:25:58 -05:00
Joshua Suskalo
3043bf7877 Fix upcall stubs having incorrect type descriptors 2021-09-30 15:25:21 -05:00
Joshua Suskalo
b01f4229e5 Fix invalid macroexpansion of defcfn without docstring 2021-09-29 10:20:10 -05:00
Joshua Suskalo
463d35809b Support type arguments to ::pointer in serialize-into 2021-09-27 12:10:04 -05:00
Joshua Suskalo
6bc907e720 Add with-acquired blocks to code that needs it 2021-09-27 12:09:23 -05:00
Joshua Suskalo
fb3b95977f Add a function to tie two scopes together 2021-09-27 12:08:42 -05:00
Joshua Suskalo
5f96439432 Separate memory ops into their own ns 2021-09-26 14:11:29 -05:00
Joshua Suskalo
14ee7a1ee8 Rename :downcall to :function in the symbolspec 2021-09-25 13:40:15 -05:00
Joshua Suskalo
8ac03cc961 Add a docstring to the main ns 2021-09-25 13:24:06 -05:00
Joshua Suskalo
7d970a177f Add function for copying the data from one segment to another 2021-09-25 13:12:21 -05:00
Joshua Suskalo
415c842af1 Move dispatch for unions into the kwargs 2021-09-25 12:27:40 -05:00
Joshua Suskalo
65848c72eb Add function for making a varargs cfn factory with serde wrapper 2021-09-25 08:45:45 -05:00