Commit Graph

132 Commits

Author SHA1 Message Date
ValKmjolnir 65fe7daff6 📝 change name of used types 2022-07-23 12:35:21 +08:00
ValKmjolnir 0d750ca685 optimize op_para and op_deft: change hashmap<string,u64> to hashmap<u32,u32> 2022-07-23 12:02:41 +08:00
ValKmjolnir 7a9ce29710 🚀 change std::cout to std::clog to put some log info 2022-07-21 23:16:16 +08:00
ValKmjolnir 1a376c7ebd 📝 change README.md 2022-07-20 00:06:00 +08:00
ValKmjolnir 2fa59a7e95 optimize codes 2022-07-19 23:55:12 +08:00
ValKmjolnir 1097e46a23 📝 fix some wanings. 2022-07-11 23:53:23 +08:00
ValKmjolnir ec308f8053 optimize codes. details:
1. delete gc::builtin_alloc
2. add convenient way of getting new string object: gc::newstr, and shrink the size of codes
3. update doc
4. add gc::temp to be used in native/module functions to avoid being recognized as garbage incorrectly when triggered mark-sweep
2022-07-07 17:51:30 +08:00
ValKmjolnir 3d1e3f49dc 📝 change identifiers' name and test/coroutine.nas, test/filesystem.nas 2022-07-06 16:04:21 +08:00
ValKmjolnir 4499bf7bac 📝 change makefile and update output format of --opcnt and --detail 2022-07-06 11:57:40 +08:00
ValKmjolnir 9110a44b90 📝 change name of some identifiers. shrink size of main stack. 2022-07-05 18:13:54 +08:00
ValKmjolnir fcfbf5ce77 optimize codes and delete unused variables 2022-07-05 00:49:38 +08:00
ValKmjolnir 7e25bc15e0 optimize vm 2022-07-04 00:16:04 +08:00
ValKmjolnir b5f839bebe 📝 change some identifiers' name. 2022-07-03 22:46:28 +08:00
ValKmjolnir 8cc483b82a optimize codes 2022-07-02 18:08:41 +08:00
ValKmjolnir ec2866021f add native function runtime.argv() to get command line arguments 2022-06-04 20:12:00 +08:00
ValKmjolnir 9194c966c8 🐛 visual changement & bug fix in test/json.nas & optimize test/bp.nas 2022-05-30 21:27:24 +08:00
ValKmjolnir 6ee0ce9398 🐛 fix bug that gc cannot mark values in coroutine & add maketimer_sim.nas
update props_sim.nas

update auto_crash.nas
2022-05-23 20:23:20 +08:00
ValKmjolnir 8b63c44266 optimize codes 2022-05-22 18:19:13 +08:00
ValKmjolnir c47bc7b881 optimize codes: store upvalue on stack & debugger now can output information of registers 2022-05-20 21:19:43 +08:00
ValKmjolnir 8915a9b96a 🚀 add coroutine library(beta) and lib function settimer&maketimestamp 2022-05-19 20:09:23 +08:00
ValKmjolnir 7fd3c4213f bytecode info print and debugger will show the front 16 characters of strings whose length is greater than 16 2022-05-02 16:56:03 +08:00
ValKmjolnir 92989ed9f6 optimize codes 2022-04-12 18:26:54 +08:00
ValKmjolnir 68c1b43179 change STACK_MAX_DEPTH to nasal_gc::stack_depth 2022-04-09 23:14:28 +08:00
ValKmjolnir 51e9b0b5ab add math.pow 2022-03-27 16:14:55 +08:00
ValKmjolnir d5d426d6eb update main.cpp and bug fix 2022-03-20 18:28:45 +08:00
ValKmjolnir b61e7dfcb3 update docs & fix bug in nasal_builtin.h 2022-03-16 15:30:34 +08:00
ValKmjolnir 7ef9dd9371 change enum obj_type to nasal_obj::obj_type 2022-03-15 22:51:14 +08:00
ValKmjolnir 9740ae90a5 update docs 2022-03-14 20:29:49 +08:00
ValKmjolnir 19db83a7f0 add destructors for obj_file, obj_dylib, obj_dir & bug fix 2022-03-13 00:11:50 +08:00
ValKmjolnir 34a59db9c4 add destructor for obj_file & change arguments in test/tetris.nas 2022-03-12 23:37:16 +08:00
ValKmjolnir 4bbeaa10b5 visual update 2022-03-10 16:05:49 +08:00
ValKmjolnir 88ed64caf2 change nasal_ref value option functions' output types from pointers to references 2022-03-09 22:54:54 +08:00
ValKmjolnir c00f1a2103 delete lstk&fstk, store local address and function on stack and in vm registers 2022-03-08 17:30:40 +08:00
ValKmjolnir 5ac882c01e update num->string algorithm, now the to_string will output strings with no tailing zeros 2022-03-08 13:40:27 +08:00
ValKmjolnir 15c5fbb1fb add module.nas to safely use dylib 2022-03-05 21:52:29 +08:00
ValKmjolnir aa3f6de9ef fix bug of upval_state 2022-03-02 19:28:17 +08:00
ValKmjolnir 6fee4da9a0 delete operand op_nop 2022-02-16 23:27:22 +08:00
ValKmjolnir 7ced74a0a5 add new gc type vm_upval 2022-02-13 22:40:54 +08:00
ValKmjolnir 0d5b0fa57d now local values are stored on stack. upvalue is generated when creating a new function in local scope.
may include some bugs inside. but all test files has passed the test so i decide to push it.
2022-02-12 23:12:30 +08:00
ValKmjolnir c7909bfdf8 prepare for function-call optimization 2022-02-12 18:03:50 +08:00
ValKmjolnir 3ca42d1fd9 update test/calc.nas & print function of nasal_vec/nasal_hash 2022-02-11 17:04:27 +08:00
ValKmjolnir 4fa2a45a07 little update 2022-02-10 22:20:18 +08:00
ValKmjolnir 6908e509ac add notes in lib.nas & add runtime.gc() & add total instruction count in '-o'. 2022-02-09 15:53:09 +08:00
ValKmjolnir ee01e0992c add garbage collector and memory allocator info. use '-d' to activate this function. 2022-02-08 23:40:52 +08:00
ValKmjolnir 54da9e4ee1 optimize test file & little update. 2022-02-06 19:55:45 +08:00
ValKmjolnir 1381cb924d reuse codes in nasal_vec::print and nasal_hash::print
now they all use nasal_ref::print
2022-02-05 23:55:56 +08:00
ValKmjolnir 666feae851 change increment arguments to a more efficiency level & change gc.nil, gc.one, gc.zero to constant nil, one, zero 2022-02-04 01:51:30 +08:00
ValKmjolnir 0783f02860 change increment argument in nasal_gc, because new vm doesn't need to alloc new objects frequently.
vm_str  2048 -> 512

vm_func 1024 -> 512

vm_vec  8192 -> 512
2022-02-03 22:43:51 +08:00
ValKmjolnir 6601912de4 bug fixed in nasal_vec::print and nasal_hash::print
if vec's or hash's size is 0, a bug will occur because ++depth. now the ++depth has been put behind the size()
2022-01-29 19:51:43 +08:00
ValKmjolnir a51b7fe11a optimize codes 2022-01-16 22:48:00 +08:00