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
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
2836de090b
removed stale COBJ_STREAM usage
2023-05-25 18:34:39 -05:00
8e278e3a7d
update Docs to reflect keyword changes
2023-02-10 20:46:05 -06:00
c8cae03604
syntax: 'var'->'let' 'function'->'func'
...
- 'var' has some weird scoping connotations with users of JS. better to change it to 'let', which will decide whether to make the variable a local or a global
- 'func' looks visually appealing lol
- some minor refactoring done in cparse.c
2023-02-09 15:58:25 -06:00
5d805e258b
minor formatting fixes
2023-02-09 12:52:36 -06:00
8df4cc65e3
removed CObjStream
2023-02-09 12:42:09 -06:00
7279623e24
added clang-format
2023-02-09 12:32:48 -06:00
517b0b9532
Removed '-Werror' to the Makefile
2021-06-11 15:01:53 -05:00
1df2e212cb
Merge pull request #4 from NeoInversion/dev
...
Commit authored by https://github.com/NeoInversion
2021-03-28 01:18:39 -05:00
Inversion
84ec5d2aee
Add documentation for the OS library
2021-03-27 23:11:47 -07:00
6859ec98ad
Added boilerplate for CObjStream
2021-03-20 01:44:03 -05:00
057716e0d4
Added os.system() to the os.* library
2021-03-20 01:02:13 -05:00
b9e9dedac6
Updated Appveyor to test testsuite
2021-03-19 22:25:23 -05:00
1813bbeb1b
Added minimal testsuite for IC
...
- main.c will now report errors for passed scripts
2021-03-19 22:23:04 -05:00
471589d379
Added svg to README, whitelisted commits only effecting the binary
2021-03-16 15:05:20 -05:00
70f931df18
Added AppVeyor CI
2021-03-16 14:54:52 -05:00