5ba0c67dd1
added the MAKE_BLOCK instruction to replace a serieos of PUSH_CONTEXT, PUSH_INTLIT, PUSH_INTLIT, SEND_BLOCK_COPY
hyunghwan.chung
2015-07-03 13:06:01 +00:00
37740da2d7
added PUSH_INTLIT and PUSH_NEGINTLIT instructions
hyunghwan.chung
2015-07-02 15:45:48 +00:00
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()
hyunghwan.chung
2015-07-01 15:01:39 +00:00
d6a9ca91fa
added JUMP2_FORWARD and JUMP2_BACKWARD
hyunghwan.chung
2015-07-01 07:21:54 +00:00
c233bb95a7
fixed a bug in return handling
hyunghwan.chung
2015-06-28 14:20:37 +00:00
585f0a6acc
experimented some kind of tail call optimization. but ended up with no good result yet
hyunghwan.chung
2015-06-26 15:49:08 +00:00
0427879198
cleaned up code a bit
hyunghwan.chung
2015-06-25 13:37:50 +00:00
54aa947bab
added string, character, symbol literals with c style escape sequences
hyunghwan.chung
2015-06-24 11:53:19 +00:00
dea9944270
added array and byte-array literal handling. removed CMD_EXTEND_DOUBLE and cleaned up instruction decoding a bit
hyunghwan.chung
2015-06-23 14:00:26 +00:00
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
hyunghwan.chung
2015-06-22 14:21:46 +00:00
b9ee190dec
fixed a missing reinitialization problem in the compiler
hyunghwan.chung
2015-06-21 16:22:50 +00:00
e87dbbdfcd
fixed a bug of not initializing a variable buffer length in compile_class_definition()
hyunghwan.chung
2015-06-21 14:45:45 +00:00
60591201af
fixed a bug of producing wrong argument count for a binary message. added primitives for basicSize, basicAt:, basicAt:Put:
hyunghwan.chung
2015-06-21 03:50:35 +00:00