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
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
c647f76cdf
removed a redundant argument declaration from the EXIT_DISPATCH_LOOP() macro
2017-09-26 23:48:33 +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
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
ce69989a86
touched up primitive failure handling a bit
2017-05-09 15:48:44 +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
63519c1ca3
introduced a new class modifier #immutable to indicate that an instantiated object cannot be modified using basicAt:put:
2017-05-07 05:18:21 +00:00
hyunghwan.chung
68a7118fb2
finished handling of #limited and #final class modifiers
2017-05-01 12:54:41 +00:00
hyunghwan.chung
bce77eda6c
added --enable-mod-x11 and --enable-mod-ffi to configure
2017-04-28 04:03:52 +00:00
hyunghwan.chung
9ee7d9e110
touched up raw memory access primitives
2017-04-27 15:40:04 +00:00
hyunghwan.chung
b0a3b4aef7
fixed CompiledMethod>>preambleCode
2017-04-26 16:01:56 +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
8a0d476d18
fixed a lexer bug of eating up one more character when reading a single-letter identifier C, S, M followed by a non-identifier letter in get_ident().
...
changed various test programs according to syntax changes
2017-04-24 09:20:27 +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
536a66fbbf
enhanced the check on the nullified io semaphore slot
2017-04-08 07:33:06 +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
cee4a01be0
refactored exec.c a bit
2017-04-02 17:13:04 +00:00
hyunghwan.chung
4f9767422b
added raw memory access primitive functions to SmallPointer
2017-04-02 17:08:03 +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