8bdab5520a
fixed a macro definition for os2
2017-04-03 14:53:16 +00:00
46e29918f3
added error mappings for os2
2017-04-03 14:51:07 +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
cee4a01be0
refactored exec.c a bit
2017-04-02 17:13:04 +00:00
4f9767422b
added raw memory access primitive functions to SmallPointer
2017-04-02 17:08:03 +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
aeb02213b4
changed moo_getpfnum().
...
added argument count checks when processing primitive method pragmas
2017-04-01 04:58:02 +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
9748410354
Added more xcb code
2017-03-26 17:15:25 +00:00
da04686176
fixed a bug in handling io semaphores when no process is runnable
2017-03-25 05:16:18 +00:00
df1619bf7d
added more experimental xcb code
2017-03-24 18:09:34 +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
6a2add620b
fixed two minor bugs in main.c
2017-03-09 13:39:59 +00:00
3bfffe09d9
removed the association literal notation
2017-03-09 07:26:43 +00:00
8bf134e8e3
refactored compiler code abit
2017-03-08 14:48:12 +00:00
308318b615
changed to accept identifer instead of symbols in pooldic definition
2017-03-08 13:53:41 +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
513ed296a0
enhanced the event handling code further
2017-02-21 19:51:10 +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
8442968f9c
fixed a tokenization bug in getting a empty string literal.
...
allowed a zero-length symbol to be created
2017-02-19 15:45:51 +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
d7cb283e44
added a few useful macros
2017-02-13 13:40:35 +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
ff122bdcc8
removed the accidentally added -lxcb from lib/Makefile.am
2017-02-12 19:03:08 +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
46f3e8635e
updated lib/Makefile.am to use ENABLE_LIBLTDL
2017-02-09 16:30:28 +00:00
0178693f77
added --enable-libltdl to configure
2017-02-09 16:26:44 +00:00
c613b6955d
fixed a segfault bug when the source file cannot be opened
2017-02-09 15:56:51 +00:00
2a40be7742
updated the compiler to fix the jump instruction positions for break and continue upon instruction eliminations
2017-02-09 10:22:44 +00:00
c6cf64a586
fixed some issues in logfmt routines.
...
changed the dl_getsym callback to use the dynamic memory allocation if the static buffer isn't large enough
2017-02-09 08:05:14 +00:00
2101bb38b4
renamed __assocPut: to __put_assoc:
2017-02-08 13:14:29 +00:00
a05793a66d
rewrote a few methods to use if/while instead of ifTrue:/whileTrue: in Collect.moo
2017-02-07 18:09:07 +00:00
5c07a48c5a
wrote code to handle dictionary expression and association expression notation
2017-02-07 17:40:34 +00:00
62eb6db83d
in progress of fixing a bug in instruction elimination
2017-02-06 17:53:33 +00:00