Commit Graph

500 Commits

Author SHA1 Message Date
270c9a434b attempted to emulate socketpair() where it's unavailable 2021-03-30 01:37:36 +00:00
68ad99eca7 added hcl_dupucstr(), hcl_dupbcstr() 2021-03-28 18:12:07 +00:00
9f89bd7c1b some more code cleanup 2021-03-28 03:44:27 +00:00
a20587537e minor code fixes 2021-03-27 10:32:23 +00:00
e46d7fa286 fixed minor flaws in the code 2021-03-25 16:53:05 +00:00
307bdee5cc added more code to implement simple exception handling 2021-03-02 15:58:13 +00:00
6631779768 added some code for throw 2021-02-28 17:00:28 +00:00
9409e8ec65 removed 'return' from where it's not needed 2021-02-28 06:43:22 +00:00
50148c7eab added the flags field to the context object 2021-02-24 16:57:26 +00:00
e61602082d added the try_catch instruction 2021-02-22 14:56:27 +00:00
05d7b73bdb enhancing the compiler to support (try ... catch ...) 2021-02-22 09:20:45 +00:00
13a24ee4bb trivial changes 2021-02-21 16:55:45 +00:00
378bae261a fixed some compiler bugs in processing weird if..elif..else expressions without body parts - (if true), (if false else), (if false elif true) 2021-02-18 15:48:44 +00:00
33db65a8b9 set the defailt logging mask to 0.
fixed wrong format specifiers in std.c
2021-02-11 14:14:49 +00:00
6789e4b3a4 fixed a bug in hcl_allocheap() 2021-02-11 09:35:38 +00:00
43322c6901 moved the heapsize parameter from hcl_open() to hcl_ignite() 2021-02-09 17:47:22 +00:00
816b900231 touched up code a bit 2021-02-09 15:06:41 +00:00
1d0c7a8bbc allowed vmprim.alloc_heap() to create a bigger heap than requested.
enhanced the standard implementation(std.c) to attempt HUGETLB if the requested heap size is over 1/2 of the huge page size
2021-02-09 14:54:54 +00:00
aa8f8fac2d removed unneeded code 2021-02-08 15:50:53 +00:00
1aeee25ac6 removed cb-impl.c and cb-impl.h 2021-02-08 15:42:24 +00:00
4b3e318428 used hcl_openstdwithmmgr() in hcl-s.c and deleted unneeded code 2021-02-08 09:41:40 +00:00
7d7c709591 initialized the io multiplexer properly in cb_vm_startup() 2021-02-08 09:16:53 +00:00
e67985e58f added std.c 2021-02-07 17:58:23 +00:00
037174ddb6 adding hcl_openstd() 2021-02-07 17:57:35 +00:00
ac58758da0 added some semaphore handling code 2021-02-05 15:22:39 +00:00
9c2f757e16 preparing to implement semaphores 2021-02-03 14:50:51 +00:00
81c9b25cad fixed some process management code 2021-02-02 23:43:12 +00:00
770de52eba fixed a flaw in post_lambda() in the compiler code 2021-02-01 13:26:48 +00:00
2d22b53c96 fixed some compiler bugs 2021-02-01 13:20:46 +00:00
65c23a3ff5 removed unneeded code
uniformize the naming of locptr, dbgl to dbgi
2021-02-01 03:32:09 +00:00
7d6436a4de enhanced the vm to supplement the error message with debug information 2021-01-31 18:46:13 +00:00
0568cb0ae3 removed some unneeded code.
changed the source input handler to set the name field for the main stream
2021-01-30 16:13:27 +00:00
db9e0f5248 cleaned up a bit 2021-01-29 17:24:13 +00:00
7fc4262d01 made enhancement to show location information for the ECALL runtime error 2021-01-29 12:39:31 +00:00
525078fbe5 removed unneeded code 2021-01-29 09:41:39 +00:00
d19fab7e3f renamed hcl_read2() and hcl_compile2() to hcl_read() and hcl_compile() respectively 2021-01-29 08:40:10 +00:00
d4fbd0a298 removed hcl_read() and hcl_compile().
in the next commit(), hcl_read2() and hcl_compile2() will get renamed to hcl_read() and hcl_compile() respectively
2021-01-29 08:35:31 +00:00
3dad8ce013 enhanced the compiler to support (continue) 2021-01-29 08:13:18 +00:00
624f2d02cd compiler enhancement in progress 2021-01-28 10:09:38 +00:00
c93ddd5042 more compiler code to store source locations of byte codes emitted 2021-01-28 08:17:50 +00:00
162d4431ca more ongoing compiler enhancements 2021-01-28 07:25:05 +00:00
745ce163a1 interim commit while enhancing the compiler 2021-01-27 16:11:56 +00:00
4a7e5dc44e enhanced the compiler a bit 2021-01-27 16:01:36 +00:00
d36c12e21a changing compiler code to preserve some debugging information 2021-01-27 08:47:08 +00:00
79d0385600 minor code change 2021-01-26 15:47:22 +00:00
8829e27c33 preparing to produce debug information 2021-01-26 10:10:18 +00:00
1a0594ac3f fixed a wrong field name in cb-impl.c 2021-01-26 04:25:40 +00:00
2e3fae05e4 fixed the reader and the compiler to process the a dic/array/byte-array item after a period in a data list properly 2021-01-25 15:23:24 +00:00
fbbdb6188e fixed bugs in compile_symbol() and read_vlist() 2021-01-25 14:24:00 +00:00
581b13aedd found a bug upon VM abortion. yet to fix it 2021-01-24 15:53:35 +00:00
41de130fe4 enhanced the new compiler to produce working bytecodes for the #() list 2021-01-24 15:45:28 +00:00
f3315811ed restored the module loading code in the new compiler. but this needs a total makeover 2021-01-22 15:07:47 +00:00
51e347889d the new compiler is becoming usable. but not complete yet.
added more string copy functions
2021-01-22 14:43:47 +00:00
58165aad49 updated lambda/return/return-from-home compiling code in the new compiler 2021-01-21 14:59:01 +00:00
16557a970c yet implementing the new compiler 2021-01-19 14:07:42 +00:00
e4ae7add8b coding a better compiler 2021-01-17 17:45:39 +00:00
58ec16aa0a corrected clean-up actions in read_object() in read2.c 2021-01-16 08:23:52 +00:00
b327791484 experimenting with the new reader 2021-01-15 09:12:28 +00:00
554667b227 modified code further to enhance the reader 2021-01-13 09:54:44 +00:00
9752533d12 changing code for the new reader and compiler 2021-01-12 09:06:25 +00:00
ad4c8e35d4 changing read2.c 2021-01-12 00:21:43 +00:00
963f162c4e more code to implement a new object reader 2021-01-10 16:04:36 +00:00
8936bb5bec changing code to improve the compiler 2021-01-09 16:53:47 +00:00
5d05984664 changing code to improve the compiler 2021-01-09 16:53:35 +00:00
24b96e4c29 attempting to preserve token location between the reader and the compiler 2021-01-06 09:37:29 +00:00
75ecff7aca removed unneeded code 2021-01-03 17:58:57 +00:00
6720640ed7 adding some work-in-progress code to store debugging information for generated byte codes 2021-01-03 13:51:23 +00:00
1828b4f29b fixed to reset hcl->sp before returning from hcl_execute() 2020-12-31 19:03:37 +00:00
c6145a2302 fixed an issue with an old compiler 2020-12-31 18:15:27 +00:00
42688f26ce renamed some struct member names which have not been changed since changes in the main part 2020-12-31 18:02:58 +00:00
11e831bbcc switching GC from semi-space copying to mark-sweep 2020-12-31 17:48:47 +00:00
fbb7ce853a added xma.c 2020-12-28 17:03:29 +00:00
5f771b6035 stop specifying explicit DEPENDENCIES by listing the .la files in LDADD/LIBADD 2020-11-16 13:07:15 +00:00
6b094588d5 added quadmath.h check to configure.ac 2020-11-15 10:32:34 +00:00
656e0150a9 cleaned up code and build files 2020-11-15 10:26:14 +00:00
0823ddc2d0 cleaned up build files 2020-11-15 09:56:06 +00:00
966888844b fixed an object protection mistake in hcl_divints() 2020-10-25 05:51:44 +00:00
164be69b9d minor whitespace removal from code 2020-10-15 13:47:52 +00:00
852543ee19 Added some incomplete code for process-switching 2020-10-15 12:57:05 +00:00
d02bf34322 removed irrelevant comments 2020-10-13 17:25:29 +00:00
27edbfdb91 removed the unneeded sp field from hcl_context_t 2020-10-13 17:20:01 +00:00
adb374f02d fixed non-local return behaviors 2020-10-13 14:44:00 +00:00
b9f78f7c13 working on return-from-home for non-local return 2020-10-10 17:36:33 +00:00
d127456da8 added hcl_block_t to express a base block. no more reuse of hcl_context_t for the base block 2020-10-09 07:14:32 +00:00
a69434a96f enhancing the compiler and hcl_execute() for better interactive use 2020-10-08 09:25:54 +00:00
9d5e580387 fixing compiler bugs regarding MAKE_FUNCTION and literal frame rebasing 2020-10-07 08:06:49 +00:00
0ffb5b239d debugging the compiler 2020-10-06 09:40:39 +00:00
dcae55ab70 fixing more bugs.. 2020-10-05 14:49:54 +00:00
e30cbc844c writing code for function activation using function-local literal frame 2020-10-05 09:37:26 +00:00
a28553b195 fixing types of some fields in hcl_context_t and hcl_function_t for clarity and consistency 2020-10-04 19:34:53 +00:00
1b07957718 fixed a gc error not fixed in the previous commit 2020-10-04 19:07:21 +00:00
2b786018d7 changing vm implementation a bit. this commit is buggy 2020-10-04 18:21:05 +00:00
c7e87698d0 still experimenting to find a good way to represent byte codes and literal frames in the interactive mode 2020-09-28 15:44:04 +00:00
b9ae46afff adding experimental changes for compiler enhancement 2020-09-24 08:24:47 +00:00
b8fd5c6712 experiments... 2020-09-22 09:19:53 +00:00
bfba16a757 restored the lost code for 'J' in fmt.c 2020-09-21 08:34:08 +00:00
e6be071a54 adding some experimental code 2020-09-19 11:55:58 +00:00
e8ac460f59 added hcl_add_ntime()/hcl_sub_ntime() 2020-09-03 06:21:01 +00:00
52aa942508 removed unneeded substitutions in configure.ac 2020-08-19 05:10:22 +00:00
1fc6f09909 changed --enable-unicode to --enable-wide-char in configure.ac and removed c++ stuffs 2020-08-18 03:03:45 +00:00
64b8a5b1ef changed ambiguous code in lib/fmt.c 2020-07-10 14:52:29 +00:00
51b52ca844 updated ax_pthread.m4 2020-02-27 07:57:19 +00:00
8af190ac46 fixed wrong prefix output for %# in fmt.c 2019-11-24 08:06:06 +00:00
6ba4cedd4a added hcl_oocu_t, hcl_ucu_t, hcl_bcu_t 2019-11-19 13:59:24 +00:00
9b2f40c282 renamed hcl_getrbtstyle() to hcl_get_rbt_style() 2019-11-18 14:09:57 +00:00
8b96d6fc0f added HCL_BITSOF(x) 2019-09-26 05:24:13 +00:00
d53151a080 added hcl_inttouintmax()/hcl_inttointmax()/hcl_uintmaxtoint()/hcl_intmaxtoint() 2019-08-13 07:15:12 +00:00
947dd4c5d3 added static assertion macros 2019-08-06 03:08:36 +00:00
21ec6f6c5f not useful macro trimming 2019-06-24 11:38:58 +00:00
705aaea0cc not useful macro reordering 2019-06-24 11:36:07 +00:00
e27058d771 added the _instsize field to hcl_t, hcl_server_t, hcl_client_t 2019-06-21 12:36:25 +00:00
ff685bac79 fixed a bug and a typo introduced in the earlier commit of json.c 2019-06-15 05:31:29 +00:00
7462427af4 touched up json processor 2019-06-11 16:27:39 +00:00
3af707bc07 fixed a buffer management bug in json.c 2019-06-11 15:07:29 +00:00
02042b5e47 removed unused functions 2019-06-10 08:52:41 +00:00
19bba8d7e4 diverted w/W to k/K in format_stack_args() in the non-unicode mode 2019-06-02 15:58:12 +00:00
20fb7f54b7 fixed a flaw in print_ucs() in fmt.c
renamed ENABLE_HCLEX to ENABLE_HCLX
2019-06-02 06:42:47 +00:00
16c7c290ce added hcl_prufmtv() and hcl_prbfmtv() 2019-06-02 05:06:08 +00:00
77f8047af8 added fmt.c 2019-06-01 14:05:45 +00:00
a161944682 refactored fmt code 2019-05-31 10:54:13 +00:00
4ce47cb435 added the bin directory and moves files for binary commands into it 2019-05-14 04:21:35 +00:00
6e5a92a041 refined the msb positioning functions
migrated hcl_isint()/hcl_isbigint() to hcl-prv.h
2019-05-04 17:56:45 +00:00
a58f9e47b0 added __cplusplus when determining inline availability 2019-05-03 08:42:52 +00:00
727865dcc5 enhanced hcl_bswap16/32/64() 2019-05-03 07:39:01 +00:00
882ca9358c refined some endian conversion macros with proper type casting 2019-05-03 03:20:10 +00:00
c3359bac1d redefined endian conversion routines 2019-05-02 07:58:36 +00:00
2255d894b0 added --enable-full-liw to configure.ac 2019-04-17 05:51:36 +00:00
0cbf9e4edf added hcl_flushio() and HCL_IO_FLUSH 2019-04-17 05:37:56 +00:00
2d9f5b51ad added sys.time, sys.random, sys.srandom.
removed test-bi.sh
wrote a simple bigint test program into test-bi.hcl
2019-04-17 03:46:39 +00:00
9045220ef8 changed hcl_inttostr()
touched up log output and formatted output functions
2019-04-16 15:46:00 +00:00
dc3c393247 added -v to hcl. found a bug of a new line printed when printf is called. need to debug it 2019-04-16 09:35:56 +00:00
7f7a2685d0 synchronized the bigint functions with moo 2019-04-16 09:06:30 +00:00
49ba5ed881 added typecasting to some hcl_xxxx() macros 2019-04-13 01:02:20 +00:00
b14668d3d5 optimized bigint division a bit 2019-03-25 13:01:05 +00:00
346f3c35f9 changed PUT_BYTE_IN_HEX() 2019-03-19 13:58:40 +00:00
02c468bd1f renamed inconsistent function names 2019-03-19 13:29:59 +00:00
1a6aaf1831 added hcl_byte_to_bcstr().
implemented k/K/w/W in the formatted output function
2019-03-18 15:37:07 +00:00
258567dca9 fixed wrong conditionals in hcl-utl.h 2019-03-07 12:54:23 +00:00
4e4ac37dec added section titles to hcl-utl.h 2019-03-06 01:57:06 +00:00
fd99432186 redefined hash functions 2019-03-06 01:50:46 +00:00
ad985e3862 fixed indentataion 2019-03-05 06:39:10 +00:00
947f6080d1 changed hcl_hash_bytes() to use fnv-1 hash 2019-03-01 09:12:34 +00:00
d75b34126e changed hcl_hash_bytes() to sdbm hash 2019-03-01 07:51:53 +00:00
2b14218a43 fixed a bug in bigint division 2019-02-20 17:38:56 +00:00
b39ce631b3 added hcl_fill_uchars()/hcl_fill_bchars() 2019-02-18 17:18:21 +00:00
fe81119228 changed project url 2019-02-01 16:41:57 +00:00
8994e67067 fixed a bug of not honoring precision specified with %.* in computing string length given for 's' and 'S' 2019-01-31 09:12:24 +00:00
6cdec68b01 set UNTYPED if no type is given in hcl_logbfmtv() and hcl_logufmtv() 2019-01-28 13:51:27 +00:00
1fa0d684bc corrected a minor coding flaw in number.c 2019-01-09 16:00:54 +00:00
0011937699 removed unnecessary restoration code in string_to_fpdec() 2019-01-08 08:57:37 +00:00