38d9c499ea
whoops, wrong path to the workflow file
2023-08-30 21:30:20 -05:00
79d40d4bb0
ig that runner doesn't work lol
2023-08-30 21:28:50 -05:00
dc44adba6e
removed CERROR
2023-08-30 20:14:03 -05:00
7c0bec5e6c
allow manual runs
2023-08-30 20:12:06 -05:00
a44450ff22
wrong output path for windows build
2023-08-30 20:09:06 -05:00
58c857d2ea
oops
2023-08-30 20:03:30 -05:00
38136d028f
switched from appveyor to github workflow
2023-08-30 20:02:04 -05:00
420cd3e856
Merge pull request #7 from CPunch/error-handling
...
Error handling
2023-08-30 12:05:57 -05:00
bfde2d25cf
Merge branch 'main' into error-handling
2023-08-30 12:03:01 -05:00
97d40765ce
more refactoring; things seem to work fine
...
all example scripts run fine with GC_STRESS enabled
2023-08-30 12:00:52 -05:00
37e4653d40
don't freezeGC during GC cycle
2023-08-29 23:32:25 -05:00
1ae473383d
fix more GC bugs
2023-08-29 23:21:52 -05:00
6ed5589513
fix cparse.c gc bug
2023-08-29 23:01:47 -05:00
1408a07b23
fix this test script
2023-08-29 16:51:04 -05:00
27818b3788
cosmoV_throw() now resets the vm stack as well
...
also a minor GC bug in cosmoO_newError was fixed.
i'm going to try to phase out cosmoM_freezeGC & friends
since that would cause hell with this new
error handling solution. the only thing still using it is the GC.
2023-08-29 16:48:38 -05:00
37e42eb60b
fixed minor memory leak in cparse
...
we keep track of internal values used by the parser by pushing them onto the stack
and popping them off once complete.
2023-08-29 15:27:22 -05:00
cd3047c271
WIP: removed stale error handling
...
currently, scripts seem to run fine. however I'm a bit worried about stack related issues. maybe i'll need to reset state->top as well? but not entirely sure
2023-08-29 14:07:45 -05:00
f26376e6f5
WIP: major error handling refactoring
...
switching to setjmp instead of the really bad global 'panic' flag
2023-08-28 21:13:00 -05:00
409937c1fa
fix vm.collect()
...
we don't freeze the vm on entry to C functions now
2023-08-26 15:03:56 -05:00
1d2ba217af
minor refactoring
2023-08-25 23:34:21 -05:00
e28ffe1c6c
refactored cobj.c:printObject()
...
uses obj type strings from cosmoO_typeStr
2023-08-25 21:28:41 -05:00
9c5270124d
finally fixed this memory bug
...
we were accidentally tracking frees of stuff that was never
allocated lol
2023-08-25 21:22:10 -05:00
5fc9af5564
more debug related refactoring
2023-08-25 20:44:24 -05:00
a1c58647ba
minor CTable refactoring
2023-08-25 19:57:16 -05:00
5c3e24fc39
refactoring and cleanup
...
cosmoB_loadOSLib -> cosmoB_loadOS
2023-08-24 23:36:32 -05:00
dcf6a09dae
minor refactoring
2023-06-03 01:39:35 -05:00
e0faa14b35
implemented jump table dispatch
...
- currently only enabled on supported platforms (GNU C Compiler + Clang)
- when enabled, sped up examples/fibtest.cosmo by about 20% (avg of 11.179s prior and 8.799 after)
NOTE: malicious dumps can trivially cause crashes now by having junk function chunks
2023-06-03 01:17:28 -05:00
861607d6a8
fixed formatting
2023-06-01 22:28:07 -05:00
10c9f92a06
Merge branch 'main' of github.com:CPunch/Cosmo
2023-06-01 22:22:50 -05:00
8dfd7744c2
fixed MSVC support
2023-06-01 22:22:44 -05:00
7f7bc7c6ad
added vm.disassemble()
2023-06-01 19:04:12 -05:00
5169aca6d0
forgot to update this a while back
2023-05-28 21:16:30 -05:00
c34c5850e2
whoops, need to update the command to run the testsuite
2023-05-28 21:13:51 -05:00
07ba4c731e
update README.md
2023-05-28 21:11:52 -05:00
788911130d
Merge pull request #6 from CPunch/chunk-loading
...
Chunk loading
2023-05-28 20:59:10 -05:00
c464a76849
minor usage fix
2023-05-28 20:57:53 -05:00
8c6ba18848
major main.c refactoring
...
- now takes command line arguments:
Usage: ./bin/cosmo [-clsr] [args]
available options are:
-c <in> <out> compile <in> and dump to <out>
-l <in> load dump from <in>
-s <in...> compile and run <in...> script(s)
-r start the repl
2023-05-28 20:52:12 -05:00
93a09698a9
minor stack fixes
2023-05-28 12:19:52 -05:00
be49ec5af5
proper error handling for dump edgecases
2023-05-28 12:16:00 -05:00
4fe437ea4e
undef macros
2023-05-28 12:03:49 -05:00
e854c5dbb3
fixed GC bug in cundump.c
2023-05-28 11:55:48 -05:00
c945c56482
these values can be defined at the top of the function
2023-05-28 00:08:28 -05:00
89d443d767
formatting changes
2023-05-28 00:03:50 -05:00
54a959438b
added cdump.[ch] and cundump.[ch] to makefile
2023-05-27 23:17:17 -05:00
355842989b
cvm.c: added cosmoV_undump
2023-05-27 23:16:47 -05:00
45f36e6e87
cdump.c: major refactoring; various fixes
2023-05-27 23:15:58 -05:00
819e76b711
cdump.c: fix instruction and line info dumping
2023-05-27 23:15:12 -05:00
f116efa02c
started cundump.c:cosmoD_undump(); minor fixes
2023-05-25 21:12:21 -05:00
465f4d5e4a
started cdump.c:cosmoD_dump()
2023-05-25 19:41:13 -05:00
3efee51224
minor refactoring and typos
2023-05-25 19:40:15 -05:00