Commit graph

147 commits

Author SHA1 Message Date
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
Joshua Suskalo
f7c9796134 Add style/indent meta to macros 2021-09-24 14:23:37 -05:00
Joshua Suskalo
b6fbd3eccb Replace defstruct style macros with a defalias 2021-09-24 12:29:56 -05:00
Joshua Suskalo
bb4c9d89f2 Add a macro for constructing union type aliases 2021-09-24 10:50:41 -05:00
Joshua Suskalo
3ae1d6840f Remove the docstring from defcstruct 2021-09-24 10:25:29 -05:00
Joshua Suskalo
8889da56b2 Rename defstruct to defcstruct 2021-09-24 10:00:10 -05:00
Joshua Suskalo
0cc650103c Make the default for function serdes be to serde the up/downcall 2021-09-23 16:23:13 -05:00
Joshua Suskalo
83bfe879c5 Remove a todo after reconsidering 2021-09-23 14:54:14 -05:00
Joshua Suskalo
8088633b5b Remove map which is no longer used in implementation 2021-09-23 14:31:09 -05:00
Joshua Suskalo
af3c1357d6 Add docstrings to private functions and data 2021-09-23 14:29:13 -05:00
Joshua Suskalo
704c8710c5 Fix docstring of freset! and fswap! 2021-09-23 14:25:24 -05:00
Joshua Suskalo
3ce919e5a1 Fix broken bytecode in upcalls 2021-09-23 13:29:00 -05:00
Joshua Suskalo
f76b2edae4 Add todo for nullptrs 2021-09-23 13:12:47 -05:00
Joshua Suskalo
ebe36e199c Update struct definition macro for conformed args 2021-09-23 12:28:29 -05:00
Joshua Suskalo
8ea6c27b38 Ensure ::type spec has its own sequence 2021-09-23 12:27:22 -05:00