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 |
|
Joshua Suskalo
|
3f6203b5d3
|
Fix incorrect serdes around upcalls
|
2021-09-23 12:26:57 -05:00 |
|
Joshua Suskalo
|
284b76255a
|
Fix indentation of upcall-class
|
2021-09-23 12:26:40 -05:00 |
|
Joshua Suskalo
|
f7f8e44a80
|
Change long type hints to casts
|
2021-09-23 12:25:59 -05:00 |
|
Joshua Suskalo
|
fc3b0a96a5
|
Add support for returning non-primitive types via segment allocators
|
2021-09-23 12:24:38 -05:00 |
|
Joshua Suskalo
|
d67d539285
|
Add a function for constructing a fully wrapped c function
|
2021-09-23 09:36:43 -05:00 |
|
Joshua Suskalo
|
eeee025303
|
Add a very basic struct definition macro
|
2021-09-23 09:33:07 -05:00 |
|
Joshua Suskalo
|
7bd9e9b653
|
Remove extraneous bits
|
2021-09-23 08:51:59 -05:00 |
|
Joshua Suskalo
|
e00e62f996
|
Ensure that primitive values are cast to the correct types in serialization
|
2021-09-23 08:30:11 -05:00 |
|
Joshua Suskalo
|
1fe9d2cb02
|
Move library loading interop to a java class
|
2021-09-23 08:15:16 -05:00 |
|
Joshua Suskalo
|
08515095c5
|
Ensure that the library name is loaded correctly
|
2021-09-22 18:22:39 -05:00 |
|
Joshua Suskalo
|
86ff96c797
|
Start function serdes
|
2021-09-22 11:06:13 -05:00 |
|
Joshua Suskalo
|
9e7aab273e
|
Move java layout to a simple function
|
2021-09-20 20:12:32 -05:00 |
|
Joshua Suskalo
|
30891c35ab
|
Fix reflection warnings
|
2021-09-20 20:12:24 -05:00 |
|
Joshua Suskalo
|
4c108b7010
|
Fix bug where symbol lookup used the wrong kind of method
|
2021-09-20 20:11:49 -05:00 |
|
Joshua Suskalo
|
331e72079f
|
Move section for static memory access
|
2021-09-20 20:01:37 -05:00 |
|
Joshua Suskalo
|
a61feaa739
|
Remove inconsistent spec
|
2021-09-20 19:53:13 -05:00 |
|
Joshua Suskalo
|
23602dfa18
|
Add array serdes
|
2021-09-20 19:41:44 -05:00 |
|
Joshua Suskalo
|
b9afb254fb
|
Add padding serdes to support struct layouts
|
2021-09-20 19:41:32 -05:00 |
|
Joshua Suskalo
|
b2918936e7
|
Add struct serdes
|
2021-09-20 19:41:10 -05:00 |
|
Joshua Suskalo
|
aba236f01c
|
Add functions for sequence views of segments
|
2021-09-20 19:16:46 -05:00 |
|
Joshua Suskalo
|
33320a6dc2
|
Add a method to clone a segment
|
2021-09-20 15:29:35 -05:00 |
|
Joshua Suskalo
|
25a11d4ba0
|
Deserialize unions by giving a slice of their segment
|
2021-09-20 15:23:05 -05:00 |
|
Joshua Suskalo
|
317a08abc6
|
Add support for serde wrappers to data model
|
2021-09-20 14:32:00 -05:00 |
|
Joshua Suskalo
|
d886213ded
|
Add support for a serde-varargs-factory wrapper
|
2021-09-20 14:30:04 -05:00 |
|
Joshua Suskalo
|
87f48ec681
|
Add support for union types
|
2021-09-20 14:19:14 -05:00 |
|
Joshua Suskalo
|
382f342aa5
|
Add a function to make a serde wrapper fn
|
2021-09-20 14:19:14 -05:00 |
|
Joshua Suskalo
|
6014ace2a4
|
Ensure that the segment is returned in serialize
|
2021-09-20 12:47:02 -05:00 |
|
Joshua Suskalo
|
f4a4f8ec33
|
Support looking up symbols in non-system libraries
|
2021-09-18 17:30:26 -05:00 |
|
Joshua Suskalo
|
0c6b2616e8
|
Finish docstring for reify-libspec
|
2021-09-18 17:24:40 -05:00 |
|
Joshua Suskalo
|
1e7ec8ad80
|
Allow any kind of argument as a type argument
|
2021-09-18 17:24:40 -05:00 |
|
Joshua Suskalo
|
b584de3e8b
|
Add TODO for symbol lookup for non-libc symbols
|
2021-09-17 15:17:18 -05:00 |
|
Joshua Suskalo
|
6cc17f463e
|
Update qsort example
|
2021-09-17 14:02:06 -05:00 |
|
Joshua Suskalo
|
8159fdebad
|
Allow complex types in native arglists
|
2021-09-17 14:01:49 -05:00 |
|
Joshua Suskalo
|
b5dd785fe0
|
Add function to create a library from a spec
|
2021-09-17 14:01:13 -05:00 |
|
Joshua Suskalo
|
30e549b406
|
Don't call tostring on serializing c-string
|
2021-09-17 13:59:58 -05:00 |
|
Joshua Suskalo
|
eeba1711d6
|
Create data model concept
|
2021-09-17 13:02:26 -05:00 |
|
Joshua Suskalo
|
3030fc66cb
|
Allow multiple function tails in defcfn
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
e8a3c555bb
|
Ensure that the defcfn macro is validated
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
ada787a72b
|
Change defcfn to use a fn-tail to allow multiple arity wrappers
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
fce3675a4b
|
Add docstrings
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
e72d57c10f
|
Create a public varargs factory builder
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
dc4013f7d4
|
Create a public make-downcall function
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
0cfe7edb36
|
Add functions for getting const and variable values from native vars
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
c5aa1f26b7
|
Fix bug in deserialization of pointer types
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
f3ee51ea11
|
Expose find-symbol and allow named
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
4215e2a398
|
Handle null memory addresses in serdes
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
595073f84a
|
Ensure all pointers have a primitive type attached
|
2021-09-17 12:55:38 -05:00 |
|
Joshua Suskalo
|
a22e53002f
|
Add a null address predicate
|
2021-09-17 12:55:35 -05:00 |
|
Joshua Suskalo
|
ba8c67e8d4
|
Allow getting the address of more than just memory segments
|
2021-09-17 10:52:32 -05:00 |
|
Joshua Suskalo
|
75910f0ab3
|
Add a global resource scope
|
2021-09-16 16:54:13 -05:00 |
|
Joshua Suskalo
|
0e2fc6f458
|
Improve default serdes for primitive-adjacent types
|
2021-09-16 16:35:08 -05:00 |
|
Joshua Suskalo
|
3dcbe3ff2a
|
Add default c-layout and java-layout implementations for primitives
|
2021-09-16 16:28:21 -05:00 |
|
Joshua Suskalo
|
75951c5019
|
Allow (::pointer ::int) style types to serde properly
|
2021-09-16 16:19:15 -05:00 |
|
Joshua Suskalo
|
81bbbf3433
|
Add all the c-string type stuff together in one place
|
2021-09-16 16:18:51 -05:00 |
|
Joshua Suskalo
|
6758fdebe1
|
Fix bug where only lists were allowed as types (which breaks)
|
2021-09-16 16:15:02 -05:00 |
|
Joshua Suskalo
|
1c5fbff3dd
|
Fix bug relying on old behavior of c-layout for serialize-into
|
2021-09-16 16:01:33 -05:00 |
|
Joshua Suskalo
|
fb6dfe69d2
|
Add function for arbitrary type data to go with base type
|
2021-09-16 15:51:53 -05:00 |
|
Joshua Suskalo
|
1461dbcf81
|
Optimize the output of defcfn slightly
|
2021-09-16 15:51:42 -05:00 |
|
Joshua Suskalo
|
6dd90d279c
|
Move seq-of def
|
2021-09-16 15:14:33 -05:00 |
|
Joshua Suskalo
|
e3292bdff4
|
Remove example macroexpansion
|
2021-09-16 15:14:24 -05:00 |
|
Joshua Suskalo
|
d05b5596f8
|
Add an optional attribute map to defcfn
|
2021-09-16 15:14:11 -05:00 |
|
Joshua Suskalo
|
d6d9ac316c
|
Remove reflection warning on scopes
|
2021-09-16 15:13:58 -05:00 |
|
Joshua Suskalo
|
6bd5c6c05a
|
Generate JVM bytecode for the invokers
|
2021-09-16 15:07:48 -05:00 |
|
Joshua Suskalo
|
b1311429be
|
Deserialize void
|
2021-09-16 15:07:31 -05:00 |
|
Joshua Suskalo
|
2d60e27e07
|
Add void as a primitive type
|
2021-09-16 15:06:49 -05:00 |
|
Joshua Suskalo
|
3456ec52a5
|
Add example call with invokeExact
|
2021-09-16 14:10:58 -05:00 |
|
Joshua Suskalo
|
6801c7735e
|
Implement the macro in terms of invokeWithArguments
|
2021-09-16 14:10:28 -05:00 |
|
Joshua Suskalo
|
9aa608a254
|
Allow any named type for the symbol name
|
2021-09-16 14:10:07 -05:00 |
|
Joshua Suskalo
|
268e1cb598
|
Ensure that arglists are quoted in the resulting code
|
2021-09-16 14:09:54 -05:00 |
|
Joshua Suskalo
|
db9f3b5209
|
Return nil if find-symbol fails
|
2021-09-16 14:09:29 -05:00 |
|
Joshua Suskalo
|
5d9b874c26
|
Ensure that the java layout is set for method types
|
2021-09-16 09:40:40 -05:00 |
|
Joshua Suskalo
|
5886f3203d
|
Ensure that ::c-string has layouts specified
|
2021-09-16 09:40:32 -05:00 |
|
Joshua Suskalo
|
1d09275ba4
|
Add todo for the macro
|
2021-09-15 21:33:16 -05:00 |
|
Joshua Suskalo
|
4a6cf4075e
|
Ensure that there's no reflection on deserializing a string
|
2021-09-15 21:33:05 -05:00 |
|
Joshua Suskalo
|
bf611f3106
|
Add general serialization function
|
2021-09-15 21:32:47 -05:00 |
|
Joshua Suskalo
|
375d016254
|
Actually serialize based on type
|
2021-09-15 21:32:22 -05:00 |
|
Joshua Suskalo
|
4b2c2cda0d
|
Fix docstring
|
2021-09-15 21:32:16 -05:00 |
|
Joshua Suskalo
|
d461aa3300
|
Add the implicit scope constructor
|
2021-09-15 21:32:12 -05:00 |
|
Joshua Suskalo
|
b69c11697b
|
WIP
|
2021-09-15 18:15:00 -05:00 |
|
Joshua Suskalo
|
0c040e3a73
|
Update serialize and deserialize for primitive types
|
2021-09-15 16:53:29 -05:00 |
|
Joshua Suskalo
|
c5df70ac1a
|
Make examples use scopes
|
2021-09-15 12:47:06 -05:00 |
|
Joshua Suskalo
|
a568c1c5d6
|
Update example to use new address manipulation
|
2021-09-15 12:43:18 -05:00 |
|
Joshua Suskalo
|
3dd9571d24
|
Add functions for manipulating addresses
|
2021-09-15 12:43:08 -05:00 |
|
Joshua Suskalo
|
e626cbf40b
|
Fix reflection warnings in allocateNative
|
2021-09-15 12:41:36 -05:00 |
|
Joshua Suskalo
|
181db81dd6
|
Give names to the type in size-of
|
2021-09-15 12:40:57 -05:00 |
|
Joshua Suskalo
|
7ec625c955
|
Add deserialize implementations
|
2021-09-15 12:40:48 -05:00 |
|
Joshua Suskalo
|
8b84fa6afe
|
Make deserialize -> friendly
|
2021-09-15 12:40:34 -05:00 |
|
Joshua Suskalo
|
ca38133b06
|
Add basic serialize implementations
|
2021-09-15 12:40:08 -05:00 |
|
Joshua Suskalo
|
9f96e7b7c8
|
Add scope definition functions
|
2021-09-15 12:16:20 -05:00 |
|
Joshua Suskalo
|
0622f9248c
|
Reorder object and type in serialize for -> compat
|
2021-09-15 12:16:01 -05:00 |
|
Joshua Suskalo
|
138786b69e
|
Change ::integer to ::int
|
2021-09-15 12:15:24 -05:00 |
|
Joshua Suskalo
|
ce29d1e9ee
|
Fix clj-kondo warnings
|
2021-09-15 12:15:04 -05:00 |
|
Joshua Suskalo
|
ae99c534c2
|
Remove ffi/ qualifier from keywords in example
|
2021-09-15 11:11:21 -05:00 |
|
Joshua Suskalo
|
5eec39791e
|
Import required classes from java 17
|
2021-09-15 11:11:09 -05:00 |
|
Joshua Suskalo
|
d687b0902b
|
Add example syntax for using defcfun
|
2021-09-15 09:59:20 -05:00 |
|
Joshua Suskalo
|
ab61830442
|
Add starting functions for basic api
|
2021-09-15 09:59:20 -05:00 |
|
Joshua Suskalo
|
16f56bc31d
|
Initial commit
|
2021-09-14 16:29:41 -05:00 |
|