hyunghwan.chung
fff2af4762
fixed a parameter range check bug in a compiler.
...
fixed a wrong goto label location for send_message
2015-12-27 10:19:36 +00:00
hyunghwan.chung
649a78472b
finished stix_bitatint()
2015-12-26 05:11:10 +00:00
hyunghwan.chung
60b90de172
filled stix_bitatint() a bit
2015-12-26 01:37:33 +00:00
hyunghwan.chung
27e0186d43
added stix_negateint()
2015-12-25 05:09:17 +00:00
hyunghwan.chung
1e7be310fc
added code to shift a large negative integer when STIX_LIMIT_OBJ_SIZE is not defined
2015-12-24 14:11:04 +00:00
hyunghwan.chung
2022ac965b
added some code to handle right-shift of a negative number
2015-12-23 15:25:29 +00:00
hyunghwan.chung
e7d00d89bf
implement right bit shift over a small integer
2015-12-22 15:50:01 +00:00
hyunghwan.chung
6fb206a265
touched up various size related definitions and code
2015-12-22 07:49:28 +00:00
hyunghwan.chung
af9b8cd32c
added more code to stix_bitshiftint()
2015-12-21 17:12:57 +00:00
hyunghwan.chung
5bf467cb29
enhanced stix_inttostr() to handle a power-of-2 radix more efficiently
2015-12-18 15:58:45 +00:00
hyunghwan.chung
95ceac9e85
fixed a type casting issue to work around the problem caused by an old C compiler(SCO) in bigint.c
2015-12-17 16:59:49 +00:00
hyunghwan.chung
23d8d17b08
added stix_bitinvint()
2015-12-17 16:37:26 +00:00
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
9d88821c9b
finished stix_inttostr() primitively
2015-12-07 09:40:45 +00:00
hyunghwan.chung
95217da0d1
added an os2 configuration file
2015-12-04 12:05:15 +00:00
hyunghwan.chung
4b4f4329fd
added a missing function prototype for stix_allochalfwordobj()
2015-12-03 15:31:21 +00:00
hyunghwan.chung
f1ff341da2
added configuration files for dos
2015-12-03 15:11:47 +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
283c3652db
fixed some bugs in stix_divints()
2015-12-01 12:13:40 +00:00
hyunghwan.chung
addd201beb
added the missing zero check in stix_divint()
2015-11-30 15:17:41 +00:00
hyunghwan.chung
a32e1903bf
added some code for bigint division
2015-11-30 14:29:57 +00:00
hyunghwan.chung
48efc4dbc8
added more comments to stix_divints()
2015-11-22 15:04:48 +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
5cebf7e8dc
changed atom_t to stix_liw_t and made related changes.
...
introduced #liword to the compiler
2015-11-17 14:13:59 +00:00
hyunghwan.chung
415921d4a7
fixed some problems in bigint multiplication
2015-11-16 09:53:31 +00:00
hyunghwan.chung
346131b3e3
added more code for bigint multiplication
2015-11-13 15:55:56 +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
7b28bba988
enhanced stix_mulints()
2015-11-11 14:46:00 +00:00
hyunghwan.chung
0daf143cce
Added stix_mulints()
2015-11-11 13:31:05 +00:00
hyunghwan.chung
e519c5078e
relocated bigint data table initialization to stix_init()
2015-11-10 14:29:32 +00:00
hyunghwan.chung
df3f521220
touched up stix_strtoint()
2015-11-09 14:26:58 +00:00
hyunghwan.chung
797fdc4c1f
added a few lines of code to stix_strtoint()
2015-11-09 02:00:43 +00:00
hyunghwan.chung
db2de5787d
added more code to stix_strtoint()
2015-11-04 17:32:28 +00:00
hyunghwan.chung
a033e2669b
added some code to calculate log2(x)
2015-11-03 14:58:19 +00:00
hyunghwan.chung
e061b94832
added some more bigint routines
2015-11-03 14:08:43 +00:00
hyunghwan.chung
730df12933
added lost files
2015-11-01 09:47:27 +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
5a82cdc417
did some preparatory work to add Process
2015-10-14 14:01:33 +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
5449e89292
added support for pool dictionary import
2015-07-26 14:38:34 +00:00
hyunghwan.chung
ce8a86e082
added some code to support importing a pool dictionary
2015-07-25 15:01:51 +00:00
hyunghwan.chung
5700b57d57
added code that handles pool dictionary defintion
2015-07-15 08:39:18 +00:00
hyunghwan.chung
9e720c40d0
touched up code a bit for win64
2015-07-15 02:36:24 +00:00
hyunghwan.chung
b5d94ef6ea
added more code for namespace handling.
...
added initial code to define a pool dicitonary
fixed a compiler bug in resolving a class variable
2015-07-14 13:35:18 +00:00
hyunghwan.chung
3bb121c09d
changed the compiler to recoginize FQN reference
2015-07-13 15:58:27 +00:00
hyunghwan.chung
23d1bcf86c
added more namespace handling code
2015-07-13 15:35:52 +00:00
hyunghwan.chung
f97eb3d72b
added some experimental code for namespace handling
2015-07-12 17:14:21 +00:00
hyunghwan.chung
f2ec2d5fd2
did some preparatory work to support namespaces
2015-07-10 14:06:07 +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
132e4b48bb
aded STIX_SYNERR_INCLUDE
2015-07-03 14:38:37 +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
f33bbfe724
collapsed store_into_xxx followed by pop_statcktop into pop_into_xxx
2015-06-29 14:24:04 +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
hyunghwan.chung
8e143685c9
improved the structure of primitive handlers
2015-06-14 07:15:53 +00:00
hyunghwan.chung
c052501f0c
added CMD_PUSH_OBJVAR and CMD_STORE_INTO_OBJVAR
2015-06-12 13:52:30 +00:00
hyunghwan.chung
2982d4118d
fixed the fopen mode
2015-06-11 13:10:33 +00:00
hyunghwan.chung
af4d0596fb
enhanced newline handling
2015-06-11 12:09:10 +00:00
hyunghwan.chung
469210bd80
fixed some bugs related to store and pop
2015-06-11 09:11:18 +00:00
hyunghwan.chung
a8a44a1519
added 'preamble' to the compiled method.
...
improved some special case handling
2015-06-09 12:14:18 +00:00
hyunghwan.chung
5f6500aa7c
added some code for handling message sending and returning
2015-06-08 13:24:02 +00:00
hyunghwan.chung
b6f397fea7
added some VM code
2015-06-07 14:36:26 +00:00
hyunghwan.chung
5da9a789cd
added stix_invoke()
2015-06-06 07:24:35 +00:00
hyunghwan.chung
7a751d7cc0
added some vm code
2015-06-04 18:34:37 +00:00