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
hyunghwan.chung
8f6b21a4f6
changed the process id map to put the freed id at the back of the list
2017-07-30 15:15:47 +00:00
hyunghwan.chung
f78bf33866
improved pid management
2017-07-27 17:29:45 +00:00
hyunghwan.chung
e65912ae72
improved gcfin handling a bit
...
attempted to use XLoadFontSet in the x11 plugin experimentally
2017-07-27 08:32:16 +00:00
hyunghwan.chung
a46113abad
enhanced the gc finalization process a bit more
2017-07-25 15:26:04 +00:00
hyunghwan.chung
447012b214
changed process management code for gc finalization support. incompelete yet
2017-07-24 13:25:25 +00:00
hyunghwan.chung
7412ae0dac
enhanced finalization handling further
2017-07-21 16:54:43 +00:00
hyunghwan.chung
03fd02d59b
added some experimental code to support object finalization
2017-07-20 16:33:53 +00:00
hyunghwan.chung
d311c7cb6e
interim commit of various experiments
2017-06-16 09:45:22 +00:00
hyunghwan.chung
9b3c3007fd
Added a new syntax error code MODIMPFAIL
2017-06-08 14:39:17 +00:00
hyunghwan.chung
34a5e0cab8
gave up the idea of constants.
...
enhanced namespace handling with selfns and self
uniformified identifier handling related to namespacing
2017-06-01 15:42:05 +00:00
hyunghwan.chung
36c48a8daf
made some changes to system logging primtitives and supporting codes.
...
struggling with name space handling
2017-05-21 16:57:21 +00:00
hyunghwan.chung
1bdaba968d
added nsup field to the class object to chain back to the upper namespace in the hierarchy.
...
changed bootstrapping code and compiler code to weave top-level namespace hierarchy more consistantly, mostly related to the System class and its intrinsic namespace dictionary linked via the nsdic field
2017-05-20 02:27:48 +00:00
hyunghwan.chung
a639fe9f93
fixed an error in moo_seterrbfmt() and moo_seterrufmt()
2017-05-16 02:04:18 +00:00
hyunghwan.chung
5e7771b799
added MOO_LOG_MAXCAPA
2017-05-12 16:38:16 +00:00
hyunghwan.chung
9208d078b2
added moo_seterrbfmt() and moo_seterrufmt()
2017-05-11 14:59:20 +00:00
hyunghwan.chung
a1782753a9
touched up primitive failure handling in exec.c
2017-05-08 16:00:55 +00:00
hyunghwan.chung
937895ef59
added a new method modifier #lenient that applies to a primitive method. when set, it turns soft failure to error return
2017-05-07 16:45:27 +00:00
hyunghwan.chung
1dff630fdd
changed how to calculate the mid point in a binary search loop
2017-05-04 05:22:45 +00:00
hyunghwan.chung
68a7118fb2
finished handling of #limited and #final class modifiers
2017-05-01 12:54:41 +00:00
hyunghwan.chung
f69c54c339
added /dev/poll interfacing code for solaris
...
change rbt.c to align the value pointer on a word boundary to avoid bus error on sparc64
2017-04-28 14:45:13 +00:00
hyunghwan.chung
be57cffbe6
added MOO_METHOD_PREAMBLE_FLAG_DUAL and set it on in a method preamble for a dual method
2017-04-26 15:44:57 +00:00
hyunghwan.chung
04864659a8
added the #dual modifier to method definition. a method defined with #dual is registered in both the instance side and the class side.
2017-04-26 03:09:55 +00:00
hyunghwan.chung
8298bad3e0
added moo_process_t.perr and Processor>>primError to capture the last error set by a primitive function
2017-04-25 15:20:58 +00:00
hyunghwan.chung
08e54cb524
enhanced the compiler to handle default initial values for class instance variables
2017-04-24 14:32:21 +00:00
hyunghwan.chung
4656bf128e
added a new class variable declarator 'var' or 'variable'
...
supported | .. | style declartion at the class level.
added the RDONLY flag to the object header
wrote some code to support default values for class-level variables such as instance variables
2017-04-19 16:46:44 +00:00
hyunghwan.chung
89c0a406f3
fixed a bug of not updating the system multiplexer when moving an IO semphoare object
2017-04-08 07:23:31 +00:00
hyunghwan.chung
08f01329ab
added MOO_EMSGRCV.
...
added System putUintX()/putIntX() and SmallPoitner putUintX()/putIntX()
2017-04-03 13:24:18 +00:00
hyunghwan.chung
b7a8348de3
added System _malloc/_calloc/_free and SmallPointer free
2017-04-03 05:43:50 +00:00
hyunghwan.chung
e2d73eccdb
extended the tag bits to support more than 3 special types.
...
tag bit calculation got slower but it can use up to 4 bits to represent more types
2017-04-02 13:13:33 +00:00
hyunghwan.chung
2ed62a5edb
added a new method directive #liberal to indicate a method that accept a fully variadic number of arguments.
...
the directive #liberal allows the caller to omit the named arguments as well.
the directive #variadic requires the caller to provide at least the named arguments
2017-04-01 06:54:27 +00:00
hyunghwan.chung
447670aba8
implemented more prechecks including the existence of the primitive function handler and the number of supported arguments when compiling primitive method defintions
2017-03-31 14:21:22 +00:00