3ce098953e
fix __proto object getter
2023-09-11 22:17:35 -05:00
aaede37839
minor refactoring
2023-09-06 20:23:18 -05:00
b3f3ad992d
added file:write() & an optional mode
param to os.open()
2023-09-06 17:29:38 -05:00
f51e072922
removed more debug prints
2023-09-05 14:45:03 -05:00
b66858d286
removed debug prints, oops
2023-09-05 14:43:50 -05:00
34c55eee87
fix makefile
2023-09-05 14:42:29 -05:00
a2d0b79c2e
documented the new os.open and file objects
2023-09-05 14:41:59 -05:00
4de274d760
added os.open(); new file object
...
eg.
```lua
local err, file = os.open("LICENSE.md")
if err then
// do error handling stuff
end
// passing "a" to read() will read the whole file
print(file:read("a"))
```
2023-09-05 14:38:24 -05:00
074e8b52cc
removed 'roots', replaced with a registry table
...
- removed cosmoM_addRoot
- removed cosmoM_removeRoot
- renamed cosmoV_register to cosmoV_addGlobals
- added cosmoV_addRegistry
- added cosmoV_getRegistry
- added cosmoV_setProto
- added cosmoV_isValueUserType
2023-09-05 14:35:29 -05:00
56161a32e7
capture freezeGC in CPanic
2023-09-05 02:23:31 -05:00
1544332b90
build a release build for linux as well
2023-09-04 20:15:15 -05:00
b73d865447
even more error handling refactoring
...
removing all of these useless checks has actually made cosmoV_execute just a
lil bit faster :)
2023-09-04 20:14:53 -05:00
5a00d61646
lol oops
2023-09-01 17:16:10 -05:00
83dfd36c5c
switched to a better linenoise fork
...
https://github.com/msteveb/linenoise
this version has several benefits, namely win32 support :D
2023-09-01 17:12:39 -05:00
2d889a37d1
fix artifacts path
2023-09-01 14:43:20 -05:00
0f0a8fb085
better repl input, using linenoise
2023-08-31 23:17:13 -05:00
c03df8f506
include util path
2023-08-31 23:16:28 -05:00
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