Commit Graph

31 Commits

Author SHA1 Message Date
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
85b25d53bc relocated quite a few methods from ProcessorScheduler to System 2017-11-05 16:47:13 +00:00
hyunghwan.chung
27c2c5b404 disallowed semaphore removal from a group when a process is waiting for the semaphore to be signaled 2017-11-03 16:26:55 +00:00
hyunghwan.chung
7410f09cf5 fixed a wrong error message 2017-11-01 08:12:20 +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
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
a54c2e21f2 added the equality(=) method to Array.
fixed the equality primitive handler to accept the subclasses of Semaphore/SemaphoreGroup
2017-10-02 01:22:49 +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
ce72ffa193 implemented wait on a semaphore group and related semaphore handling 2017-09-21 14:22:36 +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
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
a639fe9f93 fixed an error in moo_seterrbfmt() and moo_seterrufmt() 2017-05-16 02:04:18 +00:00
hyunghwan.chung
ce69989a86 touched up primitive failure handling a bit 2017-05-09 15:48:44 +00:00
hyunghwan.chung
68a7118fb2 finished handling of #limited and #final class modifiers 2017-05-01 12:54:41 +00:00
hyunghwan.chung
2a6206cc80 changed to use AC_LINK_IFELSE() when checking for some __builtin_memxxx functions.
started adding the #limited modifier for class definition
2017-04-30 04:50:33 +00:00
hyunghwan.chung
6fe65f66fc implemented until and do..until loop 2017-04-26 15:31:07 +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
5bf8d20a93 enhanced the compiler to handle default initial values for instance variables and class variables 2017-04-24 04:26:03 +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
aeb02213b4 changed moo_getpfnum().
added argument count checks when processing primitive method pragmas
2017-04-01 04:58:02 +00:00
hyunghwan.chung
be677dd53a added partial experimental code for io event handling 2017-02-15 11:57:24 +00:00
hyunghwan.chung
4c13989947 enabled the compiler to support a class name as a namespace.
started adding code for event-driven IO handling
2017-02-12 18:59:03 +00:00
hyunghwan.chung
7460ce819c renamed *.st files to *.moo 2017-01-09 12:52:37 +00:00