Commit Graph

85 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 9d25be2e76 [bugfix] update prototype 2015-08-05 09:03:09 +09:00
Yuichi Nishiwaki 537e5b0eed use boxes for global variable cells 2015-08-05 08:52:28 +09:00
Yuichi Nishiwaki ee9ee2f03e add inline expansion optimization 2015-07-22 16:09:41 +09:00
Yuichi Nishiwaki 5f9a6880e2 [bugfix] rest argument does not work with local definitions 2015-07-22 16:08:54 +09:00
Yuichi Nishiwaki 51a42708b5 saner redefinition warning 2015-07-14 07:12:57 +09:00
Yuichi Nishiwaki d1e5e81580 khash doesn't need to require int32 2015-07-13 09:13:45 +09:00
Yuichi Nishiwaki d0c442d451 add picrin/opcode.h 2015-07-09 04:40:15 +09:00
Yuichi Nishiwaki 1e104921eb cache gref slot 2015-07-07 14:42:50 +09:00
Yuichi Nishiwaki 9e04a80636 add OP_GT and OP_GE 2015-07-06 19:13:00 +09:00
Yuichi Nishiwaki 7e970258f4 cleanup 2015-07-04 18:14:31 +09:00
Yuichi Nishiwaki 1a886ee50f check number of arguments at runtime 2015-07-04 18:05:57 +09:00
Yuichi Nishiwaki 1d1e41e122 refactor create_activation 2015-07-04 17:24:39 +09:00
Yuichi Nishiwaki 1c538a13f1 OP_RET's operand is no longer used 2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki b01042505f remove OP_MINUS 2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki c9245bbe84 optimize vm set operators 2015-07-02 05:59:54 +09:00
Yuichi Nishiwaki f622ba3db4 refactor codegen_call 2015-07-02 05:26:05 +09:00
Yuichi Nishiwaki 28b180ac3f split codegen function 2015-07-02 05:07:16 +09:00
Yuichi Nishiwaki 43f385760d simplify management of deferred forms 2015-07-02 04:36:21 +09:00
Yuichi Nishiwaki 0a0c94fb91 perform tail position analysis on the fly at codegen 2015-07-02 04:23:07 +09:00
Yuichi Nishiwaki 9c908b2622 cosmetic changes 2015-07-02 03:33:25 +09:00
Yuichi Nishiwaki d097a021e3 optimize begin emitter 2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki e5f7eda432 more arena freeing during compilation 2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki 849032ef1a cosmetic changes 2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki 1595be099b define emit_x functions as macros 2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki 62dbdb79dd cleanup 2015-06-30 01:13:54 +09:00
Yuichi Nishiwaki 428e006098 add symbol macro 2015-06-29 18:26:12 +09:00
Yuichi Nishiwaki 3428803bdb less consing 2015-06-27 19:19:43 +09:00
Yuichi Nishiwaki 885942b541 more cleanup 2015-06-27 19:10:15 +09:00
Yuichi Nishiwaki ddcf96f689 remove pic_proc_name (for a moment) 2015-06-27 19:02:18 +09:00
Yuichi Nishiwaki 36c498e7d7 cleanup analyzer 2015-06-27 18:48:21 +09:00
Yuichi Nishiwaki f98a5ab14d cleanup 2015-06-27 18:23:08 +09:00
Yuichi Nishiwaki 1bed1bd420 remove unnecessary error checks 2015-06-27 18:08:57 +09:00
Yuichi Nishiwaki 4d18610a79 refine error messages 2015-06-27 17:50:03 +09:00
Yuichi Nishiwaki 8c6496ef24 remvoe dead code 2015-06-27 16:44:05 +09:00
Yuichi Nishiwaki ac094a9477 cosmetic changes 2015-06-27 16:33:31 +09:00
Yuichi Nishiwaki df645b68ae more optimization 2015-06-27 15:59:22 +09:00
Yuichi Nishiwaki 03792f85de fast compile 2015-06-27 15:30:17 +09:00
Yuichi Nishiwaki 4a8e59e04b don't run malloc while anazlyze/codegen 2015-06-27 14:23:31 +09:00
Yuichi Nishiwaki 5cbb44d6b8 use khash for env 2015-06-25 07:26:48 +09:00
Yuichi Nishiwaki d500dd5d76 don't use xhash in codegen 2015-06-25 07:19:11 +09:00
Yuichi Nishiwaki 5cf1822813 use khash for dictionary impl 2015-06-25 05:56:15 +09:00
Yuichi Nishiwaki f0434a8b37 abandon xvect.h, move on to kvec.h 2015-06-23 22:08:18 +09:00
Yuichi Nishiwaki aa79797334 fix #234 2015-06-22 17:41:17 +09:00
Yuichi Nishiwaki 535cd0c21e don't reformat error message because it removes trace info 2015-06-20 02:32:25 +09:00
Yuichi Nishiwaki 7ec81ab1d5 add pic_resolve 2015-06-19 17:31:47 +09:00
Yuichi Nishiwaki 62b7c1a0f9 warn macro redefinition only when transformer object slot is being overwritten 2015-06-17 00:11:02 +09:00
Yuichi Nishiwaki cf66d600bb move macroexpander to codegen.c 2015-06-16 21:01:46 +09:00
Yuichi Nishiwaki 2e5b66fabd s/macroexpand/expand/g 2015-06-16 20:27:58 +09:00
Yuichi Nishiwaki 84a3eaee35 change eval interface: eval takes an expression and an environment
macroexpand should be done in the context in which the expansion is
running. As of now I only changed c interface of eval but should change
the scheme interface as well ASAP.
2015-06-16 19:16:06 +09:00
Yuichi Nishiwaki 454146ab52 s/rXXX/uXXX/g 2015-06-15 02:30:05 +09:00