Commit Graph

59 Commits

Author SHA1 Message Date
hyunghwan.chung
08cfa55acc rewrote stix_bitandints(), stix_bitorints(), stix_bitxorints() to handle negative numbers in the 2's complement form 2015-12-17 16:11:10 +00:00
hyunghwan.chung
bf412e0c07 added stix_bitxorint() 2015-12-13 16:08:05 +00:00
hyunghwan.chung
887a03c05e added stix_bitandints() and stix_bitorints() 2015-12-10 14:23:09 +00:00
hyunghwan.chung
f40b5fb0c1 added stix-mac.h and made related changes 2015-12-03 05:46:11 +00:00
hyunghwan.chung
6544340db4 fixed a bug of wrong short number conversion in stix_strtoint() when STIX_LIW_BITS == STIX_OOHW_BITS 2015-12-02 16:14:37 +00:00
hyunghwan.chung
2fbb4d3a71 added STIX_EPFULL
fixed a bug in starting an initial process
started writing an integer-to-string conversion function
2015-12-02 15:24:13 +00:00
hyunghwan.chung
fe8b6dfa24 enhanced stix_divints() to handle modulo/remainder more clearly 2015-11-22 14:48:09 +00:00
hyunghwan.chung
d8da07cb59 added some bigint code for division 2015-11-22 13:32:06 +00:00
hyunghwan.chung
f618154aaf changed STIX_SMOOI_MIN to -STIX_SMOOI_MAX instead of (-STIX_SMOOI_MAX - 1)
fixed tally range check bugs in dic.c/sym.c/gc.c
simplificed some code resulting from STIX_SMOOI_MIN change.
2015-11-20 09:05:55 +00:00
hyunghwan.chung
b0f8561238 added more code for bigint.
changed SMINT to SMOOI and renamed relevant macros accordingly
2015-11-12 06:57:35 +00:00
hyunghwan.chung
0daf143cce Added stix_mulints() 2015-11-11 13:31:05 +00:00
hyunghwan.chung
a033e2669b added some code to calculate log2(x) 2015-11-03 14:58:19 +00:00
hyunghwan.chung
d33ad3749a Added stix_shallowcopy().
added some code for bigint operations
2015-10-30 15:36:37 +00:00
hyunghwan.chung
1094d298cb added some bigint related code 2015-10-29 15:24:46 +00:00
hyunghwan.chung
98631175d0 redefined some types 2015-10-28 14:58:58 +00:00
hyunghwan.chung
2aef6b9bab added the new process primitive to create a process with a block as if it has got the value message 2015-10-22 02:47:25 +00:00
hyunghwan.chung
96011578c8 added some more code for processing scheduling 2015-10-19 06:16:43 +00:00
hyunghwan.chung
3482c99ab7 added more code for process scheduling 2015-10-18 15:06:17 +00:00
hyunghwan.chung
f52356e8c8 added more code for process scheduling 2015-10-15 14:40:08 +00:00
hyunghwan.chung
6916198253 touched up code 2015-10-14 13:25:36 +00:00
hyunghwan.chung
8f985290d0 autotool-ized the project 2015-10-14 09:06:44 +00:00
hyunghwan.chung
d367e2736b added more code for primitive module loading 2015-10-13 14:51:04 +00:00
hyunghwan.chung
8c963d919c work in progress to support the named primitive via shared object loading 2015-10-08 14:26:04 +00:00
hyunghwan.chung
5c69f6c3b4 added experimental codo utilizing the dyncall library 2015-10-04 16:21:31 +00:00
hyunghwan.chung
353d3bd2fe added qse_getprimno() and added experimental code for foreign function interface 2015-10-03 15:29:03 +00:00
hyunghwan.chung
ce8a86e082 added some code to support importing a pool dictionary 2015-07-25 15:01:51 +00:00
hyunghwan.chung
f97eb3d72b added some experimental code for namespace handling 2015-07-12 17:14:21 +00:00
hyunghwan.chung
4d181b521a introduced #extend for extending a class.
#class XXX without a superclass inherits nil
2015-07-06 13:27:49 +00:00
hyunghwan.chung
5ba0c67dd1 added the MAKE_BLOCK instruction to replace a serieos of PUSH_CONTEXT, PUSH_INTLIT, PUSH_INTLIT, SEND_BLOCK_COPY 2015-07-03 13:06:01 +00:00
hyunghwan.chung
37740da2d7 added PUSH_INTLIT and PUSH_NEGINTLIT instructions 2015-07-02 15:45:48 +00:00
hyunghwan.chung
cf3e24a6cd enhanced method preamble 2015-07-02 14:59:52 +00:00
hyunghwan.chung
60299cda5b added experimental code to support byte trailer of a pointer object. the main purpose is to embed byte codes into the back of the compiled method object.
fixed buggy code using the freed pointer when reallocation has occurred - callers of clone_keyword(), clone_assignee(), clone_binsel()
2015-07-01 15:01:39 +00:00
hyunghwan.chung
d6a9ca91fa added JUMP2_FORWARD and JUMP2_BACKWARD 2015-07-01 07:21:54 +00:00
hyunghwan.chung
2d2039f4a5 fixed TEMPVAR handling 2015-06-30 15:12:37 +00:00
hyunghwan.chung
3e0d6630f1 changed block-local variable access to use XXXX_CTXTEMPVAR instructions.
implemented simple global variable access using XXXX_OBJECT instructions
2015-06-30 14:47:39 +00:00
hyunghwan.chung
0dee37e56a fixed the wrong operator used for encoding an instance variable index into the preamble 2015-06-29 14:10:15 +00:00
hyunghwan.chung
51d7db9b96 renumbered byte codes and removed fragile code handling tail-call optimization 2015-06-29 13:52:40 +00:00
hyunghwan.chung
c233bb95a7 fixed a bug in return handling 2015-06-28 14:20:37 +00:00
hyunghwan.chung
585f0a6acc experimented some kind of tail call optimization. but ended up with no good result yet 2015-06-26 15:49:08 +00:00
hyunghwan.chung
0427879198 cleaned up code a bit 2015-06-25 13:37:50 +00:00
hyunghwan.chung
54aa947bab added string, character, symbol literals with c style escape sequences 2015-06-24 11:53:19 +00:00
hyunghwan.chung
dea9944270 added array and byte-array literal handling.
removed CMD_EXTEND_DOUBLE and cleaned up instruction decoding a bit
2015-06-23 14:00:26 +00:00
hyunghwan.chung
6f565539a9 enhanced the compiler to handle cascaded messages.
implemented block-context local temporaries.
changed primitive_block_context_value() to support block context reentrancy by activating a shallow-copied block context
2015-06-22 14:21:46 +00:00
hyunghwan.chung
b9ee190dec fixed a missing reinitialization problem in the compiler 2015-06-21 16:22:50 +00:00
hyunghwan.chung
e87dbbdfcd fixed a bug of not initializing a variable buffer length in compile_class_definition() 2015-06-21 14:45:45 +00:00
hyunghwan.chung
60591201af fixed a bug of producing wrong argument count for a binary message.
added primitives for basicSize, basicAt:, basicAt:Put:
2015-06-21 03:50:35 +00:00
hyunghwan.chung
fbfa4c4ff0 added code to handle block context 2015-06-20 03:07:11 +00:00
hyunghwan.chung
40c461f1f4 added more code to handle block context 2015-06-17 13:46:16 +00:00
hyunghwan.chung
af5e2a543b added more compiler code 2015-06-16 13:29:29 +00:00
hyunghwan.chung
13fecb4c70 added PUSH_NEGONE, PUSH_ZERO, PUSH_ONE 2015-06-16 04:31:28 +00:00