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
hyunghwan.chung
0f84a115ae
added moo_pfbase_t and changed some functions to return moo_pfbase_t* instead of moo_pfimpl_t
...
touched up some modules
2017-03-30 14:59:55 +00:00
hyunghwan.chung
3fcfcff0ad
added a new modifier #variadic to make variadic method definition more obvious.
...
allowed the #primitive modifier in a method definition not associated with an external module.
fixed a bug in handling soft failure from numbered primitive functions
2017-03-23 16:14:22 +00:00
hyunghwan.chung
65722cf89b
changed System to be a class instead of an instance of a system dictionary
2017-03-22 16:55:41 +00:00
hyunghwan.chung
46ba3bb3f5
added respondsTo: and perform:with:
...
fixed a bug in Dictionary>>__remove_at:
added gc callback to external modules
2017-03-19 14:18:37 +00:00
hyunghwan.chung
3bfffe09d9
removed the association literal notation
2017-03-09 07:26:43 +00:00
hyunghwan.chung
90f46cc1fe
simplified the event handling thread implementation by letting only 1 thread waiting for events
2017-02-22 09:48:58 +00:00
hyunghwan.chung
52d6867944
wrote experimental code to handle events efficiently and asynchronously
2017-02-21 19:20:27 +00:00
hyunghwan.chung
b45d896d9f
renamed the #native method modifier to #primitive for consistency
...
improved the method modifier processing logic in the compiler
2017-02-20 04:45:23 +00:00
hyunghwan.chung
6a7cbc8dcb
finished the native method handling code in the compiler
2017-02-19 17:33:53 +00:00
hyunghwan.chung
93e776a9d8
wrote some incomplete code to support native method definition - method(#native) ...
2017-02-18 15:00:45 +00:00
hyunghwan.chung
607e6c8502
experimenting with event driven mechanism
2017-02-18 13:31:47 +00:00
hyunghwan.chung
be677dd53a
added partial experimental code for io event handling
2017-02-15 11:57:24 +00:00
hyunghwan.chung
bc5ab97ccf
added the main program to handle SIGINT
2017-02-14 14:00:14 +00:00
hyunghwan.chung
f89d809cdc
added moo_genpfmethods() and moo_findpfimpl() for convenience of writing primitive modules
2017-02-14 10:25:26 +00:00
hyunghwan.chung
71aa1110ed
added more preamable codes.
...
enhanced the system to be able to attach trailing spaces to an object upon instantiation, especially for external modules to be able to secure GC-safe free workspace inside an instantiated object
added moo_setclasstrsize(), moo_getobjtrailer() for the trailer feature
2017-02-14 08:29:30 +00:00
hyunghwan.chung
73231a29d7
enhanced the primitive module loader such that it can load multiple primitmive groups from a single module file.
...
fixed a bug of setting errnum wrongly in character conversion functions
2017-02-13 13:25:42 +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
7384777b59
introduced vm_getttime, vm_sleep, vm_startup, vm_cleanup callbacks
2017-02-10 09:06:53 +00:00
hyunghwan.chung
b1c28d03d7
changed VM to emulate 'Dictionary new: ..' for MAKE_DICTIONARY
...
changed VM to emulate 'dic put_assoc: assoc' for POP_INTO_DICTIONARY
2017-02-10 07:38:29 +00:00
hyunghwan.chung
2101bb38b4
renamed __assocPut: to __put_assoc:
2017-02-08 13:14:29 +00:00
hyunghwan.chung
5c07a48c5a
wrote code to handle dictionary expression and association expression notation
2017-02-07 17:40:34 +00:00