Calvin Rose 
							
						 
					 
					
						
						
							
						
						56b4e0b0ec 
					 
					
						
						
							
							Update CONTRIBUTING.md  
						
						 
						
						
						
						
					 
					
						2022-06-19 09:18:59 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						e316ccb1e0 
					 
					
						
						
							
							Use _tzset() on windows before localtime_s  
						
						 
						
						
						
						
					 
					
						2022-06-19 08:49:54 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a6f93efd39 
					 
					
						
						
							
							Support for array types in ffi.  
						
						 
						
						
						
						
					 
					
						2022-06-19 08:03:32 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						20511cf608 
					 
					
						
						
							
							Cast NULL pointer to nil in return in ffi.  
						
						 
						
						
						
						
					 
					
						2022-06-18 16:53:01 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						1a1dd39367 
					 
					
						
						
							
							Use __builtin_alloca if no other option.  
						
						 
						
						
						
						
					 
					
						2022-06-18 13:54:47 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						589981bdcb 
					 
					
						
						
							
							BSD systems put alloca in the stdlib  
						
						 
						
						
						
						
					 
					
						2022-06-18 12:18:06 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						89546776b2 
					 
					
						
						
							
							alloca  
						
						 
						
						
						
						
					 
					
						2022-06-18 12:15:16 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						f0d7b3cd12 
					 
					
						
						
							
							No alloca.h?  
						
						 
						
						
						
						
					 
					
						2022-06-18 11:19:14 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						e37be627e0 
					 
					
						
						
							
							Allow loading current process on windows as well.  
						
						 
						
						
						
						
					 
					
						2022-06-18 10:31:00 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						d803561582 
					 
					
						
						
							
							Fix ffi/defbind for non-lazy bindings.  
						
						 
						
						... 
						
						
						
						Add testing to bind to symbols in current binary. 
						
						
					 
					
						2022-06-18 10:14:42 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a1aab4008f 
					 
					
						
						
							
							Update FFI example.  
						
						 
						
						
						
						
					 
					
						2022-06-18 10:06:39 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a1172529bf 
					 
					
						
						
							
							Fix named arguments with optional args.  
						
						 
						
						
						
						
					 
					
						2022-06-18 09:46:28 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						1d905bf07f 
					 
					
						
						
							
							SRWLock is the size of a void pointer.  
						
						 
						
						
						
						
					 
					
						2022-06-17 17:49:02 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						eed678a14b 
					 
					
						
						
							
							Include windows.h for windows builds  
						
						 
						
						
						
						
					 
					
						2022-06-17 17:41:50 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						b1bdffbc34 
					 
					
						
						
							
							Don't inlcude pthread on windows.  
						
						 
						
						
						
						
					 
					
						2022-06-17 17:35:58 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						cff718f37d 
					 
					
						
						
							
							Add suite0012 stub with delay test.  
						
						 
						
						
						
						
					 
					
						2022-06-17 17:27:42 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						40e9430278 
					 
					
						
						
							
							Move examples to example directory.  
						
						 
						
						
						
						
					 
					
						2022-06-17 17:24:52 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						62fc55fc74 
					 
					
						
						
							
							Remove pthread.h from janet.h  
						
						 
						
						... 
						
						
						
						Should make janet a bit easier to use. Also changes the
header to not expose the size of native mutexes and rwlocks, except
with janet_os_mutex_size and janet_os_rwlock_size. 
						
						
					 
					
						2022-06-17 17:13:58 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						80729353c8 
					 
					
						
						
							
							Add :lazy option for ffi/context for jpm quickbin usage.  
						
						 
						
						
						
						
					 
					
						2022-06-13 21:26:03 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						105ba5e124 
					 
					
						
						
							
							Add ffi/context and ffi/defbind helpers.  
						
						 
						
						... 
						
						
						
						Wrap the very bare-bones FFI library to be a bit more
useful out of the box. 
						
						
					 
					
						2022-06-12 18:48:47 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						ad1b50d1f5 
					 
					
						
						
							
							Update dofile function signature.  
						
						 
						
						
						
						
					 
					
						2022-06-12 18:03:23 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						1905437abe 
					 
					
						
						
							
							Merge branch 'master' into ffi  
						
						 
						
						
						
						
					 
					
						2022-06-12 13:59:37 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						87fc339c45 
					 
					
						
						
							
							Add named arguments with the &named symbol.  
						
						 
						
						... 
						
						
						
						Similar to &keys, but more ergonomic. 
						
						
					 
					
						2022-06-12 13:53:18 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						3af7d61d3e 
					 
					
						
						
							
							Update gtk example.  
						
						 
						
						
						
						
					 
					
						2022-06-12 12:51:06 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a45ef7a856 
					 
					
						
						
							
							Update CHANGELOG to reflect new function renames.  
						
						 
						
						
						
						
					 
					
						2022-06-12 10:17:25 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						299998055d 
					 
					
						
						
							
							Update meson min build to turn off ffi.  
						
						 
						
						
						
						
					 
					
						2022-06-12 10:15:36 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						c9586d39ed 
					 
					
						
						
							
							Add a :none calling convention.  
						
						 
						
						... 
						
						
						
						The ffi module is useful even when true ffi calls
are not yet implemented. This lets the ffi be enabled
on any architecture, albeit with a degraded feature set
where calling conventions are not implemented. 
						
						
					 
					
						2022-06-12 10:12:45 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						2e9f67f4e4 
					 
					
						
						
							
							Change all "native-*" to ffi/. Move new dll loading funcs.  
						
						 
						
						... 
						
						
						
						native-close, raw-native and native-lookup have become
ffi/close, ffi/native, and ffi/lookup instead.
The new ffi module will be useful for any architecture even if we don't
support making calls to certain functions. We can simple add a
do-nothing calling convetion that panics on call. ffi/read and ffi/write
are useful in their own right. 
						
						
					 
					
						2022-06-12 10:02:02 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						e318170fea 
					 
					
						
						
							
							Begin working on windows calling convetion.  
						
						 
						
						... 
						
						
						
						Also remove inline assembly for making sysv64 calls.
Instead, use crafted function signatures to set all needed registers. 
						
						
					 
					
						2022-06-12 09:16:10 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						73c4289792 
					 
					
						
						
							
							Fix define check.  
						
						 
						
						
						
						
					 
					
						2022-06-11 21:50:34 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						ea45d7ee47 
					 
					
						
						
							
							Convert to one big blob of assembly for sysv cc.  
						
						 
						
						... 
						
						
						
						Also begin working on win64 calling convention. 
						
						
					 
					
						2022-06-11 21:43:35 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						6d970725e7 
					 
					
						
						
							
							Update boot.janet for typos.  
						
						 
						
						
						
						
					 
					
						2022-06-11 21:19:42 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						458c2c6d88 
					 
					
						
						
							
							Make calling convention optional for trampoline  
						
						 
						
						
						
						
					 
					
						2022-06-11 15:47:51 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						0cc53a8964 
					 
					
						
						
							
							Get a GTK example working. Good proof of concept.  
						
						 
						
						
						
						
					 
					
						2022-06-11 14:47:35 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						0bc96304a9 
					 
					
						
						
							
							Add r32 and r64 aliases for real numbers in ffi types.  
						
						 
						
						
						
						
					 
					
						2022-06-11 09:40:37 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						c75b088ff8 
					 
					
						
						
							
							Format boot.janet with janet-format.  
						
						 
						
						
						
						
					 
					
						2022-06-10 19:13:23 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						181f0341f5 
					 
					
						
						
							
							Add :pack and :pack-all keywords to allow for struct packing.  
						
						 
						
						... 
						
						
						
						Syntax may need some work but covers both fully packed structs
as well as packing of individual members. 
						
						
					 
					
						2022-06-10 18:53:22 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						33bb08d53b 
					 
					
						
						
							
							Merge branch 'master' into ffi  
						
						 
						
						
						
						
					 
					
						2022-06-10 16:24:55 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						6d188f6e44 
					 
					
						
						
							
							Improve .ppasm function.  
						
						 
						
						
						
						
					 
					
						2022-06-10 16:24:40 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						c3648331f1 
					 
					
						
						
							
							Expose an easy to use debugger function.  
						
						 
						
						
						
						
					 
					
						2022-06-10 15:39:29 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a5b66029d3 
					 
					
						
						
							
							Expose the built-in debugger in more places.  
						
						 
						
						
						
						
					 
					
						2022-06-10 15:23:15 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						49bfe80191 
					 
					
						
						
							
							Make sure void return types work as expected.  
						
						 
						
						
						
						
					 
					
						2022-06-10 12:33:01 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a5def77bfe 
					 
					
						
						
							
							Add support for struct return values.  
						
						 
						
						
						
						
					 
					
						2022-06-10 12:25:08 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						9ecb5b4791 
					 
					
						
						
							
							Add native-read function as inverse to native-write.  
						
						 
						
						
						
						
					 
					
						2022-06-10 09:38:52 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						1cc48a370a 
					 
					
						
						
							
							Add native-write, which will write structs to buffers.  
						
						 
						
						... 
						
						
						
						Useful for testing as well as useful in its own right. Begs
for an inverse, native-read which would convert byte data
to native structs. 
						
						
					 
					
						2022-06-10 08:46:20 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						f1ec8d1e11 
					 
					
						
						
							
							Beginning of struct support.  
						
						 
						
						... 
						
						
						
						TODO:
- struct return values
- support for unions in signatures
- more testing
- complex types
- packed structs
- writing structs to buffers (useful and we have most of the machinery). 
						
						
					 
					
						2022-06-09 20:27:56 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						55c34cd84f 
					 
					
						
						
							
							Merge pull request  #985  from masukomi/readme_update  
						
						 
						
						... 
						
						
						
						added make install & install-jpm-git to Readme 
						
						
					 
					
						2022-06-09 10:02:58 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								masukomi 
							
						 
					 
					
						
						
							
						
						aca52d1e36 
					 
					
						
						
							
							added make install & install-jpm-git to readme  
						
						 
						
						
						
						
					 
					
						2022-06-08 21:58:55 -04:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						6f90df26a5 
					 
					
						
						
							
							Alloca included by default on some OS, but not all.  
						
						 
						
						... 
						
						
						
						Do explcitly include alloca on non-msvc compilers. 
						
						
					 
					
						2022-06-08 10:01:19 -05:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						9d9cb378ff 
					 
					
						
						
							
							Don't include alloca.h, not in MSVC.  
						
						 
						
						
						
						
					 
					
						2022-06-08 09:59:13 -05:00