Commit Graph

284 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 98662215e1 use pic_reg to implement pic->macros 2015-08-05 09:42:17 +09:00
Yuichi Nishiwaki 5fa24f9767 global variable table may be weak 2015-08-05 09:36:32 +09:00
Yuichi Nishiwaki 537e5b0eed use boxes for global variable cells 2015-08-05 08:52:28 +09:00
Yuichi Nishiwaki 987931bd0f add box.h 2015-08-05 08:52:28 +09:00
Yuichi Nishiwaki 261580309e clean up 2015-08-05 08:50:24 +09:00
Yuichi Nishiwaki 1a71f3f578 move regs field from pic_state to pic_heap 2015-07-26 16:48:38 +09:00
Yuichi Nishiwaki fae4e28396 shrink union header size 2015-07-23 17:10:53 +09:00
Yuichi Nishiwaki a6aa479b61 refine pic_dump_irep format 2015-07-22 16:00:30 +09:00
Yuichi Nishiwaki 2848e2fe9e improve error message 2015-07-22 15:59:04 +09:00
Yuichi Nishiwaki 7db74c4b7a rewrite gc.c with union object 2015-07-20 15:02:16 +09:00
Yuichi Nishiwaki c2754509f2 remove PIC_ENABLE_FLOAT flag 2015-07-20 02:19:41 +09:00
Yuichi Nishiwaki ebcf6d00fb set default page size to 4MB 2015-07-16 16:36:57 +09:00
Yuichi Nishiwaki 6b50ebba2b early morecore request 2015-07-16 16:34:59 +09:00
Yuichi Nishiwaki 9f3fefd606 Merge branch 'master' into api-change 2015-07-13 09:59:59 +09:00
Yuichi Nishiwaki 269f4719f4 Revert "int div int becomes float"
This reverts commit 15411c9777.
2015-07-13 09:56:59 +09:00
Yuichi Nishiwaki 15411c9777 int div int becomes float 2015-07-13 09:50:18 +09:00
Yuichi Nishiwaki ecd21ffb5a suppress unused-value warning 2015-07-13 09:45:14 +09:00
Yuichi Nishiwaki c30392b0c3 remove unused variable f 2015-07-13 09:39:26 +09:00
Yuichi Nishiwaki 6363bd3f33 remove trailing comma 2015-07-13 09:15:51 +09:00
Yuichi Nishiwaki 03550bbf41 remove semicolon outside function definition 2015-07-13 09:15:34 +09:00
Yuichi Nishiwaki d1e5e81580 khash doesn't need to require int32 2015-07-13 09:13:45 +09:00
Yuichi Nishiwaki 5635661b3c remove pic_make_str_fill 2015-07-13 09:03:32 +09:00
Yuichi Nishiwaki cbe5e81b28 remove pic_make_vec_from_list 2015-07-13 09:03:12 +09:00
Yuichi Nishiwaki 5c5066bfa0 Revert "add box type"
This reverts commit d53f0cf9e4.
2015-07-13 08:24:06 +09:00
Yuichi Nishiwaki 42ec53d73f remove pic_errmsg 2015-07-13 08:22:19 +09:00
Yuichi Nishiwaki 5c2cbb9e55 pic_load_port -> pic_load 2015-07-13 08:20:07 +09:00
Yuichi Nishiwaki 71d1d4837d pic_intern_cstr -> pic_intern 2015-07-13 08:16:04 +09:00
Yuichi Nishiwaki 81c38d8fa2 s/PICRIN_VALUE_H/PICRIN_TYPE_H/g 2015-07-13 08:10:30 +09:00
Yuichi Nishiwaki e944183e99 pic_obj_alloc_unsafe should be private 2015-07-13 08:05:46 +09:00
Yuichi Nishiwaki d0c442d451 add picrin/opcode.h 2015-07-09 04:40:15 +09:00
Yuichi Nishiwaki 2def465705 value.h -> type.h 2015-07-09 04:36:03 +09:00
Yuichi Nishiwaki 976a44185d cache slot objects 2015-07-07 15:16:00 +09:00
Yuichi Nishiwaki 1e104921eb cache gref slot 2015-07-07 14:42:50 +09:00
Yuichi Nishiwaki d53f0cf9e4 add box type 2015-07-06 21:32:42 +09:00
Yuichi Nishiwaki acc1852400 remove unused symbols 2015-07-06 19:14:18 +09:00
Yuichi Nishiwaki 9e04a80636 add OP_GT and OP_GE 2015-07-06 19:13:00 +09:00
Yuichi Nishiwaki 5e6f6f85f4 [bugfix] pic_load_point should restore pic->cc 2015-07-06 14:18:49 +09:00
Yuichi Nishiwaki f210efd066 [bugfix] (set! symbol? list) doesn't work 2015-07-04 18:48:48 +09:00
Yuichi Nishiwaki 25f80dc87d don't cons in call-with-values 2015-07-04 18:01:30 +09:00
Yuichi Nishiwaki 8ba4c0305d bugfix 2015-07-04 16:07:21 +09:00
Yuichi Nishiwaki 046fa0adad fix build 2015-07-04 15:30:02 +09:00
Yuichi Nishiwaki 07bb4a0f6b cache irep 2015-07-04 14:31:06 +09:00
Yuichi Nishiwaki 1c538a13f1 OP_RET's operand is no longer used 2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki 10522b54e9 add pic_add, pic_sub, ..., pic_eq, pic_lt, ... 2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki b01042505f remove OP_MINUS 2015-07-04 14:04:16 +09:00
Yuichi Nishiwaki 4905aab416 remove pic->file and pic->read 2015-07-02 08:50:28 +09:00
Yuichi Nishiwaki f9df81f046 remove unused symbols 2015-07-02 05:36:09 +09:00
Yuichi Nishiwaki 0a0c94fb91 perform tail position analysis on the fly at codegen 2015-07-02 04:23:07 +09:00
Yuichi Nishiwaki 6d2966e946 don't cons in pic_valuesN 2015-06-30 01:19:04 +09:00
Yuichi Nishiwaki ddcf96f689 remove pic_proc_name (for a moment) 2015-06-27 19:02:18 +09:00
Yuichi Nishiwaki d8e00f5725 don't malloc duplicated cstring 2015-06-26 02:32:59 +09:00
Yuichi Nishiwaki 33dfe2b5cc change pic_open interface 2015-06-26 02:13:48 +09:00
Yuichi Nishiwaki 9db8b33c61 abandon xhash 2015-06-25 07:58:58 +09:00
Yuichi Nishiwaki 42794ebbff use khash for reader 2015-06-25 07:34:10 +09:00
Yuichi Nishiwaki 5cbb44d6b8 use khash for env 2015-06-25 07:26:48 +09:00
Yuichi Nishiwaki 11ed51b236 use khash for registers 2015-06-25 07:14:29 +09:00
Yuichi Nishiwaki 0fb87449fc use khash for pic->syms 2015-06-25 07:05:41 +09:00
Yuichi Nishiwaki d6edf41305 kh_resize operation never fail 2015-06-25 06:39:13 +09:00
Yuichi Nishiwaki 2e1280ce5c don't use malloc/realloc/free in khash.h 2015-06-25 06:13:20 +09:00
Yuichi Nishiwaki a7475a66fe Merge branch 'master' into khash-kvec 2015-06-25 05:58:12 +09:00
Yuichi Nishiwaki 5cf1822813 use khash for dictionary impl 2015-06-25 05:56:15 +09:00
Yuichi Nishiwaki f5789c7c6f added c functions to define private varaibles. see discussion on #271 2015-06-24 02:02:26 +09:00
Yuichi Nishiwaki 07fc2bb98e cleanup 2015-06-24 01:13:18 +09:00
Yuichi Nishiwaki f0434a8b37 abandon xvect.h, move on to kvec.h 2015-06-23 22:08:18 +09:00
Yuichi Nishiwaki e2ad39074b cleanup 2015-06-23 04:01:25 +09:00
Yuichi Nishiwaki 777ba0ff6a [bugfix] don't compare continuation objects by pointers. They may be
reused when it reenters the same stack position.
2015-06-23 03:14:00 +09:00
Yuichi Nishiwaki aae1b8792a remove struct pic_picjmp 2015-06-23 03:14:00 +09:00
Yuichi Nishiwaki e730a314f4 [bugfix] memory leak of pic_checkpoint 2015-06-22 17:12:19 +09:00
Yuichi Nishiwaki 32653df178 cleanup 2015-06-19 21:21:04 +09:00
Yuichi Nishiwaki 7ec81ab1d5 add pic_resolve 2015-06-19 17:31:47 +09:00
Yuichi Nishiwaki 3021e7f2b9 add PIC_ENABLE_STDIO flag 2015-06-19 14:03:52 +09:00
Yuichi Nishiwaki 20cb77bbbe file.h is now stdio.h-free 2015-06-19 05:14:18 +09:00
Yuichi Nishiwaki a0d6c5800c add pic_open_file 2015-06-19 05:00:36 +09:00
Yuichi Nishiwaki 4bc765da65 move include of gc.h 2015-06-19 03:27:03 +09:00
Yuichi Nishiwaki 19c09ba643 move contents of util.h to compat.h 2015-06-19 03:23:07 +09:00
Yuichi Nishiwaki 10f81512d8 don't malloc pic_reader 2015-06-19 03:14:55 +09:00
Yuichi Nishiwaki db0767c931 don't malloc pic->iseq 2015-06-19 03:10:11 +09:00
Yuichi Nishiwaki 78bd3047f8 don't use global mutable variable! 2015-06-19 03:06:57 +09:00
Yuichi Nishiwaki e43a9c7881 pass pic_state object to vtable functions 2015-06-19 02:29:17 +09:00
Yuichi Nishiwaki 3df7d1dd71 use pic_malloc and pic_free in file.c 2015-06-19 02:05:56 +09:00
Yuichi Nishiwaki 2e59b6ab04 rename xfile.[ch] to file.[ch] 2015-06-19 01:11:04 +09:00
Yuichi Nishiwaki 0b66447e79 remove port->status property 2015-06-18 23:26:31 +09:00
Yuichi Nishiwaki b4c3e2cc4f small refactoring. use DEFINE_STANDARD_PORT_ACCESSOR macro to define pic_stdxx 2015-06-18 23:15:09 +09:00
Yuichi Nishiwaki 61ff69b968 remove pic->xSTDXX 2015-06-18 22:59:22 +09:00
Yuichi Nishiwaki 1d1210db09 cleanup lib.c 2015-06-17 01:52:20 +09:00
Yuichi Nishiwaki eef74604d0 add library operators 2015-06-16 22:51:05 +09:00
Yuichi Nishiwaki cf66d600bb move macroexpander to codegen.c 2015-06-16 21:01:46 +09:00
Yuichi Nishiwaki 85e8d1511b remove defer property from pic_env
explicitly pass deferred lambda list to expand functions
2015-06-16 20:57:18 +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 181d120f09 reader support of (#' #` #, #,@) 2015-06-15 02:52:37 +09:00
Yuichi Nishiwaki 3a59a95960 [WIP] replace macro expander
remove define-syntax, add define-macro instead

saner display when writing identifiers
2015-06-15 02:48:31 +09:00
Yuichi Nishiwaki 454146ab52 s/rXXX/uXXX/g 2015-06-15 02:30:05 +09:00
OGINO Masanori 2816f206fb Define GCC_VERSION in util.h temporarily.
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2015-06-12 18:59:59 +09:00
Yuichi Nishiwaki 191d3067f8 Revert "Revert "remove in-library""
This reverts commit 77d3b0b41e.
2015-06-09 23:02:06 +09:00
Yuichi Nishiwaki 98857c0726 change pic_find_rename interface 2015-06-09 22:26:21 +09:00
Yuichi Nishiwaki 6af9a3ee7d remove pic_warn 2015-06-09 22:13:46 +09:00
Yuichi Nishiwaki 30cbdd5c4f cleanup macro.h 2015-06-09 20:20:56 +09:00
Yuichi Nishiwaki 6af60c9e2b don't use static non-const local variable 2015-06-09 19:19:27 +09:00
Yuichi Nishiwaki b983c77767 use registries for parameter table 2015-06-09 18:36:39 +09:00
Yuichi Nishiwaki 111779c39e add pic_reg 2015-06-09 18:31:46 +09:00
Yuichi Nishiwaki 5185a73cd2 replace none with undef 2015-06-09 16:34:45 +09:00
Yuichi Nishiwaki 2c9a19acf5 introduce pic_invalid_value 2015-06-09 16:02:23 +09:00
Yuichi Nishiwaki 53a9e72413 optimize var implementation 2015-06-08 22:28:17 +09:00
Yuichi Nishiwaki 5def1df320 s/pic_winder/pic_checkpoint/g 2015-06-08 21:04:04 +09:00
Yuichi Nishiwaki 77d3b0b41e Revert "remove in-library"
This reverts commit 8604e18719.
2015-06-06 13:48:31 +09:00
Yuichi Nishiwaki 8604e18719 remove in-library 2015-06-04 14:17:37 +09:00
Yuichi Nishiwaki 531187bb2a speed up bytecode compilation 2015-06-04 13:53:41 +09:00
Yuichi Nishiwaki 72baa9a52d remove pic_throw function 2015-06-04 13:23:20 +09:00
Yuichi Nishiwaki 34b6585287 cleanup 2015-06-02 07:57:52 +09:00
Yuichi Nishiwaki fc957da920 add 'env' property to struct pic_proc
Using attribute to make closure from c function is unsafe because closed
variables are visible from the scheme world. Use env property instead
from now.
2015-06-02 06:53:16 +09:00
Yuichi Nishiwaki ce0c737c95 cleanup 2015-06-02 06:53:16 +09:00
Yuichi Nishiwaki 88092044d7 shrink pic_proc size 2015-06-02 06:53:16 +09:00
Yuichi Nishiwaki 5df4e4f64e rename functions related to continuation 2015-06-02 06:18:09 +09:00
Yuichi Nishiwaki dbcd81c8c1 [bugfix] calling dead escape continuation causes segv 2015-06-02 06:01:16 +09:00
Yuichi Nishiwaki 1e3bb6f1bb cleanup pic_push_try 2015-06-02 05:14:43 +09:00
Sunrim KIM (keen) 7b26e6cefe Merge branch 'master' of github.com:picrin-scheme/picrin 2015-05-31 14:25:22 +09:00
Yuichi Nishiwaki 15e61d8cd4 pic_open_library -> pic_make_library 2015-05-31 00:25:40 +09:00
Sunrim KIM (keen) 221f089716 remove prototype declaration of function macro 2015-05-30 23:45:54 +09:00
Yuichi Nishiwaki 599d8f5980 pic_senv -> pic_env 2015-05-30 22:39:03 +09:00
Yuichi Nishiwaki d0e10b49a7 pic_env -> pic_context 2015-05-30 22:34:51 +09:00
Yuichi Nishiwaki 334ceb9e7c fix bugs unveiled by the previous commit 2015-05-30 19:57:32 +09:00
Yuichi Nishiwaki 9b7eb2f996 unify all headers into picrin.h 2015-05-28 23:57:10 +09:00
Yuichi Nishiwaki fa8226e581 [bugfix] pic_debug broken in debug build 2015-05-28 23:30:55 +09:00
Yuichi Nishiwaki 00cde353ba xfile completely refactored 2015-05-28 23:28:55 +09:00
Yuichi Nishiwaki e30f1a11dc more strict unused variable check 2015-05-28 17:06:41 +09:00
Yuichi Nishiwaki d11da3a400 move complex macros from picrin.h to util.h 2015-05-28 16:54:36 +09:00
Yuichi Nishiwaki 6a692541a6 s/pic_alloc/pic_malloc/g 2015-05-28 16:42:16 +09:00
Yuichi Nishiwaki 278075910a custom allocator and custom abort 2015-05-28 02:12:26 +09:00
Yuichi Nishiwaki 304664eaf0 add libc fallback 2015-05-28 01:55:55 +09:00
Yuichi Nishiwaki 7dcd050e1a add PIC_ENABLE_FLOAT and PIC_WORD_BOXING 2015-05-28 01:48:38 +09:00
Yuichi Nishiwaki b9dde91123 allow custom setjmp/longjmp 2015-05-28 00:41:55 +09:00
Yuichi Nishiwaki 9885bdd982 explicit cast to size_t 2015-05-28 00:17:12 +09:00
Yuichi Nishiwaki 7923f947d7 don't use xstd** from benz 2015-05-28 00:14:10 +09:00
Yuichi Nishiwaki 15449354c6 switch string implementation to picrin's 2015-05-27 23:34:40 +09:00
Yuichi Nishiwaki 81be1b9e3e define pic_dump_irep only if DEBUG is defined 2015-05-27 22:10:51 +09:00
Syohei YOSHIDA 919675670f Correct cast type 2015-05-22 14:59:01 +09:00
Sunrin SHIMURA (keen) 8a7f61bf01 use correct vars 2015-02-01 12:25:48 +00:00
Yuichi Nishiwaki 154d987294 don't use C99's designated initializer 2015-01-28 00:46:51 +09:00
Yuichi Nishiwaki 32d6760d4f portable xprintf implementation 2015-01-28 00:28:54 +09:00
Yuichi Nishiwaki 914c295177 don't use variable length array 2015-01-27 13:54:41 +09:00
Yuichi Nishiwaki 03a4f1a871 don't use flexible array member 2015-01-26 23:07:27 +09:00
Yuichi Nishiwaki c1d4ea9d00 remove trailing comma 2015-01-26 23:06:52 +09:00
Yuichi Nishiwaki 9968b15264 change PIC_NAN_BOXING enabling condition 2015-01-26 22:55:59 +09:00
Yuichi Nishiwaki 0b67ec47f3 don't use indirect gotos in strict mode 2015-01-26 22:50:44 +09:00
Yuichi Nishiwaki be29b69c0c don't require c99 2015-01-26 22:50:38 +09:00
Yuichi Nishiwaki 1e8f49872e s/pic_noreturn/PIC_NORETURN/g 2015-01-26 12:22:38 +09:00
Yuichi Nishiwaki d390fc44ca add PIC_INLINE macro 2015-01-26 12:20:32 +09:00
Yuichi Nishiwaki 6bdfac4ec0 don't declare variables in middle of block 2015-01-26 11:42:24 +09:00
Yuichi Nishiwaki f7d506cd35 xvect.h is now based on kvec.h 2015-01-25 20:44:36 +09:00