Commit Graph

472 Commits

Author SHA1 Message Date
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
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
fc121cd70a added moo_ucwidth() 2017-07-05 14:23:13 +00:00
hyunghwan.chung
d0b38926d4 added more X11 code related to GC handling 2017-06-29 15:04:35 +00:00
hyunghwan.chung
a2877ac905 added more X11 code 2017-06-27 16:03:29 +00:00
hyunghwan.chung
979040e7b3 fixed the io semaphore handling error when DEVPOLL is activated 2017-06-27 13:47:58 +00:00
hyunghwan.chung
6a721bb62a renamed get_event to get_llevent in X11 2017-06-27 07:36:55 +00:00
hyunghwan.chung
246662220f interim commit of ongoing X11 works 2017-06-23 16:09:07 +00:00
hyunghwan.chung
16ff846013 ongoing x11 experiment 2017-06-18 17:29:32 +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
40ec8fc157 added some test cases 2017-06-07 17:22:14 +00:00
hyunghwan.chung
e3e897ee83 changed build files to detect a library containing setupterm() 2017-06-07 16:47:48 +00:00
hyunghwan.chung
307c43eb3e fixed an initial value handling bug and implemented getter and setter generation when a variable is set with #get and/or #set 2017-06-07 04:46:14 +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
8324f64dea refactored array and byte array processing code in the compiler 2017-05-16 15:01:31 +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
f5d311e825 enhanced logging functions to be more error-resistent 2017-05-12 04:15:09 +00:00
hyunghwan.chung
9208d078b2 added moo_seterrbfmt() and moo_seterrufmt() 2017-05-11 14:59:20 +00:00