Commit Graph

30 Commits

Author SHA1 Message Date
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
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
1ebfe8d5e9 added a simple LinkedList 2017-03-04 05:48:23 +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
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
2c8eb87408 refactored moo_execute() by taking process switcher out to a separate inline function 2017-02-11 05:48:30 +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
5c07a48c5a wrote code to handle dictionary expression and association expression notation 2017-02-07 17:40:34 +00:00
60c38a1ecb added make_association, pop_into_association_key, pop_into_association_value byte codes to support assocation expressions 2017-02-05 15:05:25 +00:00
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
07d8d0ea83 implemented simple optimization in compiling an if expression 2017-01-31 16:14:11 +00:00
22013650bb added the jump_backward_if_true instruction.
added more do-while handling code
2017-01-30 16:48:42 +00:00
b7a19a3b14 implemented the while expression handling. break and continue yet to be implemented 2017-01-25 13:57:14 +00:00
6209b13410 added the local return byte code - BCODE_LOCAL_RETURN -> it returns to the origin of the active context 2017-01-22 18:01:26 +00:00
002aa9a3f1 changed the compiler to emit PUSH_NIL when the braced block is empty for if 2017-01-19 17:12:16 +00:00
40ba50fc53 added primitive code to compile the 'if' expression 2017-01-18 17:17:05 +00:00
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
808586ca00 added the dyncall library detection into configure.ac 2017-01-10 14:27:31 +00:00
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
95885e4dec fixed some wrong code 2017-01-09 14:52:15 +00:00
65f2f862f8 started taking ffi out of the main vm, putting it to a separate module 2017-01-09 13:41:11 +00:00
b2fb361df4 renamed stix to moo 2017-01-09 10:25:22 +00:00