Calvin Rose
03c496bdd8
Update changelog
2022-12-15 21:38:36 -06:00
Calvin Rose
d5ee6cf521
Add malloc and free to ffi.
...
Very "unsafe", but a good tool of last resort. In most cases
a buffer is preferable, but the lifetime can be a bit unclear.
This allows very granular control over memory.
2022-12-15 21:35:44 -06:00
Calvin Rose
373cb444fe
Merge branch 'master' of github.com:janet-lang/janet
2022-12-04 11:08:28 -06:00
Calvin Rose
90f212df92
Add length method ffi/jitfn abstract values.
2022-12-04 11:08:17 -06:00
Calvin Rose
12286e4246
Add length method ffi/jitfn abstract values.
2022-12-04 10:27:28 -06:00
Calvin Rose
aa60c1f36a
Add ffi jit example.
2022-12-03 17:52:23 -06:00
Calvin Rose
c731f01067
Address windows compilation warning.
2022-12-03 12:10:22 -06:00
Calvin Rose
6c9c1cdb30
MAP_ANON(YMOUS) not strictly needed.
2022-12-03 11:45:33 -06:00
Calvin Rose
9ba2b40e87
Add MAP_ANON instead of MAP_ANONYMOUS for mac
2022-12-03 11:31:04 -06:00
Calvin Rose
7a3d055012
Add ffi/jitfn for JIT compilation.
...
Convert a byte sequence of machine code to an
an executable pointer that can be used with ffi/call.
2022-12-03 11:26:23 -06:00
Calvin Rose
0824f45e29
Format compile.c
2022-11-27 10:15:01 -06:00
Calvin Rose
07fe9bcdf6
Update state header to include pthread
2022-11-11 11:48:50 -06:00
Calvin Rose
6a557a73f5
Simplify eval.
...
Also add more conventional handling of nil to the `compile` function.
2022-11-11 11:25:06 -06:00
Calvin Rose
8d1cfe0c56
Simplify eval-string implementation.
2022-11-11 11:15:53 -06:00
Calvin Rose
a3a42eebea
Create pthread threads with detached attribute.
...
Rather than calling pthread_detach on a default thread.
2022-11-11 11:01:59 -06:00
Calvin Rose
76be8006a4
Add channel marshalling.
2022-11-10 16:32:54 -06:00
Calvin Rose
bfcfd58259
Update for TCC to include stdatomic.h
2022-11-09 07:55:21 -06:00
Calvin Rose
914a4360e7
Indicate version bump since header file changed.
2022-11-05 16:38:52 -05:00
Calvin Rose
8c31874eeb
Remove unused assert.h
2022-11-05 11:44:14 -05:00
Calvin Rose
ef7afeb2ea
Add 64 bit integer support to printf and other formatting functions.
2022-11-05 11:33:19 -05:00
Calvin Rose
c8974fffbe
Fix docstring.
2022-11-04 11:23:08 -05:00
Calvin Rose
b75fb8dc9e
Add :@all: to module/expand-path
...
Allow more easily importing modules from custom directories
without jumping through too many hoops. Technically, this was
possible before but required circumventing the built-in module/paths
and was just a hassle.
Also add entries to module/path (and module/add-path) to allow code
like the following.
(setdyn :my-libs "/home/me/janet-stuff/")
(import @my-libs/toolbox)
Intended for things like test harnesses where code might not
be installed to the usual directories.
2022-11-04 11:15:48 -05:00
Calvin Rose
57356781a9
Fix typo.
2022-10-30 13:36:13 -05:00
Calvin Rose
e43eab5fd6
Fix panicf call.
2022-10-30 09:57:40 -05:00
Calvin Rose
894cd0e022
Prepare for 1.25.1 release.
2022-10-29 11:58:29 -05:00
Calvin Rose
db2c63fffc
Update CHANGELOG.md
2022-10-24 20:32:02 -05:00
Calvin Rose
60e0f32f1a
Fix os/open with :rw permissions on posix.
2022-10-24 19:39:58 -05:00
Calvin Rose
e731996a68
Allow overriding JANETCONF_HEADER in Makefile.
...
This allows a configuration workflow that is a bit simpler than before
and doesn't requiring applying patches. Instead, add a config.mk to
source dir with JANETCONF_HEADER=myconfig.h and compile as usual.
The patching workflow will of course still work exactly as before.
2022-10-24 09:49:51 -05:00
Calvin Rose
2f69cd4209
Add easier option for adding config.mk in root directory.
2022-10-23 13:11:07 -05:00
Calvin Rose
fd59de25c5
Add memcmp to the core. Useful in binary protocol implementations.
2022-10-18 11:54:07 -05:00
Calvin Rose
af12c3d41a
Typo fixes.
2022-10-10 18:38:24 -05:00
Calvin Rose
54b52bbeb5
Prepare for 1.25.0 release.
2022-10-10 18:24:48 -05:00
Calvin Rose
1174c68d9a
Update CHANGELOG.md
2022-10-10 18:23:15 -05:00
Calvin Rose
448ea7167f
Add CLOEXEC when calling accept on Linux.
...
Prevents leakage of file descriptors to subprocesses.
The symptom of the above issue is sockets that don't seem to close
until a subprocess completes.
2022-10-10 18:06:31 -05:00
Calvin Rose
6b27008c99
Fix os/date with nil argument.
2022-10-10 15:24:28 -05:00
Calvin Rose
725c785882
Formatting.
2022-10-10 14:24:03 -05:00
Calvin Rose
ab068cff67
Remove WNOWAIT code on linux.
...
Would cause os/proc-wait to block in some circumstances.
2022-10-10 14:23:17 -05:00
bakpakin
9dc03adfda
Fix pass by reference in windows FFI to accomodate stack shift.
2022-09-22 10:58:16 -05:00
bakpakin
49f9e4eddf
Fix ifdef in capi.c for janet_getuinteger64 and janet_getinteger64
2022-09-20 15:42:20 -05:00
bakpakin
43c47ac44c
Address #1037 - move stack hack after arg writing logic to avoid
...
clobber.
2022-09-20 15:37:20 -05:00
Calvin Rose
1cebe64664
Add some soft test cases for #1037 .
2022-09-20 10:01:12 -05:00
Calvin Rose
f33c381043
Improve sysv64 classify algorithm.
2022-09-20 09:45:17 -05:00
Calvin Rose
3479841c77
Address #1034 - add handling for 8-16 byte structs in FFI.
2022-09-20 09:28:46 -05:00
Calvin Rose
6a899968a9
Allow passing user signals to (signal) as keywords.
2022-09-17 21:18:07 -05:00
Calvin Rose
bb8405a36e
Merge pull request #1029 from locriacyber/patch-0
...
Fix documentation for ev/go, ev/spawn
2022-09-16 07:32:25 -05:00
bakpakin
c7bc711f63
Add windows FFI example test case for void functions with double
...
argument.
2022-09-15 13:58:54 -05:00
bakpakin
e326071c35
Fix void returns in windows FFI - address #1025
2022-09-15 13:51:11 -05:00
Locria Cyber
ad6a669381
Add doc for ev/go
...
Document that you can pass a function instead of a fiber to ev/go
2022-09-14 00:17:53 +00:00
Locria Cyber
e4c9dafc9a
Fix typo in ev/spawn doc
2022-09-13 23:49:42 +00:00
Calvin Rose
dfc0aefd87
Merge pull request #1028 from autumnull/master
...
Made peg 'not' and 'if-not' drop their captures on success
2022-09-13 15:20:10 -05:00