Commit Graph

165 Commits

Author SHA1 Message Date
e65912ae72 improved gcfin handling a bit
attempted to use XLoadFontSet in the x11 plugin experimentally
2017-07-27 08:32:16 +00:00
a46113abad enhanced the gc finalization process a bit more 2017-07-25 15:26:04 +00:00
447012b214 changed process management code for gc finalization support. incompelete yet 2017-07-24 13:25:25 +00:00
7412ae0dac enhanced finalization handling further 2017-07-21 16:54:43 +00:00
03fd02d59b added some experimental code to support object finalization 2017-07-20 16:33:53 +00:00
d311c7cb6e interim commit of various experiments 2017-06-16 09:45:22 +00:00
9b3c3007fd Added a new syntax error code MODIMPFAIL 2017-06-08 14:39:17 +00:00
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
36c48a8daf made some changes to system logging primtitives and supporting codes.
struggling with name space handling
2017-05-21 16:57:21 +00:00
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
a639fe9f93 fixed an error in moo_seterrbfmt() and moo_seterrufmt() 2017-05-16 02:04:18 +00:00
5e7771b799 added MOO_LOG_MAXCAPA 2017-05-12 16:38:16 +00:00
9208d078b2 added moo_seterrbfmt() and moo_seterrufmt() 2017-05-11 14:59:20 +00:00
a1782753a9 touched up primitive failure handling in exec.c 2017-05-08 16:00:55 +00:00
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
1dff630fdd changed how to calculate the mid point in a binary search loop 2017-05-04 05:22:45 +00:00
68a7118fb2 finished handling of #limited and #final class modifiers 2017-05-01 12:54:41 +00:00
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
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
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
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
08e54cb524 enhanced the compiler to handle default initial values for class instance variables 2017-04-24 14:32:21 +00:00
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
89c0a406f3 fixed a bug of not updating the system multiplexer when moving an IO semphoare object 2017-04-08 07:23:31 +00:00
08f01329ab added MOO_EMSGRCV.
added System putUintX()/putIntX() and SmallPoitner putUintX()/putIntX()
2017-04-03 13:24:18 +00:00
b7a8348de3 added System _malloc/_calloc/_free and SmallPointer free 2017-04-03 05:43:50 +00:00
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
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
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
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
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
65722cf89b changed System to be a class instead of an instance of a system dictionary 2017-03-22 16:55:41 +00:00
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
3bfffe09d9 removed the association literal notation 2017-03-09 07:26:43 +00:00
90f46cc1fe simplified the event handling thread implementation by letting only 1 thread waiting for events 2017-02-22 09:48:58 +00:00
52d6867944 wrote experimental code to handle events efficiently and asynchronously 2017-02-21 19:20:27 +00:00
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
6a7cbc8dcb finished the native method handling code in the compiler 2017-02-19 17:33:53 +00:00
93e776a9d8 wrote some incomplete code to support native method definition - method(#native) ... 2017-02-18 15:00:45 +00:00
607e6c8502 experimenting with event driven mechanism 2017-02-18 13:31:47 +00:00
be677dd53a added partial experimental code for io event handling 2017-02-15 11:57:24 +00:00
bc5ab97ccf added the main program to handle SIGINT 2017-02-14 14:00:14 +00:00
f89d809cdc added moo_genpfmethods() and moo_findpfimpl() for convenience of writing primitive modules 2017-02-14 10:25:26 +00:00
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
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
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
7384777b59 introduced vm_getttime, vm_sleep, vm_startup, vm_cleanup callbacks 2017-02-10 09:06:53 +00:00
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
2101bb38b4 renamed __assocPut: to __put_assoc: 2017-02-08 13:14:29 +00:00
5c07a48c5a wrote code to handle dictionary expression and association expression notation 2017-02-07 17:40:34 +00:00