219a87c79c
added IS_DICT()
2020-12-12 17:36:55 -06:00
d03175c9c5
OP_COUNT expects a dictionary
2020-12-12 17:34:54 -06:00
b1facfc92f
smarter caching
2020-12-09 20:46:20 -06:00
181ef8a18c
Added dictionaries {}
...
Objects are now separate from {} dictionaries
the . operator now only indexes fields on objects, the [] operator can only be used on objects if the __index or __newindex functions are defined
Additionally 4 new instructions have been added to the VM: OP_NEWDICT, OP_INDEX, OP_INCINDEX, and OP_NEWINDEX.
The syntax to create a dictionary is as follows { <key> : <value>, <otherkey> : <othervalue> } eg. { "hello" : "world", "foo" : 1337 }
The Lexer & Parser was extended to add the TOKEN_COLON ':' token.
2020-12-09 20:32:42 -06:00
6445dae04c
added module names for functions
2020-12-09 12:23:16 -06:00
9aa7fa1381
replaced facttest.lua with fibtest.lua
...
Optimized the NaN box to be byte aligned, performance under the fibtest.lua script improved by ~2.5 seconds (~31 before ~28.5 after on cpunch's machine)
also cleaned up some misc. comments
2020-12-07 23:26:55 -06:00
f8a062919f
added cosmoM_addRoot & cosmoM_removeRoot
2020-12-07 15:53:23 -06:00
aff011a8d1
minor refactoring
2020-12-07 14:35:14 -06:00
d00b803e6f
added __setter and __getter
2020-12-06 14:11:33 -06:00
005e2acd1e
added cosmoO_setUserData and cosmoO_getUserData
2020-12-06 13:38:05 -06:00
9ca67c8408
changed class -> proto
2020-12-05 17:58:56 -06:00
e0d51c191f
renamed cosmoV_makeObject
2020-12-05 17:55:09 -06:00
3a18d14a80
removed stale comments
2020-12-04 12:30:01 -06:00
d154d71163
improved nan box performance
2020-12-04 12:19:07 -06:00
b936827cc6
added support for NaN boxing (8 byte CValues!)
2020-12-04 00:04:14 -06:00
495f1d7272
more minor refactoring
2020-11-30 12:50:55 -06:00
0f138abedd
minor refactoring
2020-11-30 12:40:36 -06:00
08c640cd58
added # operator, improved error messages
2020-11-30 12:32:04 -06:00
9dcd1c909a
fixed needless pop in _main chunk
2020-11-27 19:42:00 -06:00
fe2bcf8ae6
fixed GC bug, extended strings
2020-11-27 19:34:54 -06:00
e784933517
fixed lexer errors
2020-11-26 12:54:45 -06:00
9ccb258a93
added special character support to strings
2020-11-26 12:48:36 -06:00
0745fd10a9
extended lexer, fixed table shrinking
2020-11-25 23:34:02 -06:00
bb11b3b309
added support for __newindex
2020-11-24 15:16:37 -06:00
d2093098a4
fixed README
2020-11-20 15:37:46 -06:00
6485f90c2d
updated README
2020-11-20 15:32:12 -06:00
6d45c0a676
fixed __index
2020-11-20 15:10:49 -06:00
85e7deae7b
better support for OP_INCOBJECT
2020-11-20 14:50:43 -06:00
46b99ab390
minor refactoring, added inc and dec operators
2020-11-19 14:41:21 -06:00
3727d6bb7c
OP_NEWOBJECT uses long operand
2020-11-18 14:35:58 -06:00
4c4b5eae8d
refactored stress test
2020-11-17 15:13:51 -06:00
aaed92424f
CObjMethod refactor
2020-11-17 15:07:56 -06:00
e6a377dfd0
added comments
2020-11-17 14:39:02 -06:00
c1854bdcf1
shrink based on count
2020-11-17 14:34:30 -06:00
7182f5ccd1
do GC before table array is allocated
2020-11-17 14:32:20 -06:00
329d34aa43
fixed clang warnings
2020-11-17 13:17:23 -06:00
ef8218996c
fix clang warning
2020-11-17 03:38:00 -06:00
1189dc4b78
correctly mark tombstones
2020-11-17 03:36:56 -06:00
1329b72fcd
fixed GC bug
2020-11-17 03:10:55 -06:00
204bec3d0a
added IStrings, added __index functionality
2020-11-16 19:58:16 -06:00
c7be39a5d4
renamed metaobjects to protoobjects
2020-11-15 12:22:11 -06:00
ae22a6cef5
removed .vscode
2020-11-13 17:54:41 -06:00
4ff1e59042
moved examples to examples folder
2020-11-13 17:50:55 -06:00
928b01f52c
added some comments
2020-11-13 17:45:14 -06:00
9ebae876f6
minor refactoring, OP_INVOKE performance boost
2020-11-13 17:39:47 -06:00
71d3a8e1c4
added cosmoV_error
2020-11-13 12:54:06 -06:00
08b6dcbf4c
CObjMethod refactor
2020-11-12 23:04:09 -06:00
40ae495aaf
added input() to repl
2020-11-12 20:06:38 -06:00
279714f3e0
added push wrappers
2020-11-12 17:17:41 -06:00
ffe4fc6930
disabled debug features by default
2020-11-12 17:02:12 -06:00