Ico Doornekamp
e0ea844d50
added os/isatty, do not enable colors if stdout is not a tty
2023-06-02 16:59:54 +02:00
Calvin Rose
e97299fc65
Fix #1174 - bad debug info causing stack traversal to segfault.
...
Coming from commit 77189b6e66
, relating
to changes in source mapping debug info, this caused a segfault when
traversing a stack frame where the birth_pc was incredibly large due
to wrap around. This fix prevents the wrap around and does saturating
subtraction to 0.
2023-06-01 13:01:59 -05:00
Calvin Rose
26a113927e
Add handling for new bytecode optimizations.
2023-06-01 12:47:59 -05:00
Calvin Rose
d0aa7ef590
Add a few asserts to quiet some of the -fanalyze calls in gcc 13.
2023-06-01 10:52:34 -05:00
Calvin Rose
644ac8caf8
Add compiler optimizations for #1163 - eachp
...
Should result in much better bytecode in the simple case.
2023-05-31 12:26:27 -05:00
Calvin Rose
77189b6e66
Fix some symbol mapping inside nested functions.
2023-05-31 08:19:24 -05:00
Calvin Rose
4f8f7f66ee
Merge branch 'bytecode_opt'
2023-05-31 07:57:13 -05:00
Calvin Rose
b099bd97f2
Merge branch 'master' into bytecode_opt
2023-05-30 18:13:02 -05:00
Calvin Rose
961c6ea15a
Merge pull request #1172 from zevv/windows-recvfrom
...
fix for crash on windows in src/core/ev.c: initialze state->fromlen
2023-05-30 16:54:24 -05:00
Ico Doornekamp
ad7bf80611
fix for crash on windows in src/core/ev.c: initialze state->fromlen
...
before doing WSARecvFrom() to prevent crash (likely caused by the
memcpy() of `state->from` at line
2301 with the memcpy length set to -1)
2023-05-30 19:33:34 +02:00
Ico Doornekamp
40080b23ae
Fixed net/connect binding address
2023-05-30 16:57:17 +02:00
Calvin Rose
fcca9bbab3
Add recursion to the pruning optimization.
2023-05-29 18:05:14 -05:00
Calvin Rose
dbb2187425
Merge pull request #1167 from zevv/janet-formatbf-fix
...
Fix janet_formatbv() type when handling %d %u int specifiers
2023-05-29 18:03:13 -05:00
Calvin Rose
4782a76bca
Add inital bytecode optimizations for #1163
...
This removes unnecessary movn, movf, lds, and a few other instructions.
Any instructions that has not side effects and writes to a slot that
isn't used can be removed. A number of other optimizations can follow
from this:
- Implement the def-aliasing-var optimization better
- This function can be iterated as a fix point until no more
instructions are removed.
- If we implement slot renaming, then we no longer need to free slots
and can simplify the initial code generation a lot.
2023-05-29 16:10:48 -05:00
Ico Doornekamp
d13788a4ed
Updated documentation for buffer/push-at
2023-05-29 22:03:37 +02:00
Ico Doornekamp
e64a0175b1
change janet_formatbv() to handle int/unsigned int instead of long/unsigned long on '%d' and '%u' format specifiers.
2023-05-29 19:50:14 +02:00
Calvin Rose
909c906080
Fix yields inside nested fibers.
2023-05-23 20:09:46 -05:00
Calvin Rose
71bde11e95
Allow one argument to while.
2023-05-23 20:09:46 -05:00
Calvin Rose
fc20fbed92
Merge pull request #1151 from zevv/document-string-format
...
Add docstring to string/format
2023-05-23 18:57:55 -05:00
Calvin Rose
e6b7c85c37
Merge pull request #1152 from zevv/error-messages
...
Improved various error messages when handling unexpected types.
2023-05-23 18:57:20 -05:00
Ico Doornekamp
b3a92363f8
Add docstring to string/format
2023-05-23 07:21:26 +02:00
Ico Doornekamp
e9f2d1aca7
changed some error messages 'x|y' -> 'x or y'
2023-05-23 06:58:52 +02:00
Ico Doornekamp
b4e3dbf331
Improved various error messages when handling unexpected types.
...
error: bad slot #1 , expected string|symbol|keyword|buffer, got ...
error: bad slot #1 , expected a string, symbol, keyword or buffer, got ...
bad s64 initializer: "donkey"
can not convert string "donkey" to s64
2023-05-23 06:57:12 +02:00
Ico Doornekamp
50a19bd870
Fix warning in janet_gettime()
2023-05-22 20:53:03 +02:00
Calvin Rose
57b751b994
Merge branch 'master' of github.com:janet-lang/janet
2023-05-21 16:23:44 -05:00
Calvin Rose
77732a8f44
inet_test change.
2023-05-21 13:36:11 -05:00
Calvin Rose
c47c2e538d
Merge pull request #1137 from tionis/master
...
os/proc-kill now accepts an optional signal to send
2023-05-21 13:33:24 -05:00
Ico Doornekamp
63353b98cd
improved error messages for special forms
2023-05-21 20:18:32 +02:00
tionis
4dfc869b8a
fixed formatting in src/core/os.c
2023-05-21 15:55:11 +02:00
tionis
b4b1c7d80b
Merge branch 'janet-lang:master' into master
2023-05-21 13:51:24 +00:00
tionis
e53c03028f
ignoring signals on windows in os/proc-kill again
2023-05-21 15:50:15 +02:00
Ico Doornekamp
30c47d685d
Fixed :cputime because msdn does not implement clock() properly
2023-05-21 07:29:27 +02:00
Ico Doornekamp
e8e5f66f4c
Implement janet_gettime() for win32 and macos; need testing
2023-05-21 07:29:27 +02:00
Ico Doornekamp
aaf3d08bcd
Added 'source' argument to os/clock to select the clock source
2023-05-21 07:29:27 +02:00
Ico Doornekamp
61132d6c40
os/time and janet_gettime now use CLOCK_MONOTONIC instead of CLOCK_REALTIM, this matches the description from the documentation of os/clock. Fixes issue #1144
2023-05-21 07:29:27 +02:00
Calvin Rose
b621d4dd2e
Merge pull request #1139 from zevv/async-connect
...
changed net/connect to be non-blocking / asynchronous
2023-05-19 21:12:16 -05:00
tionis
53afc2e50a
Merge branch 'janet-lang:master' into master
2023-05-19 19:14:12 +00:00
Ico Doornekamp
89debac8f6
Fixed janet_loop1_impl stream use after dealloc
2023-05-19 20:00:59 +02:00
Ico Doornekamp
a6a097c111
Add CI test for mingw/wine on linux
2023-05-18 15:15:41 +02:00
Ico Doornekamp
c3e28bc924
added deferred closing of streams after async connect() fails
2023-05-18 14:10:22 +02:00
Ico Doornekamp
8d78fb1f6b
changed net/connect to be non-blocking / asynchronous
2023-05-18 10:55:48 +02:00
Calvin Rose
d6f5a060ed
Squashed commit of the following:
...
commit 725b8749464895e21c761f1c5479692335282f62
Author: Calvin Rose <calsrose@gmail.com>
Date: Tue May 16 20:58:34 2023 -0500
Update header file.
commit 38bf2a5131
Author: Calvin Rose <calsrose@gmail.com>
Date: Tue May 16 19:43:22 2023 -0500
Run experiment on bsd.
2023-05-16 21:00:31 -05:00
tionis
0f35acade1
use SIGTERM for os/proc-kill signal test
2023-05-16 18:47:38 +02:00
tionis
56d72ec4c5
support sending signals to processes on windows
2023-05-16 17:07:51 +02:00
tionis
0b58e505ee
os/proc-kill now accepts an optional signal to send
2023-05-16 00:44:19 +02:00
Ico Doornekamp
2a6c615bec
features.h: define _DARWIN_C_SOURCE for __APPLE__
2023-05-15 16:55:09 +02:00
Ico Doornekamp
ab8c5a0b5f
net/setsockopt optname symbols are now lower case
2023-05-15 15:25:09 +02:00
Ico Doornekamp
68c35feaea
Formatting
2023-05-15 12:33:37 +02:00
Ico Doornekamp
88d0c2ca0f
add net/setsockopt
2023-05-15 12:15:36 +02:00
Calvin Rose
20ada86761
Fix NAN typo.
2023-05-12 19:08:26 -05:00