217 Commits

Author SHA1 Message Date
hyunghwan.chung
1d298ff05d defined MOO_ERRMSG_CAPA 2018-03-14 14:56:27 +00:00
hyunghwan.chung
5316870a60 added MOO_EXPORT to moo_convutobcstr() 2018-03-12 14:08:56 +00:00
hyunghwan.chung
f267374dea added new optional callbacks - alloc_heap & free_heap 2018-03-01 14:48:14 +00:00
hyunghwan.chung
e52b2b3a76 changed the type of karatsuba_cutoff 2018-02-26 15:51:04 +00:00
hyunghwan.chung
18ca2b30a0 changed code to get rid of some type conversion warnings 2018-02-26 15:30:38 +00:00
hyunghwan.chung
f9372e9d61 parenthesized moo in MOO_CLASSOF() 2018-02-23 07:06:35 +00:00
hyunghwan.chung
420ee09907 added error immunity check for the log_write callback 2018-02-22 04:44:34 +00:00
hyunghwan.chung
ae0f559060 enhanced --enable-unicode to accept ucs4 and ucs2 in addition to yes/no.
redefined the moo_uch_t type to follow the enable-unicode value
2018-02-21 10:11:39 +00:00
hyunghwan.chung
c16546c3df added --enable-unicode to configure.ac 2018-02-21 09:41:52 +00:00
hyunghwan.chung
8233a6ae0a deprecated NDEBUG and introduced HCL_BUILD_DEBUG and HCL_BUILD_RELEASE 2018-02-21 09:35:59 +00:00
hyunghwan.chung
00e815b8ff fixed a potential problem cause be presence of NDEBUG 2018-02-20 14:51:19 +00:00
hyunghwan.chung
9531c6a7e8 moved the inttostr conversion buffer into moo_t 2018-02-17 13:32:30 +00:00
hyunghwan.chung
3daeab66b9 enhanced syntax error message handling.
exposed hcl_setsynerr(), hcl_setsynerrbfmt(), hcl_setsynerrufmt().
hid hcl_synerrnum_to_errstr()
2018-02-07 14:08:05 +00:00
hyunghwan.chung
930b86e923 touched up code a little bit 2018-02-05 09:20:30 +00:00
hyunghwan.chung
c0d86a8f0e renamed moo_purgesemiosbyhandle() to moo_releaseiohandle()
pushed back when to call moo_cb_t callbacks
2018-02-03 16:42:13 +00:00
hyunghwan.chung
eb35c3d865 added moo_purgesemiosbyhandle() 2018-02-03 07:16:29 +00:00
hyunghwan.chung
1bae32bf30 substitued syserr for errno wrongly used in err.c 2018-01-28 12:35:12 +00:00
hyunghwan.chung
e33ea4321e added moo_backuperrmsg() 2018-01-19 17:44:07 +00:00
hyunghwan.chung
ca182c122c added the syserrstrb and syserrstrb callback. either one must be supplied.
added some conditionals for nanosleep, strerror_r, pthread
2018-01-19 08:26:58 +00:00
hyunghwan.chung
9ae27ee39a checked the number of instance/class variables against the internal limit 2018-01-07 14:59:54 +00:00
hyunghwan.chung
171b02449e enhanced set_syntax_errbmsg() to set_syntax_errbfmt().
collapsed three separate syntax error code to a single code MOO_SYNERR_INHERITBANNED.
added moo_seterrbfmtv() and moo_seterrufmtv() for internal use
2018-01-07 08:00:23 +00:00
hyunghwan.chung
f4875ba51d supporting fixed type size specification for a nonpointer variable object like class(#byte(30))). work still in progress 2018-01-05 17:46:10 +00:00
hyunghwan.chung
27dbedbc50 fixed the invalid memory access issue in moo_compucharsucstr() and similar functions.
added the log.default_type_mask field 
restructured the builtin primitive function table
2017-12-31 16:46:52 +00:00
hyunghwan.chung
09585a4ea5 initialized sem_gcfin in vm_startup().
fixed a new problem in error message output bound for stderr.
fixed  wrong timeout value calculatin in exec.c
2017-12-28 16:12:10 +00:00
hyunghwan.chung
edba0207fb fixed log mask parsing in main.c.
touched up error handling a little bit
2017-12-28 04:58:17 +00:00
hyunghwan.chung
9f27e27d25 improved error handling a bit 2017-12-27 10:32:57 +00:00
hyunghwan.chung
3c6b73b2b5 cleaned up code related to IO semaphores and multiplexing 2017-12-26 15:55:06 +00:00
hyunghwan.chung
959c376308 revised io semaphore handling routines 2017-12-25 18:35:23 +00:00
hyunghwan.chung
3d0bcf970e changed to support a pair of semaphores on a single handle for input and output respectively 2017-12-24 17:36:20 +00:00
hyunghwan.chung
e63596688a added moo_seterrwithsyserro()let the compier to remove the leading underscores when resolving a primitive function in a separate module 2017-12-17 15:20:58 +00:00
hyunghwan.chung
cf88ac40ec enhanced error message printing 2017-12-17 06:38:08 +00:00
hyunghwan.chung
e9cea47273 added the --debug option for the debug build 2017-12-16 16:14:23 +00:00
hyunghwan.chung
69b2107ed9 changed semaphore primitive functions to return MOO_PF_FAILURE upon an error 2017-12-10 15:40:29 +00:00
hyunghwan.chung
a817083543 added #pragma qc(on) and qc(off) to turn on/off double-quoted string comment 2017-11-26 06:45:59 +00:00
hyunghwan.chung
76b975a152 changed the compiler to remove all leading spaces from a method name when composing a primitive identifer.
started enhancing the compiler to support the #pragma directive
2017-11-24 17:40:20 +00:00
hyunghwan.chung
d8bcb6e012 extended the value of the -l option to have log types after a log file name. e.g. -l /dev/stderr,app,gc 2017-11-23 15:45:25 +00:00
hyunghwan.chung
7710ad99d0 added MOO_LOG_STDOUT, MOO_LOG_STDERR
changed the main program to write log messages to a specified file
added moo_getuopt()/moo_getbopt()/moo_getopt()
2017-11-22 04:52:45 +00:00
hyunghwan.chung
b07cab3874 migrated some primitives from Processor to System.
Fixed a bug in manipulating moo->sem_io_wait_count.
Experimenting to add a shortcut exception handling syntax
2017-11-21 09:15:22 +00:00
hyunghwan.chung
5ae166c1d4 attempted to fix wrong IO semaphore handling over a semaphore group 2017-10-31 07:13:22 +00:00
hyunghwan.chung
d042f0f494 added MOO_EBADHND 2017-10-30 01:11:18 +00:00
hyunghwan.chung
2c85319cb0 started adding a socket module and the Socket class 2017-10-18 16:15:51 +00:00
hyunghwan.chung
016b7c2dac enhanced primitive methods and operations on a semaphore group 2017-10-08 18:13:10 +00:00
hyunghwan.chung
32a77bc6db simplified SemaphoreGroup by switching a semaphore array to a semaphore list.
added some copy methods to Array
2017-10-08 15:40:32 +00:00
hyunghwan.chung
1fd9ce285c added experimental code that implements singal callback in semaphore 2017-10-05 17:14:38 +00:00
hyunghwan.chung
303b49270d added moo_iskindof().
changed isKindOf: to utilize a new primitive _is_kind_of.
marked BlockContext and MethodContext to be #final and #limited
2017-09-29 15:03:54 +00:00
hyunghwan.chung
a05c86dd27 changed the scheduler to reset the return value of the wait context of a semaphore group forcibly to a singaled semaphore.
added the waitWithTimeout method to a semaphore group
2017-09-26 09:01:42 +00:00
hyunghwan.chung
7ee4453bf3 removed experimental code on error exceptionization.
made the sp method of the Process class a primitive method for accuracy
fixed omission of some fields when initializing a nil_process.
wrote a macro to inspect a receiver and changed the receiver inspect code to use the macro
corrected the order between return value setting and process suspension/temrination/activation in some primitive functions
2017-09-25 15:16:19 +00:00
hyunghwan.chung
6711bc01fa refactored the bytecode interpretation loop with computed jump tables
added incomplete code to support a semaphore group
2017-09-21 07:56:51 +00:00
hyunghwan.chung
fb48e48889 cleaned up bootstrapping code a bit 2017-08-22 13:45:37 +00:00
hyunghwan.chung
37cf7be1bb changed the way to exit the gc finalizer.
touched up processor scheduling debug statements
2017-08-20 14:43:34 +00:00