hyunghwan.chung
6a8db215f8
relocated gc related primitive functions
2017-12-09 17:45:10 +00:00
hyunghwan.chung
7c5afe2d5b
added SmallPointer<<getBytes, SmallPointer<<putBytes
2017-12-09 16:04:17 +00:00
hyunghwan.chung
541ab59028
added System<<getBytes, System<<putBytes.
...
also added primitive functions for the above
2017-12-09 15:47:43 +00:00
hyunghwan.chung
471d8ad797
relocated system/smptr primiives to pf-sys.c
2017-12-08 15:28:51 +00:00
hyunghwan.chung
b6cb06c680
started migrating some primitive functions to a separate file
2017-12-05 16:51:20 +00:00
hyunghwan.chung
7395a5d2d2
touched up some primitive functions
2017-12-03 17:08:04 +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
6177cd6865
removed the DEH symbol ({%).
...
added new experimental features
- the signal method to the Error class for simplified error/exception handling
- the catch method to the BlockContext for simplified error/exception catching instead of the full-fledged on:do
2017-11-21 15:05:12 +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
85b25d53bc
relocated quite a few methods from ProcessorScheduler to System
2017-11-05 16:47:13 +00:00
hyunghwan.chung
b451835c4b
added an informational log message upon program termination
2017-11-04 03:57:38 +00:00
hyunghwan.chung
384c5702bf
changed to raise/lower the number of IO semaphores being waited on when a semaphore is added/removed to/from a semaphore group.
...
reverted semaphore removal disallowance implemented in the previous revision
2017-11-04 03:41:08 +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
f7272c00fb
decremented the waiting count of IO semaphores in a semaphore in a semaphore group is signaled
2017-11-03 08:10:52 +00:00
hyunghwan.chung
7410f09cf5
fixed a wrong error message
2017-11-01 08:12:20 +00:00
hyunghwan.chung
b3ded6e42c
changed test-004 further
2017-10-31 15:14:12 +00:00
hyunghwan.chung
c86018a644
changed test-004.moo
2017-10-31 15:08:58 +00:00
hyunghwan.chung
8baf88b070
fixed a fault in mod/Makefile.am.
...
autoreconfed the build files
2017-10-31 14:45:15 +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
9ae1b99b43
fixed wrong handling of a comment closer in the builtin compiler
2017-10-31 02:57:38 +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
643d70f474
added header files for pragma pack
2017-10-08 15:51:45 +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
c412097f6f
converted isKindOf: to a dual method
2017-09-30 04:53:00 +00:00
hyunghwan.chung
cb2b93d01c
fixed an issue in isKindOf:
2017-09-30 04:49:54 +00:00
hyunghwan.chung
a240b0be7d
prevented the _is_kind_of primitive handler from returning an error
2017-09-29 15:12:01 +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
e38a4f1f20
fixed potential race condition issues when 'select' or 'poll' is used as a multiplexer backend
2017-09-27 14:03:05 +00:00
hyunghwan.chung
3b5f059569
added more code to use 'select' as a multiplexer
2017-09-27 06:48:01 +00:00
hyunghwan.chung
64e1cee44a
added the 'select' support as a multiplexer mechanism
2017-09-27 01:03:18 +00:00
hyunghwan.chung
c647f76cdf
removed a redundant argument declaration from the EXIT_DISPATCH_LOOP() macro
2017-09-26 23:48:33 +00:00
hyunghwan.chung
002424626f
enhanced the check for labels as values support
2017-09-26 15:17:28 +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
3a62300269
fixed a comparison bug in sift_down_sem_heap() for semaphore heap management
2017-08-19 15:54:03 +00:00
hyunghwan.chung
a7675116b6
changed to print backtrace upon assertion failure.
...
fixed some process scheduler bugs
2017-08-17 18:10:29 +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