Calvin Rose
7ea118f248
Begin work on simple x64 backend.
...
Introduce register allocation, spilling, etc. First implementation
will likely emit textual assembly and use a very bad register allocation
algorithm.
2024-06-03 08:35:08 -05:00
Calvin Rose
480c5b5e9d
Change how labels are recorded.
...
Disallow jumping to arbitrary instructions - instead, only allow jumps
to label ids. This will make various transformations and validations
easier since adding or remove instructions does not break jumps.
2024-06-02 09:43:33 -05:00
Calvin Rose
8a394f2506
Merge branch 'master' into compile-opt
2024-06-01 13:03:36 -05:00
Calvin Rose
7bae7d9efd
Merge changes from bundle-tools branch:
...
- Update file IO to explicitly use 64bit ftell/fseek
- Add env argument to eval
- Allow naming function literals with keywords.
2024-05-26 12:04:35 -05:00
Calvin Rose
ae2c5820a1
Fix janet_strerror when _GNU_SOURCE defined.
2024-05-25 13:24:01 -05:00
Calvin Rose
60e0c8ea92
Ignore gcov
2024-05-25 09:25:27 -05:00
Calvin Rose
7d3acc0ed6
Get rid of "extended locale" support.
...
While useful on some platforms, behavior seems to be different across
the board, making use difficult.
2024-05-19 18:01:20 -05:00
Calvin Rose
2637b33957
Include locale.h and xlocale.h on some platforms.
2024-05-19 17:40:39 -05:00
Calvin Rose
58ccb66659
Move janet_buffer_dtostr
2024-05-19 17:14:21 -05:00
Calvin Rose
634429cf61
Merge branch 'locales'
2024-05-19 17:05:49 -05:00
Calvin Rose
03166a745a
Disallow nan and inf in jdn.
2024-05-19 13:25:25 -05:00
Calvin Rose
ace60e1898
Add ev/with-*lock macros.
2024-05-18 17:55:47 -05:00
Calvin Rose
876b7f106f
OpenBSD does not work with LC_*_MASK stuff.
2024-05-18 17:22:10 -05:00
Calvin Rose
809b6589a1
Put limits.h back.
2024-05-18 15:31:23 -05:00
Calvin Rose
02f53ca014
Formatting.
2024-05-18 15:21:37 -05:00
Calvin Rose
0b03ddb21b
More work on setting locale for extended locale support.
2024-05-18 15:20:22 -05:00
Calvin Rose
ea5d4fd3af
JANET_BSD not defined on apple.
2024-05-18 14:24:51 -05:00
Calvin Rose
e6b73f8cd1
BSD, use xlocale for thread safe functionality
2024-05-18 14:11:05 -05:00
Calvin Rose
af232ef729
windows needs a distinct implementation from posix for thread safety.
...
I must say, the windows solution is a lot simpler.
2024-05-18 14:02:20 -05:00
Calvin Rose
2e2f8abfc0
Work on add locales.
...
Need to be careful not to mess with %j formatter, or
in some other places.
2024-05-18 13:23:33 -05:00
Calvin Rose
91a583db27
Merge pull request #1448 from znley/master
...
Add LoongArch64 support
2024-05-18 06:33:07 -05:00
znley
c1647a74c5
Add LoongArch64 support
2024-05-18 07:18:59 +00:00
Calvin Rose
721f280966
Add with-env
.
2024-05-16 21:52:49 -05:00
Calvin Rose
e914eaf055
Update CHANGELOG.md
2024-05-16 21:37:08 -05:00
Calvin Rose
fe54013679
Update naming *module-make-env* for #1447
2024-05-16 19:11:25 -05:00
Calvin Rose
fdaf2e1594
Add *module/make-env*
2024-05-16 19:10:30 -05:00
Calvin Rose
9946f3bdf4
Add buffer/format-at
...
Move changes over from bundle-tools branch and add testing.
2024-05-15 20:16:42 -05:00
Calvin Rose
c747e8d16c
Address some compiler linter messages on openbsd
2024-05-15 18:20:20 -05:00
Calvin Rose
3e402d397e
Use older openbsd build for CI.
2024-05-15 18:16:19 -05:00
Calvin Rose
2c208f5d01
Merge branch 'master' into compile-opt
2024-05-15 07:49:46 -05:00
Calvin Rose
0350834cd3
By default, require and import extend current env.
2024-05-15 07:40:21 -05:00
Calvin Rose
08e6051af8
More work on sysir compiler - basic function calls (without prototypes).
2024-05-15 07:24:15 -05:00
Calvin Rose
19212e6f5c
Remove net.c changes.
2024-05-12 18:09:22 -05:00
Calvin Rose
8875adf69e
Merge branch 'master' into compile-opt
2024-05-12 16:22:06 -05:00
Calvin Rose
60e22d9703
Merge pull request #1445 from wishdev/defbind-alias
...
Add ffi/defbind-alias
2024-05-11 14:25:03 -05:00
John W Higgins
ee7362e847
Add ffi/defbind-alias
2024-05-09 21:31:22 -07:00
Calvin Rose
745567a2e0
More work on frontend.
2024-05-09 22:22:38 -05:00
Calvin Rose
ef2dfcd7c3
More work on a proof of concept frontend.
...
Basic frontend being prototyped in examples/sysir/frontend.janet. Still
a lot of work needs to be done here, and some of this code will
eventually move to C most likely, but this is a good way to better
exercise our backend.
Type inference - at the very least _forward_ inference, is the most
needed change here. While one could do this in the compiler
frontend, doing so in sysir/asm is not so much of an issue. "Inference"
here means inserting "bind" instructions when there is only a single
type that will work correctly.
2024-05-05 14:45:00 -05:00
Calvin Rose
f582fe1f69
Update compiler opt
2024-05-04 16:14:59 -05:00
Calvin Rose
3cc3312b7b
Merge branch 'master' into compile-opt
2024-05-04 16:14:35 -05:00
Calvin Rose
f2d25a0da2
Add test case.
2024-05-04 16:14:26 -05:00
Calvin Rose
369f96b80e
Update README to prefer Zulip.
2024-05-03 07:51:35 -05:00
Calvin Rose
7c5ed04ab1
A few minor improvements.
...
- Add long-form CLI options
- Update changelog.
- Use snprintf instead of sprintf for linters.
2024-05-02 09:13:29 -05:00
Calvin Rose
4779a445e0
Fix BSD/Macos issue for #1431
2024-04-26 19:32:47 -05:00
Calvin Rose
f0f1b7ce9e
Address #1431 - level-trigger mode for net/accept-loop
...
In the edge-trigger mode before this change, if a socket
receives 2 connections before one can be handled, then only a single
connection is handle and 1 connection will never be handled in some
cases. Reverting to level-trigger mode makes this impossible.
2024-04-26 19:28:20 -05:00
Calvin Rose
7c9157a0ed
Remove unneeded string
functions.
2024-04-26 18:11:10 -05:00
Calvin Rose
522a6cb435
Merge pull request #1440 from ahgamut/cosmo-build
...
Build janet with Cosmopolitan Libc
2024-04-21 08:06:51 -05:00
Gautham
d0d551d739
remove superconfigure recipe
2024-04-21 01:16:54 -05:00
Gautham
71a123fef7
apelink
2024-04-21 01:14:58 -05:00
Gautham
3f40c8d7fb
fix typo
2024-04-21 01:12:59 -05:00