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
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
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
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
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
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
c052501f0c
added CMD_PUSH_OBJVAR and CMD_STORE_INTO_OBJVAR
2015-06-12 13:52:30 +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
7a751d7cc0
added some vm code
2015-06-04 18:34:37 +00:00
hyunghwan.chung
dab7285c45
added partial code to parse message sending expressions
2015-06-03 17:24:11 +00:00
hyunghwan.chung
e6137a5864
interim update
2015-06-03 04:22:19 +00:00
hyunghwan.chung
03aab810b9
added more code
2015-06-01 16:59:07 +00:00
hyunghwan.chung
72d74b48de
Added partial code to compile method statements
2015-06-01 15:59:16 +00:00
hyunghwan.chung
cf029a0570
added code to handle literals
2015-05-31 16:44:56 +00:00
hyunghwan.chung
b91cd11561
added some basic code to handle a method dictionary
2015-05-28 16:51:37 +00:00
hyunghwan.chung
2e08cca9db
renamed some identifiers
2015-05-28 15:20:27 +00:00
hyunghwan.chung
3bfb434a8d
added yet more compiler code
2015-05-27 17:41:11 +00:00
hyunghwan.chung
bb3b6c4270
added more compiler code
2015-05-27 17:16:50 +00:00
hyunghwan.chung
008c74666d
still more compiler code
2015-05-26 16:31:47 +00:00
hyunghwan.chung
ca10456d3a
more compiler code
2015-05-25 18:13:52 +00:00
hyunghwan.chung
b7a443089a
written more compiler codes
2015-05-25 17:10:49 +00:00
hyunghwan.chung
f5d2a0a0aa
added some code to compile function body
2015-05-22 15:09:45 +00:00
hyunghwan.chung
9910380ebf
added more compiler code
2015-05-21 17:07:55 +00:00
hyunghwan.chung
5207347b18
added some code to process class definition
2015-05-20 15:24:37 +00:00
hyunghwan.chung
364fe63ac3
added #include handling
2015-05-20 14:27:47 +00:00
hyunghwan.chung
e2b32aafb9
improved symbol tokenization
2015-05-19 16:26:52 +00:00
hyunghwan.chung
3db3a02a7a
added lexical analysis code
2015-05-19 15:16:18 +00:00
hyunghwan.chung
b70d9a976a
added utf8 string conversion functions
2015-05-17 05:02:30 +00:00
hyunghwan.chung
090c9ac1bf
added utf8 conversion functions
2015-05-16 07:31:16 +00:00
hyunghwan.chung
75bb3e9a40
added some code for a bootstraping compiler
2015-05-15 14:55:12 +00:00
hyunghwan.chung
10661777a1
fixed a bug of not resetting the heap limit after gc.
...
added some pointer arithmetic macros.
2015-05-08 14:29:35 +00:00
hyunghwan.chung
0b97fee2c4
added many lines of code for initial loading
2015-05-07 15:58:04 +00:00
hyunghwan.chung
c74266293d
fixed wrong defintions of some macros
2015-05-04 16:48:38 +00:00
hyunghwan.chung
e637f3a1f1
switched bitfields to bit-manipulation macros
2015-05-03 17:10:30 +00:00
hyunghwan.chung
6e9a47fd5b
added some initial files
2015-04-30 15:56:05 +00:00