86 Commits

Author SHA1 Message Date
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
hyunghwan.chung
62eb6db83d in progress of fixing a bug in instruction elimination 2017-02-06 17:53:33 +00:00
hyunghwan.chung
eb83c8d83a started the first step to implement array expression support enclosed in #{ }.
added 2 new byte codes - MAKE_ARRAY, POP_INTO_ARRAY for implementation
2017-02-05 13:54:52 +00:00
hyunghwan.chung
54a2128713 fixed -L directory order in lib/Makefile.am to avoid linking to libmoo-xxx shared objects when MOO_ENABLE_STATIC_MODULE is on and $(libdir) contains libmoo-xxx files - place the module build directory in front of other library directories.
fixed problems when MOO_OOCH_IS_BCH
2017-02-03 06:28:12 +00:00
hyunghwan.chung
22013650bb added the jump_backward_if_true instruction.
added more do-while handling code
2017-01-30 16:48:42 +00:00
hyunghwan.chung
03ddf6b68d added some code to compile the break statement 2017-01-29 07:14:36 +00:00
hyunghwan.chung
bc83b95acb added some argument checks into ffi
added more string manipulation functiions
2017-01-16 14:42:39 +00:00
hyunghwan.chung
70f9976af3 added moo_duputobcharswithheadroom(), moo_dupbtoucharswithheadroom()
added moo_inttoooi() and made public moo_inttooow()
enhanced the ffi module a bit more
2017-01-15 17:53:37 +00:00
hyunghwan.chung
79198df35b added MOO_OBJ_GET_XXX_SLOT() macros 2017-01-12 17:48:04 +00:00
hyunghwan.chung
750f529201 added more string duplication and conversion functions 2017-01-12 16:33:26 +00:00
hyunghwan.chung
ec3285da57 added more character conversion functions 2017-01-12 10:06:43 +00:00
hyunghwan.chung
808586ca00 added the dyncall library detection into configure.ac 2017-01-10 14:27:31 +00:00
hyunghwan.chung
1612143499 added MOO_IN_SMPTR_RANGE(), MOO_SMPTR_TO_OOP(), MOO_OOP_TO_SMPTR().
refactored ffi a bit more
2017-01-10 13:56:19 +00:00
hyunghwan.chung
faf6ca28e5 added MOO_VMPRIM_OPENDL_PFMOD.
started refactoring ffi handling code
2017-01-10 10:50:26 +00:00
hyunghwan.chung
2528dcdbe5 changed the compiler to allow assignment to an argument in a method 2017-01-09 13:20:46 +00:00
hyunghwan.chung
b2fb361df4 renamed stix to moo 2017-01-09 10:25:22 +00:00