add a test.
[ruby-svn.git] / doc / ChangeLog-YARV
blobc9d32916cfc0766ca62d3d2faad18cf5a6690ad9
1 # $Id: ChangeLog 590 2006-12-31 09:02:34Z ko1 $
3 # YARV ChangeLog
4 #  from Mon, 03 May 2004 01:24:19 +0900
7 Sun Dec 31 18:01:50 2006  Koichi Sasada  <ko1@atdot.net>
9         * bin/* : ruby/trunk/bin 11437
12 Sun Dec 31 17:42:05 2006  Koichi Sasada  <ko1@atdot.net>
14         * eval.c : remove old Kernel#funcall definition
17 2006-12-30(Sat) 07:59:26 +0900  Koichi Sasada  <ko1@atdot.net>
19         * catch up ruby/trunk 11437
21         * eval_intern.h : reorder tag initialization
23         * eval.c : fix to support __send!, funcall and prohibit funcall as
24         send
26         * eval_error.h, eval_jump.h, eval_safe.h : fix prototypes
28         * eval_method.h, vm.c : check re-definition at rb_add_method()
30         * yarvcore.h : fix typo
32         * compile.c : fix white spaces
34         * lib/delegate.rb : fix to support __send, ...
36         * lib/getoptlong.rb : fix to work on YARV
38         * lib/rss/parser.rb : use __send! instead of __send__
40         * sample/test.rb : comment out codes which use |&b| type block parameter
42         * ext/ripper/extconf.rb : turn off
44         * test/ripper/test_files.rb, test_parser_events.rb,
45         test_scanner_events.rb : fix to check it has ripper module
47         * vm_dump.c : remove showing file path length limitation
49         * yarvtest/test_eval.rb : use __send! instead of __send__
52 2006-12-19(Tue) 11:46:08 +0900  Koichi Sasada  <ko1@atdot.net>
54         * doc/* : added
56         * ext/openssl : added
58         * ext/ripper : added
60         * test/openssl : added
62         * test/ripper : added
64         * misc : added
66         * rb/ -> tool/ : renamed
68         * common.mk : fixed for above change
70         * ruby_doc/* : move to topdir
72         * sample/* : added
74         * test2.rb : removed
77 2006-12-15(Fri) 09:42:46 +0900  Koichi Sasada  <ko1@atdot.net>
79         * compile.c : remove obsolete codes
81         * insns.def : fix a comment of getconstant
84 2006-12-13(Wed) 16:26:06 +0900  Koichi Sasada  <ko1@atdot.net>
86         * blockinlining.c, compile.c, compile.h, debug.c, debug.h,
87         insnhelper.h, insns.def, iseq.c, thread.c, thread_pthread.ci,
88         thread_pthread.h, thread_win32.ci, thread_win32.h, vm.c, vm.h,
89         vm_dump.c, vm_evalbody.ci,  vm_opts.h.base,  yarv.h, 
90         yarv_version.h, yarvcore.c, yarvcore.h :
91         add a header includes copyright
94 2006-12-12(Tue) 13:13:32 +0900  Koichi Sasada  <ko1@atdot.net>
96         * rb/insns2vm.rb : add PREFETCH() statement
98         * vm.h : ditto
100         * yarvcore.h : fix LIKELY(x) and
101         remove main_thread_val field from yarv_vm_t
103         * yarvcore.c : ditto
105         * thread.c : support fork
107         * eval_thread.c : ditto
109         * process.c : ditto
111         * signal.c : ditto
113         * test/ruby/test_signal.rb : 
115         * thread_pthread.ci : rename timer thread functions
117         * thread_win32.ci : ditto
120 2006-11-10(Fri) 21:29:13 +0900  Koichi Sasada  <ko1@atdot.net>
122         * compile.c : fix to compile arguments
124         * insns.def : fix to duplicate first array value on concatarray
125         instruction
127         * yarvtest/test_bin.rb : add a test for above change
129         * sample/test.rb : fix to catch up Ruby HEAD (fix to remove test about
130         module duplicate)
133 2006-11-10(Fri) 12:49:11 +0900  Koichi Sasada  <ko1@atdot.net>
135         * vm_macro.def : fix to inherit visibility on
136         NODE_SUPER method invocation
139 2006-11-10(Fri) 09:13:46 +0900  Koichi Sasada  <ko1@atdot.net>
141         * class.c : revert module duplicate inclusion
143         * parse.y : catch up current Ruby HEAD
145         * node.h : ditto
147         * compile.c : ditto
149         * gc.c : ditto
151         * iseq.c : ditto
153         * eval_thread.c : define Continuation (null class)
155         * vm_dump.c : fix to output backtrae to stderr
157         * yarvtest/test_block.rb : remove unsupported test
159         * yarvtest/test_class.rb : add a test about super
161         * yarvtest/test_syntax.rb : add a test about case/when
164 2006-11-09(Thu) 10:22:59 +0900  Koichi Sasada  <ko1@atdot.net>
166         * call_cfunc.h -> call_cfunc.ci : renamed
168         * vm_evalbody.h, vm_evalbody.ci : ditto
170         * thread_pthread.h, thread_pthread.ci : separate declaration and
171         implementation
173         * thread_win32.h, thread_win32.ci : ditto
175         * thread.c : use *.ci instead of *.c as implementation
177         * vm.c : ditto
179         * common.mk : fix rules for above changes
182 2006-11-08(Wed) 17:23:23 +0900  Koichi Sasada  <ko1@atdot.net>
184         * vm_dump.c : show C level backtrace (pointer only) with
185         backtrace() function (glibc feature)
187         * configure.in : ditto
189         * yarvcore.c : add NSDR method (show C level backtrace)
191         * error.c : fix indent
194 2006-11-07(Tue) 13:17:10 +0900  Koichi Sasada  <ko1@atdot.net>
196         * eval.c (rb_set_errinfo) : added
198         * ruby.h : ditto
200         * version.h : fix version number
202         * lib/webrick/utils.rb : fix to remove Thread.critical
204         * ext/dbm, dl, gdbm, iconv, io, pty, sdbm : added
206         * test/dbm, gdbm, io, logger, net, readline, sdbm, soap, 
207           webrick, win32ole, wsdl, xsd : added
210 2006-11-06(Mon) 22:32:18 +0900  Koichi Sasada  <ko1@atdot.net>
212         * array.c : import Ruby HEAD
214         * ext/socket/extconf.rb : ditto
216         * ext/socket/socket.c : ditto
218         * gc.c : ditto
220         * lib/date.rb : ditto
222         * lib/net/imap.rb : ditto
224         * lib/rss/0.9.rb : ditto
226         * lib/set.rb : ditto
228         * lib/soap/mapping/rubytypeFactory.rb : ditto
230         * lib/soap/mimemessage.rb : ditto
232         * lib/soap/property.rb : ditto
234         * lib/webrick/httprequest.rb : ditto
236         * lib/webrick/httputils.rb : ditto
238         * lib/xmlrpc/create.rb : ditto
240         * lib/xsd/codegen/gensupport.rb : ditto
242         * object.c : ditto
244         * ruby.h : ditto
246         * string.c : ditto
248         * version.h : ditto
250         * rb/ir.rb : fix to use "diffs" directory
252         * vm_dump.c : add "const"
255 2006-11-06(Mon) 16:36:47 +0900  Koichi Sasada  <ko1@atdot.net>
257         * eval_proc.c : remove "static" from external global variables
259         * eval_thread.c : ditto
261         * array.c : fix indent
263         * insns.def : add a suitable cast
265         * vm_macro.def : allow scalar value on splat arguments
267         * yarvtest/test_block.rb : fix to synchronize Ruby HEAD
269         * rb/insns2vm.rb : remove String#each for 1.9
271         * template/vm.inc.tmpl : ditto (remove String#each_with_index)
274 2006-11-06(Mon) 13:22:34 +0900  Koichi Sasada  <ko1@atdot.net>
276         * iseq.c : fixed GC debugging outputs
278         * rb/parse.rb : fixed output format
281 2006-11-04(Sat) 09:46:50 +0900  Koichi Sasada  <ko1@atdot.net>
283         * compile.c : fix to duplicate "#{'foo'}" string
285         * yarvtest/test_bin.rb : add a test for above
287         * ext/readline/readline.c : import Ruby HEAD
289         * keywords : ditto
291         * lex.c : ditto
293         * parse.y : ditto
295         * lib/mkmf.rb : ditto
297         * test/ruby/test_hash.rb : fix to current specification
299         * test/ruby/test_string.rb : ditto
302 2006-11-03(Fri) 20:58:36 +0900  Koichi Sasada  <ko1@atdot.net>
304         * ext/nkf/nkf-utf8/utf8tbl.h : missed to add
306         * configure.in : import ruby HEAD
308         * test/ruby/test_array.rb : ditto
310         * test/ruby/test_assignment.rb : ditto
312         * test/ruby/test_clone.rb : ditto
314         * test/socket/test_socket.rb : ditto
316         * test/socket/test_unix.rb : ditto
318         * test/strscan/test_stringscanner.rb : ditto
320         * test/testunit/collector/test_dir.rb : ditto
323 2006-11-03(Fri) 20:22:24 +0900  Koichi Sasada  <ko1@atdot.net>
325         * array.c : import current ruby HEAD and apply API changes
326         This version has some known bugs
328         * bignum.c : ditto
330         * blockinlining.c : ditto
332         * class.c : ditto
334         * compile.c : ditto
336         * dir.c : ditto
338         * dln.c : ditto
340         * enum.c : ditto
342         * enumerator.c : ditto
344         * error.c : ditto
346         * eval.c : ditto
348         * eval_error.h : ditto
350         * eval_jump.h : ditto
352         * eval_load.c : ditto
354         * eval_proc.c : ditto
356         * ext/*
358         * file.c : ditto
360         * gc.c : ditto
362         * hash.c : ditto
364         * insns.def : ditto
366         * instruby.rb : ditto
368         * intern.h : ditto
370         * io.c : ditto
372         * iseq.c : ditto
374         * lib/*
376         * marshal.c : ditto
378         * math.c : ditto
380         * missing/vsnprintf.c : ditto
382         * mkconfig.rb : ditto
384         * node.h : ditto
386         * numeric.c : ditto
388         * object.c : ditto
390         * oniguruma.h : ditto
392         * pack.c : ditto
394         * parse.y : ditto
396         * prec.c : ditto
398         * process.c : ditto
400         * random.c : ditto
402         * range.c : ditto
404         * rb/ir.rb : ditto
406         * re.c : ditto
408         * regcomp.c : ditto
410         * regerror.c : ditto
412         * regexec.c : ditto
414         * regint.h : ditto
416         * regparse.c : ditto
418         * regparse.h : ditto
420         * ruby.c : ditto
422         * ruby.h : ditto
424         * rubytest.rb : ditto
426         * runruby.rb : ditto
428         * sample/test.rb : ditto
430         * signal.c : ditto
432         * sprintf.c : ditto
434         * st.c : ditto
436         * st.h : ditto
438         * string.c : ditto
440         * struct.c : ditto
442         * test/*
444         * thread.c : ditto
446         * time.c : ditto
448         * util.c : ditto
450         * variable.c : ditto
452         * version.h : ditto
454         * vm.c : ditto
456         * vm_dump.c : ditto
458         * vm_macro.def : ditto
460         * win32/*
463 2006-10-31(Tue) 22:47:50 +0900  Koichi Sasada  <ko1@atdot.net>
465         * parse.y : fix NEWHEAP bugs (import HEAD)
467         * ruby.c, intern.h, yarvcore.c (rb_load_file) : change to
468         return parsed node pointer
470         * rb/ir.rb : add check mode
473 2006-09-01(Fri) 22:05:28 +0900  Koichi Sasada  <ko1@atdot.net>
475         * compile.c : fix a bug of peephole optimization and enable
476         regexp optimization
479 2006-08-21(Mon) 05:27:48 +0900  Koichi Sasada  <ko1@atdot.net>
481         * lib/mathn.rb : remove "remove_method :gcd2"
483         * opt_insn_unif.def : unset opt setting
485         * opt_operand.def : ditto
488 2006-08-18(Fri) 17:55:31 +0900  Koichi Sasada  <ko1@atdot.net>
490         * common.mk : add dependency of yarvcore.h to thread.o
492         * gc.c : change comment line
494         * thread.c : remove some line break
496         * yarvcore.c : reoder initialize sequence to mark main thread
499 2006-08-18(Fri) 16:51:34 +0900  Koichi Sasada  <ko1@atdot.net>
501         * yarvcore.h : add a support for cache values per thread
503         * yarvcore.c : ditto
505         * gc.c : ditto
507         * thread.c : move a expression after acquiring lock
509         * compile.c : add a cast to remove warning
512 2006-08-18(Fri) 02:07:45 +0900  Koichi Sasada  <ko1@atdot.net>
514         * compile.c : fix to return rhs value on ATTRASGIN
516         * insns.def (setn) : add insn setn
518         * yarvtest/test_bin.rb : add tests for above
521 2006-08-17(Thu) 22:46:08 +0900  Koichi Sasada  <ko1@atdot.net>
523         * vm.c : clear callee_id ([yarv-dev:1073])
526 2006-08-17(Thu) 22:14:15 +0900  Koichi Sasada  <ko1@atdot.net>
528         * thread_pthread.h : fix error message
531 2006-08-17(Thu) 12:23:52 +0900  Koichi Sasada  <ko1@atdot.net>
533         * eval.c : change initilize routine order ([yarv-dev:1067])
535         * yarvcore.c (Init_yarv) : init th->machine_stack_start
537         * thread_pthread.h : add malloc value check ([yarv-dev:1066])
539         * insns.def (opt_eq) : fix typo ([yarv-dev:1072])
541         * yarvtest/test_opts.rb : add a test for above
543         * yarvtest/test_class.rb : add a test for last commit
546 2006-08-17(Thu) 11:02:16 +0900  Koichi Sasada  <ko1@atdot.net>
548         * class.c (clone_method) : check undef-ed method ([yarv-dev:1068])
551 2006-08-15(Tue) 15:07:43 +0900  Koichi Sasada  <ko1@atdot.net>
553         * insns.def : fix opt_plus routine ([yarv-dev-en:149])
555         * yarvtest/test_opts.rb : add tests for above
558 2006-08-06(Sun) 06:24:51 +0900  Koichi Sasada  <ko1@atdot.net>
560         * common.mk : fix build rule (build only ruby binary when benchmark)
562         * yarvcore.[ch] : fix and add yarv_iseq_new_with_* API
564         * blockinlining.c : ditto
566         * compile.c : ditto
568         * compile.h : ditto
570         * iseq.c : ditto
572         * eval_method.h : check redefinition for specialized instruction
574         * insnhelper.h : ditto
576         * insns.def : ditto
578         * vm.c : ditto
580         * vm.h : ditto
582         * numeric.c : add Fixnum#succ
584         * thread.c : remove duplicated method Thread#current
586         * yarvcore.c : remove duplicated method Proc#clone
588         * yarvtest/test_opts.rb : added
591 2006-07-20(Thu) 04:10:13 +0900  Koichi Sasada  <ko1@atdot.net>
593         * compile.c : fix [yarv-dev:1041] problem (raise TypeError)
595         * eval.c : rb_funcall2 send as NOEX_PRIVATE and check scope
598 2006-07-20(Thu) 03:38:46 +0900  Koichi Sasada  <ko1@atdot.net>
600         * yarvcore.c : fix [yarv-dev:1040] bug
603 2006-07-18(Tue) 18:45:52 +0900  Koichi Sasada  <ko1@atdot.net>
605         * some files : set property "svn:eol-style" as native
608 2006-07-18(Tue) 18:35:55 +0900  Koichi Sasada  <ko1@atdot.net>
610         * gc.h : fix a static function name
612         * vm.c : remove Japanese comments
614         * yarvcore.c : add a comment
616         * some files : set property "svn:eol-style" as native
619 2006-07-18(Tue) 16:48:01 +0900  Koichi Sasada  <ko1@atdot.net>
621         * vm.c : remove unused code
623         * compile.c : add checking value
625         * iseq.c : ditto
627         * yarvcore.c : fix yarv_th_eval prototype declaration
629         * yarvtest/yarvtest.rb : use compile instead of parse method
632 2006-07-12(Wed) 15:18:58 +0900  Koichi Sasada  <ko1@atdot.net>
634         * yarv_version.h : 0.4.1
636         * Changes : ditto
639 2006-07-12(Wed) 13:38:03 +0900  Koichi Sasada  <ko1@atdot.net>
641         * eval.c : fix indent
643         * gc.h : fix syntax bug
645         * thread_pthread.h : vanish warnning message
647         * iseq.c : ditto
649         * compile.c : ditto
651         * thread.c : ditto
653         * vm.c : ditto
655         * yarvcore.c : prohibit tail call optimization to mark 
656         iseq object
658         * yarvcore.h : add some allocator function declaration
660         * yarvtest/test_eval.rb : remove output
663 2006-07-12(Wed) 05:01:23 +0900  Koichi Sasada  <ko1@atdot.net>
665         * yarvcore.c : undef alloc funcs
667         * eval_proc.c : ditto (use factory faction)
669         * thread.c : ditto
671         * vm.c : ditto
673         * iseq.c : fix compile option creation
675         * rb/allload.rb : use compile_file method
677         * rb/compile.rb : ditto
679         * rb/parse.rb : ditto
681         * template/insnstbl.html : hide mail addr
684 2006-07-11(Tue) 21:34:29 +0900  Minero Aoki  <aamine@loveruby.net>
686         * test/ruby/test_dir.rb: new test test_JVN_13947696.
689 2006-07-11(Tue) 21:26:41 +0900  Minero Aoki  <aamine@loveruby.net>
691         * test/ruby/test_alias.rb: new test test_JVN_83768862.
694 2006-07-11(Tue) 11:33:49 +0900  Koichi Sasada  <ko1@atdot.net>
696         * compile.c : fix compile error on C90
699 2006-07-11(Tue) 10:40:23 +0900  Koichi Sasada  <ko1@atdot.net>
701         * disasm.c : removed
703         * iseq.c : added
705         * common.mk : ditto
707         * blockinlining.c : Get*Val => Get*Ptr
709         * eval.c : ditto
711         * yarvcore.c : ditto
713         * eval_proc.c : ditto
715         * vm_dump.c : ditto
717         * vm_macro.def : ditto
719         * signal.c : ditto
721         * vm.c : ditto
723         * thread.c : ditto
725         * compile.c : rename local variable insnobj => iobj
727         * compile.c : support yarv_compile_option_t
729         * gc.h : added
731         * insns.def : use OPT_CHECKED_RUN instead of IGNORE_OPTIMIZE
733         * rb/compile.rb : use compile option
735         * template/optinsn.inc.tmpl : fix function name
737         * vm_opts.h.base : change macros
739         * rb/insns2vm.rb : ditto
741         * yarv.h : fix yarvcore_eval_parsed parameter type
743         * yarvcore.c : fix some interfaces (functions)
745         * yarvcore.h : add a type yarv_compile_option_t
748 2006-07-06(Thu) 13:45:20 +0900  Koichi Sasada  <ko1@atdot.net>
750         * lib/yasm.rb : pass builder object if block arity == 1
753 2006-07-05(Wed) 11:23:50 +0900  Koichi Sasada  <ko1@atdot.net>
755         * lib/yasm.rb : fix method name
757         * vm.c (th_set_top_stack) : check toplevel or not
760 2006-07-04(Tue) 20:05:38 +0900  Koichi Sasada  <ko1@atdot.net>
762         * rb/compile.rb : added
764         * yarvtest/yarvtest.rb : disable load/store test
767 2006-07-04(Tue) 18:17:15 +0900  Koichi Sasada  <ko1@atdot.net>
769         * compile.c : fix some bugs about load iseq data
771         * disasm.c : ditto (store)
773         * eval.c (rb_f_local_variables) : fix bugs
775         * insns.def : fix otp_ltlt condition bug
777         * vm.c : ditto
779         * yarvcore.c : rename some functions
781         * yarvtest/yarvtest.rb : add iseq load/store tests
782         (to enable this, remove comment)
785 2006-07-03(Mon) 01:54:23 +0900  Koichi Sasada  <ko1@atdot.net>
787         * eval_thread.c : add parameter "th" to thread_set_raised
789         * yarvcore.h : ditto
791         * eval_intern.h : ditto
793         * eval.c : ditto
795         * eval_error.h : declare with ANSI style
797         * disasm.c : rename iseq_iseq2simpledata() to iseq_data_to_ary
799         * lib/yasm.rb : rename Instruction#to_simpledata to
800         Instruction#to_a
802         * yarvcore.c : ditto
804         * vm.c : fix bug (Proc.new{|*args| p args}.call(1) #=> 1)
806         * yarvtest/test_proc.rb : add a tests for above
809 2006-06-21(Wed) 09:19:06 +0900  Koichi Sasada  <ko1@atdot.net>
811         * compile.c : remove yarv_iseq_t#catch_table_ary and
812         add yarv_iseq_t#compile_data#catch_table_ary
814         * compile.h : ditto
816         * yarvcore.c : ditto
818         * yarvcore.h : ditto
820         * eval_thread.c : remove unused code
822         * thread.c : add rb_gc_mark_threads() (from eval_thread.c)
825 2006-05-31(Wed) 21:26:38 +0900  Koichi Sasada  <ko1@atdot.net>
827         * parse.y : prohibit tail call optimization to mark vparsr
828         object
831 2006-05-25(Thu) 15:37:11 +0900  Koichi Sasada  <ko1@atdot.net>
833         * blockinlining.c : support NEW_ATTRASGN node
835         * class.c : skip undefined method to collect ([yarv-dev:999])
837         * yarvtest/test_class.rb : add a test for above
839         * compile.c : fix opt_regexpmatch1 condition
841         * lib/monitor.rb : fix [yarv-dev:1009]
843         * rb/insns2vm.rb : fix typo
845         * thread.c : prohibit unlock by not mutex owner thread
847         * vm_opts.h.base : change default option
850 2006-05-18(Thu) 16:00:50 +0900  Koichi Sasada  <ko1@atdot.net>
852         * intern.h : fix prototype declarations for last re.c change
855 2006-05-18(Thu) 12:12:03 +0900  Koichi Sasada  <ko1@atdot.net>
857         * rb/runruby.rb : added
859         * thread.c (rb_thread_alone) : check if vm->living_threads
860         is available
863 2006-05-18(Thu) 12:05:35 +0900  Koichi Sasada  <ko1@atdot.net>
865         * signal.c : not mask SIGSEGV
867         * thread.c : fix debug output on Win32
869         * thread.c, thread_pthread.h : add some debug prints
871         * yarvcore.c : mark machine registers on thread_mark
874 2006-05-17(Wed) 18:09:20 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
876         * dir.c (sys_warning): should not call a vararg function
877           rb_sys_warning() indirectly.  [ruby-core:07886]
880 2006-05-17(Wed) 16:41:41 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
882         * re.c (rb_reg_initialize): should not allow modifying literal
883           regexps.  frozen check moved from rb_reg_initialize_m as well.
885         * re.c (rb_reg_initialize): should not modify untainted objects in
886           safe levels higher than 3.
888         * re.c (rb_memcmp): type change from char* to const void*.
890         * dir.c (dir_close): should not close untainted dir stream.
892         * dir.c (GetDIR): add tainted/frozen check for each dir operation.
895 2006-05-07(Sun) 21:06:28 +0900  Koichi Sasada  <ko1@atdot.net>
897         * thread.c : remove Mutex#unlock_and_stop and add Mutex#sleep
899         * lib/monitor.rb : ditto
901         * lib/thread.rb : ditto
903         * thread_pthread.h : fix stack size
905         * thread_win32.h : fix sleep
907         * yarvcore.h : disable to use get/setcontext
909         * lib/webrick/server.rb : add experimental implementation 
910         using thraeds pool
913 2006-05-05(Fri) 13:59:00 +0900  Koichi Sasada  <ko1@atdot.net>
915         * test/ruby/test_signal.rb : disable a test
917         * thread.c : do trylock before lock on mutex_lock
919         * thread_win32.h : use CriticalSection instead of Mutex
922 2006-05-05(Fri) 03:03:22 +0900  Koichi Sasada  <ko1@atdot.net>
924         * common.mk : vtune rule make run test.rb
926         * disasm.c : fix syntax errors (on VC)
928         * yarvcore.c : ditto
930         * lib/thread.rb : Mutex#synchronize is defined here
932         * lib/*.rb : ditto
934         * signal.c : separate pthread or not
936         * thread.c : support lightweight wakeup
938         * thread_pthread.h : ditto
940         * thread_win32.h : ditto
942         * yarvcore.h : ditto
944         * yarvtest/test_thread.rb : restore last change
947 2006-05-04(Thu) 18:11:43 +0900  Koichi Sasada  <ko1@atdot.net>
949         * eval_thread.c : remove rb_thread_interrupt
951         * intern.h : ditto
953         * signal.c : change signal transfer route
955         * thread.c : ditto
957         * thread_pthread.h : ditto
959         * thread_win32.h : ditto
961         * yarv.h : support GET_VM()
963         * yarvcore.h : change yarv_thread_t/yarv_vm_t structure
965         * yarvtest/test_thread.rb : decrease threads to test
968 2006-05-04(Thu) 00:26:18 +0900  Koichi Sasada  <ko1@atdot.net>
970         * thread_pthread.h : experimental support of thread cache
973 2006-04-25(Tue) 22:30:14 +0900  Koichi Sasada  <ko1@atdot.net>
975         * yarvcore.h : remove struct yarv_cmethod_info, add
976         data structure for profiling and extend yarv_control_frame_t
978         * vm.c : make pop_frame() and apply above change
980         * eval.c : ditto
982         * vm_dump.c : ditto
984         * vm_macro.def : ditto
986         * insns.def (leave): use pop_frame() instead of
987         POP_CONTROL_STACK_FRAME() macro
989         * insnhelper.h : remove some macros
991         * yarvcore.c : change th_set_top_stack() prototype
994 2006-04-18(Tue) 18:37:08 +0900  Koichi Sasada  <ko1@atdot.net>
996         * compile.c, disasm.c : support export/import exception
997         information
999         * yarvcore.h : change "struct catch_table_entry" member variable
1000         order
1003 2006-04-13(Thu) 17:11:30 +0900  Koichi Sasada  <ko1@atdot.net>
1005         * bignum.c : import ruby 1.9 HEAD (Ruby 1.9.0 2006-04-08)
1007         * dir.c : ditto
1009         * enumerator.c : ditto
1011         * ext/.document : ditto
1013         * ext/extmk.rb : ditto
1015         * ext/nkf/lib/kconv.rb : ditto
1017         * ext/nkf/nkf-utf8/nkf.c : ditto
1019         * ext/nkf/nkf-utf8/utf8tbl.c : ditto
1021         * ext/nkf/nkf.c : ditto
1023         * ext/nkf/test.rb : ditto
1025         * ext/socket/.cvsignore : ditto
1027         * ext/win32ole/sample/excel2.rb : ditto
1029         * ext/win32ole/tests/testOLEMETHOD.rb : ditto
1031         * ext/win32ole/tests/testOLEPARAM.rb : ditto
1033         * ext/win32ole/tests/testOLETYPE.rb : ditto
1035         * ext/win32ole/tests/testOLETYPELIB.rb : ditto
1037         * ext/win32ole/tests/testOLEVARIABLE.rb : ditto
1039         * ext/win32ole/tests/testOLEVARIANT.rb : ditto
1041         * ext/win32ole/tests/testWIN32OLE.rb : ditto
1043         * ext/win32ole/tests/testall.rb : ditto
1045         * ext/win32ole/win32ole.c : ditto
1047         * gc.c : ditto
1049         * instruby.rb : ditto
1051         * io.c : ditto
1053         * lib/delegate.rb : ditto
1055         * lib/fileutils.rb : ditto
1057         * lib/find.rb : ditto
1059         * lib/irb/ruby-lex.rb : ditto
1061         * lib/mkmf.rb : ditto
1063         * lib/net/http.rb : ditto
1065         * lib/open-uri.rb : ditto
1067         * lib/pathname.rb : ditto
1069         * lib/rational.rb : ditto
1071         * lib/rdoc/parsers/parse_rb.rb : ditto
1073         * lib/rdoc/ri/ri_paths.rb : ditto
1075         * lib/resolv.rb : ditto
1077         * lib/test/unit/collector/objectspace.rb : ditto
1079         * lib/webrick/httpservlet/cgihandler.rb : ditto
1081         * math.c : ditto
1083         * mkconfig.rb : ditto
1085         * object.c : ditto
1087         * oniguruma.h : ditto
1089         * pack.c : ditto
1091         * parse.y : ditto
1093         * re.c : ditto
1095         * re.h : ditto
1097         * regcomp.c : ditto
1099         * regerror.c : ditto
1101         * regparse.c : ditto
1103         * ruby.h : ditto
1105         * rubytest.rb : ditto
1107         * runruby.rb : ditto
1109         * string.c : ditto
1111         * test/digest/test_digest.rb : ditto
1113         * test/pathname/test_pathname.rb : ditto
1115         * test/ruby/envutil.rb : ditto
1117         * test/ruby/test_float.rb : ditto
1119         * test/ruby/test_pack.rb : ditto
1121         * time.c : ditto
1123         * util.c : ditto
1125         * version.h : ditto
1127         * win32/mkexports.rb : ditto
1129         * win32/resource.rb : ditto
1131         * win32/win32.c : ditto
1134 2006-04-11(Tue) 11:26:53 +0900  Koichi Sasada  <ko1@atdot.net>
1136         * rb/yasm.rb : move to lib/yasm.rb
1139 2006-04-09(Sun) 03:04:04 +0900  Koichi Sasada  <ko1@atdot.net>
1141         * compile.c : change to accept method iseq object when loading from
1142         simple data
1144         * yarvcore.c : add a debug output
1146         * rb/yasm.rb : change some interfaces
1149 2006-04-07(Fri) 20:25:03 +0900  Koichi Sasada  <ko1@atdot.net>
1151         * compile.c : fix miss about range of catch "next"
1153         * eval.c : add braces
1156 2006-04-07(Fri) 11:09:43 +0900  Koichi Sasada  <ko1@atdot.net>
1158         * common.mk : fix some make rules
1160         * insns.def : rename some instructions name
1162         * rb/insns2vm.rb : change some operand type name
1164         * vm_evalbody.h : ditto
1166         * template/insns.inc.tmpl : add YARV_MAX_INSTRUCTION_SIZE macro
1168         * compile.c, disasm.c, yarvcore.c : support load/store iseq from/to simple
1169         data structure such as array, literals, and so on
1171         * rb/yasm.rb : supported
1173         * vm.c : change interface of eval_define_method
1175         * yarvcore.h : remove unused externals
1178 2006-03-08(Wed) 10:31:29 +0900  Minero Aoki  <aamine@loveruby.net>
1180         * lib/delegate.rb (DelegateClass): do not delegate #send and
1181           #funcall.
1184 2006-02-27(Mon) 22:39:17 +0900  Minero Aoki  <aamine@loveruby.net>
1186         * lib/thread.rb: last commit causes busy loop, revert it. [yarv-dev:990]
1188         * lib/thread.rb: non_block=true wrongly caused ThreadError.
1191 2006-02-27(Mon) 21:33:49 +0900  Koichi Sasada  <ko1@atdot.net>
1193         * common.mk : fix to display command line
1195         * compile.c : fix comparison between a pointer and 0
1197         * debug.c : fix to output stder
1199         * disasm.c : add debug function
1201         * vm_dump.c : ditto
1203         * eval_proc.c : fix to skip class definition
1205         * ruby.h : fix T_VALUE to T_VALUES
1207         * gc.c : ditto
1209         * node.h : fix prototypes
1211         * vm.c : add VM_DEBUG macro
1213         * vm.c : fix compile error on VC++
1215         * vm.c : fix to inherit last lfp[0] on th_set_finish_env
1217         * vm.c : fix to add one svar location for any frame
1219         * vm_macro.def : ditto
1221         * yarvcore.h : add YARV_CLASS_SPECIAL_P() and YARV_BLOCK_PTR_P()
1223         * rdoc/ : removed
1225         * insns.def : fix to propagete throw state
1228 2006-02-27(Mon) 13:54:47 +0900  Minero Aoki  <aamine@loveruby.net>
1230         * ext/syslog: imported from Ruby CVS trunk HEAD.
1232         * ext/racc: ditto.
1235 2006-02-27(Mon) 12:47:10 +0900  Minero Aoki  <aamine@loveruby.net>
1237         * parse.y: follow coding style change.
1240 2006-02-27(Mon) 11:53:07 +0900  Minero Aoki  <aamine@loveruby.net>
1242         * lib/README: imported from Ruby CVS trunk HEAD.
1244         * lib/gserver.rb: ditto.
1246         * lib/readbytes.rb: ditto.
1248         * lib/parsearg.rb: ditto.
1250         * lib/racc: ditto.
1252         * lib/rinda: ditto.
1255 2006-02-27(Mon) 11:27:19 +0900  Minero Aoki  <aamine@loveruby.net>
1257         * lib/thread.rb (Queue#pop): faster code. [yarv-dev:973]
1259         * lib/thread.rb (Queue#pop): avoid to push same thread in to
1260           @waiting.
1263 2006-02-23(Thu) 23:32:53 +0900  Minero Aoki  <aamine@loveruby.net>
1265         * lib/open3.rb: imported from Ruby CVS trunk HEAD (rev 1.12).
1268 2006-02-23(Thu) 15:10:09 +0900  Koichi Sasada  <ko1@atdot.net>
1270         * eval.c : support rb_frame_self()
1272         * eval_intern.h (th_get_ruby_level_cfp) : return 0 if no cfp
1274         * eval_load.c : comment out scope set
1276         * yarvcore.c : fix to initialize/free process of iseq
1278         * vm.c (th_invoke_proc) : fix to set special cref always
1280         * yarvtest/test_proc.rb : add a test for above
1283 2006-02-22(Wed) 23:33:47 +0900  Koichi Sasada  <ko1@atdot.net>
1285         * common.mk : add rule "runruby"
1287         * eval_thread.c : remove obsolete comment
1289         * eval.c : remove unused functions
1291         * signal.c : ditto
1293         * gc.c : add rb_register_mark_object() and use it
1295         * eval_load.c : ditto
1297         * eval_proc.c : ditto
1299         * ext/etc/etc.c : ditto
1301         * ext/win32ole/win32ole.c : ditto
1303         * ruby.h : ditto
1305         * yarvcore.h : ditto
1307         * thread.c : add rb_thread_run_parallel()
1309         * yarvcore.c : change bootstrap
1312 2006-02-22(Wed) 19:27:33 +0900  Koichi Sasada  <ko1@atdot.net>
1314         * ext/win32ole/.cvsignore : removed
1316         * ext/win32ole/.document : ditto
1319 2006-02-22(Wed) 18:17:06 +0900  Koichi Sasada  <ko1@atdot.net>
1321         * yarvcore.c : set Binding as YARVCore::VM::Binding
1324 2006-02-22(Wed) 12:54:45 +0900  Koichi Sasada  <ko1@atdot.net>
1326         * ChangeLog : remove needless line
1329 2006-02-22(Wed) 12:49:02 +0900  Koichi Sasada  <ko1@atdot.net>
1331         * rubysig.h : remove CHECK_INTS
1333         * eval.c : ditto
1335         * eval_load.c : ditto
1337         * ext/readline/readline.c : ditto
1339         * thread.c : ditto
1341         * win32/win32.c : ditto
1343         * yarv_version.h : 0.4.0
1345         * Changes : ditto
1348 2006-02-22(Wed) 11:36:04 +0900  Koichi Sasada  <ko1@atdot.net>
1350         * test.rb : removed
1353 2006-02-22(Wed) 11:12:17 +0900  Koichi Sasada  <ko1@atdot.net>
1355         * README : renewed
1357         * version.c : fixed version message
1359         * yarvext/ : removed
1362 2006-02-22(Wed) 10:33:04 +0900  Koichi Sasada  <ko1@atdot.net>
1364         * lib/.document : imported from Ruby 1.9 HEAD
1366         * .document : ditto
1368         * ext/.document : ditto
1370         * lib/ftools.rb : ditto
1372         * lib/rdoc/ : ditto
1374         * eval_thread.c : remove unused functions
1376         * process.c : ditto
1378         * rb/insns2vm.rb : compare modified date of vm_opts.h and
1379         vm_opts.h.base
1381         * ruby.h : rename RValue to RValues
1383         * gc.c : ditto
1385         * vm.c : ditto
1388 2006-02-22(Wed) 06:32:10 +0900  Koichi Sasada  <ko1@atdot.net>
1390         * configure.in : remove last commit
1393 2006-02-22(Wed) 06:18:53 +0900  Koichi Sasada  <ko1@atdot.net>
1395         * configure.in : add default program prefix "-yarv"
1398 2006-02-22(Wed) 06:11:36 +0900  Koichi Sasada  <ko1@atdot.net>
1400         * common.mk : change default rule (same as HEAD)
1402         * configure : removed
1404         * eval.c : remove last commit
1406         * vm.c : fix stack traverse
1408         * yarvcore.c : initialize top of control frame
1410         * version.c : 2.0
1412         * version.h : ditto
1415 2006-02-22(Wed) 04:50:42 +0900  Koichi Sasada  <ko1@atdot.net>
1417         * eval.c : change to rewind C level control frame
1419         * vm.c : change to initialize cfp#proc and fix comparison of
1420         cfp and limit_cfp
1422         * yarvcore.c : remove last commit
1425 2006-02-22(Wed) 03:25:56 +0900  Koichi Sasada  <ko1@atdot.net>
1427         * yarvcore.c : initialize each stack of thread
1430 2006-02-22(Wed) 00:02:08 +0900  Koichi Sasada  <ko1@atdot.net>
1432         * thread.c : fix synchornize return value ([yarv-dev:957])
1433         and some synchornization error
1435         * thread_pthread.h : add debug helper function
1438 2006-02-21(Tue) 20:54:28 +0900  Koichi Sasada  <ko1@atdot.net>
1440         * eval.c : fix place of rb_thread_terminate_all()
1442         * eval_thread.c : remove unused functions
1444         * yarv.h : remove GET_VM()
1446         * eval_jump.h : ditto
1448         * insns.def : ditto
1450         * vm_dump.c : 
1452         * intern.h : change rb_thread_signal_raise/exit interface
1454         * signal.c : ditto
1456         * thread.c : ditto
1458         * test/ruby/test_beginendblock.rb : use block with IO.popen
1460         * thread_pthread.h : fix interrupt process
1462         * thread_win32.h : ditto
1464         * yarvcore.c : fix thread free process
1466         * yarvcore.h : remove yarv_vm_t#thread_critical, etc
1469 2006-02-21(Tue) 12:42:44 +0900  Koichi Sasada  <ko1@atdot.net>
1471         * eval_thread.c : remove unused function rb_thread_schedule()
1473         * thread.c : rename yarv_thread_schedule to rb_thread_schedule()
1475         * thread.c, eval.c : fix to terminate all thread and barrier at
1476         eval.c#ruby_cleanup()
1478         * thread_win32.h : remove native_thread_cleanup()
1480         * thread_pthread.h : ditto
1482         * yarvcore.c : ditto
1484         * yarvtest/test_thread.rb : separete assersions to tests
1487 2006-02-21(Tue) 02:13:33 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
1489         * parse.y (f_arglist): should set command_start = Qtrue for
1490           command body.  [ruby-talk:180648]
1493 2006-02-20(Mon) 20:41:07 +0900  Koichi Sasada  <ko1@atdot.net>
1495         * thread.c : fix to synchronize signal_thread_list access
1496         and fix typo
1499 2006-02-20(Mon) 17:54:58 +0900  Koichi Sasada  <ko1@atdot.net>
1501         * eval_proc.c : remove unused Binding functions and
1502         set is_lambda of Proc used define_method
1504         * yarvcore.c : support Proc#dup/clone, Binding#dup/clone
1506         * sample/test.rb : remove unsupport features (Proc as Binding)
1509 2006-02-20(Mon) 16:28:59 +0900  Koichi Sasada  <ko1@atdot.net>
1511         * common.mk : add a dependency to vm.c on eval_intern.h
1513         * eval_intern.h : fix to initialize tag->tag
1515         * yarvtest/test_jump.rb : add tests for above
1517         * eval_jump.h : use local variable
1520 2006-02-20(Mon) 15:13:24 +0900  Koichi Sasada  <ko1@atdot.net>
1522         * benchmark/bm_vm3_thread_create_join.rb : added
1524         * test/yaml/test_yaml.rb : imported from Ruby CVS trunk HEAD
1527 2006-02-20(Mon) 14:49:46 +0900  Minero Aoki  <aamine@loveruby.net>
1529         * lib/yaml.rb: imported from Ruby CVS trunk HEAD.
1531         * lib/yaml: ditto.
1533         * ext/syck: ditto.
1536 2006-02-20(Mon) 13:58:03 +0900  Koichi Sasada  <ko1@atdot.net>
1538         * compile.c : support block parameter which is NODE_ATTRASGN
1540         * yarvtest/test_block.rb : add tests for above
1542         * compile.c : fix NODE_DASGN_CURR level check
1544         * compile.c : fix "||=" (at firtst, check "defined? val")
1546         * compile.c : fix NODE_MATCH3 (permute receiver and argument)
1548         * yarvtest/test_bin.rb : add tests for above
1550         * eval.c : add rb_each()
1552         * test/ruby/test_signal.rb : increment a timeout value
1554         * thread.c, yarvcore.h : fix "join" flow
1556         * thread_pthread.h : ditto
1558         * thread_win32.h : ditto
1560         * yarvtest/test_thread.rb : add a test for above
1562         * vm.h, vm.c, vm_dump.c, insns.def : add FRAME_MAGIC_LAMBDA and
1563         support return from lambda (especially retrun from method defined
1564         by "define_method")
1566         * yarvtest/test_method.rb : add a test for above
1568         * yarvcore.c : remove unused functions
1571 2006-02-20(Mon) 11:22:31 +0900  Minero Aoki  <aamine@loveruby.net>
1573         * test/ruby/test_eval.rb: now Object#funcall is defined.
1576 2006-02-20(Mon) 11:04:32 +0900  Minero Aoki  <aamine@loveruby.net>
1578         * lib/irb/lc/ja/CVS: removed.
1581 2006-02-20(Mon) 10:55:59 +0900  Minero Aoki  <aamine@loveruby.net>
1583         * lib/mutex_m.rb: imported from Ruby CVS trunk HEAD.
1585         * lib/observer.rb: ditto.
1587         * lib/wsdl: ditto.
1589         * lib/monitor.rb: ditto (removing Thread.critical=).
1591         * lib/xsd: ditto.
1593         * lib/soap: ditto.
1595         * lib/drb.rb: ditto.
1597         * lib/drb: ditto.
1600 2006-02-20(Mon) 10:49:31 +0900  Minero Aoki  <aamine@loveruby.net>
1602         * yarvcore.c (Init_yarvcore): fix typo (duo -> dup).
1605 2006-02-19(Sun) 01:27:08 +0900  Koichi Sasada  <ko1@atdot.net>
1607         * vm.c : "return" from lambda{} break block
1609         * eval.c : Unsupport Proc as Binding
1611         * test/ruby/test_eval.rb : apply above changes
1613         * yarvcore.c : remove unused function yarv_yield_values()
1616 2006-02-18(Sat) 03:19:36 +0900  Koichi Sasada  <ko1@atdot.net>
1618         * thread.c, insns.def : fix passing value when thread killed
1620         * yarvtest/test_thread.rb : add tests for above
1623 2006-02-19(Sun) 01:19:42 +0900  Minero Aoki  <aamine@loveruby.net>
1625         * lib/thread.rb (SizedQueue): didn't work.  This patch was
1626           contributed by yukimizake. [yarv-dev:916]
1629 2006-02-18(Sat) 03:19:36 +0900  Koichi Sasada  <ko1@atdot.net>
1631         * thread.c, insns.def : fix passing value when thread killed
1633         * yarvtest/test_thread.rb : add tests for above
1636 2006-02-18(Sat) 02:40:18 +0900  Koichi Sasada  <ko1@atdot.net>
1638         * insns.def, vm.c, vm_macro.def : change BMETHOD algorithm
1639         ([yarv-dev:914])
1641         * yarvtest/test_class.rb : add a test for above
1644 2006-02-17(Fri) 23:59:51 +0900  Koichi Sasada  <ko1@atdot.net>
1646         * vm.c, yarv.h : change th_invoke_proc() interface
1648         * eval_proc.c : ditto
1650         * signal.c : ditto
1652         * thread.c : ditto
1654         * yarvcore.c : ditto
1656         * vm_macro.def : ditto and fix NODE_BMETHOD call
1658         * vm.c : change name ("th_set_env()" to "push_frame()") and
1659         change interface
1661         * insns.def : ditto
1663         * eval.c : remove proc_jump_error()
1665         * benchmark/bm_app_answer.rb : added
1667         * vm_opts.h.base : add optimize option
1670 2006-02-17(Fri) 13:37:57 +0900  Koichi Sasada  <ko1@atdot.net>
1672         * eval.c, ruby.h : add rb_errinfo()
1674         * eval_error.h (error_pos) : fix process order
1676         * bin/erb : imported from ruby 1.9
1678         * bin/irb : ditto
1680         * bin/rdoc : ditto
1682         * bin/ri : ditto
1684         * bin/testrb : ditto
1686         * ext/curses/.cvsignore : ditto
1688         * ext/curses/curses.c : ditto
1690         * ext/curses/depend : ditto
1692         * ext/curses/extconf.rb : ditto
1694         * ext/curses/hello.rb : ditto
1696         * ext/curses/mouse.rb : ditto
1698         * ext/curses/rain.rb : ditto
1700         * ext/curses/view.rb : ditto
1702         * ext/curses/view2.rb : ditto
1704         * ext/fcntl/.cvsignore : ditto
1706         * ext/fcntl/depend : ditto
1708         * ext/fcntl/extconf.rb : ditto
1710         * ext/fcntl/fcntl.c : ditto
1712         * ext/readline/README : ditto
1714         * ext/readline/README.ja : ditto
1716         * ext/readline/depend : ditto
1718         * ext/readline/extconf.rb : ditto
1720         * ext/readline/readline.c : ditto
1722         * ext/win32ole/.document : ditto
1724         * ext/zlib/doc/zlib.rd : ditto
1726         * ext/zlib/extconf.rb : ditto
1728         * ext/zlib/zlib.c : ditto
1730         * lib/cgi/.document : ditto
1732         * lib/cgi/session.rb : ditto
1734         * lib/cgi/session/pstore.rb : ditto
1736         * lib/shell/builtin-command.rb : ditto
1738         * lib/shell/command-processor.rb : ditto
1740         * lib/shell/error.rb : ditto
1742         * lib/shell/filter.rb : ditto
1744         * lib/shell/process-controller.rb : ditto
1746         * lib/shell/system-command.rb : ditto
1748         * lib/shell/version.rb : ditto
1750         * lib/xmlrpc/.document : ditto
1752         * lib/xmlrpc/README.rdoc : ditto
1754         * lib/xmlrpc/README.txt : ditto
1756         * lib/xmlrpc/base64.rb : ditto
1758         * lib/xmlrpc/client.rb : ditto
1760         * lib/xmlrpc/config.rb : ditto
1762         * lib/xmlrpc/create.rb : ditto
1764         * lib/xmlrpc/datetime.rb : ditto
1766         * lib/xmlrpc/httpserver.rb : ditto
1768         * lib/xmlrpc/marshal.rb : ditto
1770         * lib/xmlrpc/parser.rb : ditto
1772         * lib/xmlrpc/server.rb : ditto
1774         * lib/xmlrpc/utils.rb : ditto
1776         * rdoc/README : ditto
1778         * rdoc/code_objects.rb : ditto
1780         * rdoc/diagram.rb : ditto
1782         * rdoc/dot/dot.rb : ditto
1784         * rdoc/generators/chm_generator.rb : ditto
1786         * rdoc/generators/html_generator.rb : ditto
1788         * rdoc/generators/ri_generator.rb : ditto
1790         * rdoc/generators/template/chm/chm.rb : ditto
1792         * rdoc/generators/template/html/hefss.rb : ditto
1794         * rdoc/generators/template/html/html.rb : ditto
1796         * rdoc/generators/template/html/kilmer.rb : ditto
1798         * rdoc/generators/template/html/old_html.rb : ditto
1800         * rdoc/generators/template/html/one_page_html.rb : ditto
1802         * rdoc/generators/template/xml/rdf.rb : ditto
1804         * rdoc/generators/template/xml/xml.rb : ditto
1806         * rdoc/generators/xml_generator.rb : ditto
1808         * rdoc/markup/sample/rdoc2latex.rb : ditto
1810         * rdoc/markup/sample/sample.rb : ditto
1812         * rdoc/markup/simple_markup.rb : ditto
1814         * rdoc/markup/simple_markup/fragments.rb : ditto
1816         * rdoc/markup/simple_markup/inline.rb : ditto
1818         * rdoc/markup/simple_markup/lines.rb : ditto
1820         * rdoc/markup/simple_markup/preprocess.rb : ditto
1822         * rdoc/markup/simple_markup/to_flow.rb : ditto
1824         * rdoc/markup/simple_markup/to_html.rb : ditto
1826         * rdoc/markup/simple_markup/to_latex.rb : ditto
1828         * rdoc/markup/test/AllTests.rb : ditto
1830         * rdoc/markup/test/TestInline.rb : ditto
1832         * rdoc/markup/test/TestParse.rb : ditto
1834         * rdoc/options.rb : ditto
1836         * rdoc/parsers/parse_c.rb : ditto
1838         * rdoc/parsers/parse_f95.rb : ditto
1840         * rdoc/parsers/parse_rb.rb : ditto
1842         * rdoc/parsers/parse_simple.rb : ditto
1844         * rdoc/parsers/parserfactory.rb : ditto
1846         * rdoc/rdoc.rb : ditto
1848         * rdoc/ri/ri_cache.rb : ditto
1850         * rdoc/ri/ri_descriptions.rb : ditto
1852         * rdoc/ri/ri_display.rb : ditto
1854         * rdoc/ri/ri_driver.rb : ditto
1856         * rdoc/ri/ri_formatter.rb : ditto
1858         * rdoc/ri/ri_options.rb : ditto
1860         * rdoc/ri/ri_paths.rb : ditto
1862         * rdoc/ri/ri_reader.rb : ditto
1864         * rdoc/ri/ri_util.rb : ditto
1866         * rdoc/ri/ri_writer.rb : ditto
1868         * rdoc/template.rb : ditto
1870         * rdoc/tokenstream.rb : ditto
1872         * rdoc/usage.rb : ditto
1874         * test/xmlrpc/data/bug_bool.expected : ditto
1876         * test/xmlrpc/data/bug_bool.xml : ditto
1878         * test/xmlrpc/data/bug_cdata.expected : ditto
1880         * test/xmlrpc/data/bug_cdata.xml : ditto
1882         * test/xmlrpc/data/bug_covert.expected : ditto
1884         * test/xmlrpc/data/bug_covert.xml : ditto
1886         * test/xmlrpc/data/datetime_iso8601.xml : ditto
1888         * test/xmlrpc/data/fault.xml : ditto
1890         * test/xmlrpc/data/value.expected : ditto
1892         * test/xmlrpc/data/value.xml : ditto
1894         * test/xmlrpc/data/xml1.expected : ditto
1896         * test/xmlrpc/data/xml1.xml : ditto
1898         * test/xmlrpc/test_datetime.rb : ditto
1900         * test/xmlrpc/test_features.rb : ditto
1902         * test/xmlrpc/test_marshal.rb : ditto
1904         * test/xmlrpc/test_parser.rb : ditto
1906         * test/xmlrpc/test_webrick_server.rb : ditto
1908         * test/xmlrpc/webrick_testing.rb : ditto
1910         * test/zlib/test_zlib.rb : ditto
1913 2006-02-17(Fri) 09:41:35 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
1915         * thread.c (sleep_timeval): sleep should always sleep for
1916           specified amount of time.  [ruby-talk:180067]
1919 2006-02-17(Fri) 02:20:32 +0900  Koichi Sasada  <ko1@atdot.net>
1921         * eval_safe.h, ruby.h : remove ruby_safe_level and add
1922         rb_safe_level() and rb_set_safe_level_force()
1924         * eval.c : use above functions
1926         * eval_jump.h : ditto
1928         * eval_load.c : ditto
1930         * eval_method.h : ditto
1932         * eval_proc.c : ditto
1934         * eval_thread.c : ditto
1936         * gc.c : ditto
1938         * signal.c : ditto
1940         * variable.c : ditto
1942         * ext/win32ole/win32ole.c : ditto
1944         * vm.c (th_invoke_proc) : save and restore safe level
1946         * yarvtest/test_proc.rb : add tests for above
1948         * thread.c : remove unused functions
1951 2006-02-17(Fri) 01:08:23 +0900  Koichi Sasada  <ko1@atdot.net>
1953         * compile.c, insns.def : remove a setspecial second unused operand
1955         * eval_load.c : remove unused variable th
1957         * eval_proc.c, yarvcore.c : remove some functions from eval_proc.c
1958         and move to yarvcore.c
1960         * insns.def : fix to delete warnings
1962         * sample/test.rb : comment out Proc#clone tests
1964         * version.c : add constant RUBY_VM_DATE
1966         * vm.c : fix some functions
1969 2006-02-16(Thu) 22:58:27 +0900  Koichi Sasada  <ko1@atdot.net>
1971         * insns.def, vm.c : use th_yield_setup_args at yield and Proc#call
1974 2006-02-16(Thu) 19:51:52 +0900  Koichi Sasada  <ko1@atdot.net>
1976         * compile.c : fix analysis of block parameter
1978         * disasm.c : remove rb_bug() (temporarily)
1980         * insns.def, vm.c : fix passing block parameter
1982         * sample/test.rb : add "Proc = YARVCore::VM::Proc"
1984         * test/ruby/test_readpartial.rb : disable on mswin32
1986         * test/socket/test_tcp.rb : ditto
1988         * thread.c : fix syntax error (for non GCC)
1991 2006-02-15(Wed) 22:34:04 +0900  Koichi Sasada  <ko1@atdot.net>
1993         * eval_method.h : move rb_clear_cache_by_id position
1995         * thread.c : fix Thread#kill
1997         * test/ruby/test_readpartial.rb : enable tests except cygwin version
1999         * test/ruby/test_signal.rb : ditto and enable timeout
2002 2006-02-15(Wed) 22:13:29 +0900  Minero Aoki  <aamine@loveruby.net>
2004         * lib/runit: forgot to commit.
2007 2006-02-15(Wed) 22:12:25 +0900  Minero Aoki  <aamine@loveruby.net>
2009         * lib/weakref.rb: do not use Thread.critical=.
2011         * lib/singleton.rb: ditto.
2013         * lib/timeout.rb: ditto.
2015         * lib/thread.rb: ditto.
2017         * test/inlinetest.rb: forgot to commit.
2020 2006-02-15(Wed) 21:34:17 +0900  Minero Aoki  <aamine@loveruby.net>
2022         * test/test_pp.rb: imported from Ruby CVS trunk HEAD.
2024         * test/test_shellwords.rb: ditto.
2026         * test/test_set.rb: ditto.
2028         * test/test_time.rb: ditto.
2030         * test/test_ipaddr.rb: ditto.
2032         * test/test_prettyprint.rb: ditto.
2034         * test/test_tsort.rb: ditto.
2036         * test/strscan: ditto.
2038         * test/testunit: ditto.
2041 2006-02-15(Wed) 20:03:21 +0900  Koichi Sasada  <ko1@atdot.net>
2043         * eval_method.h : duplicate NODE_METHOD at make an alias
2045         * yarvtest/test_method.rb : add a test for above
2048 2006-02-15(Wed) 19:48:59 +0900  Minero Aoki  <aamine@loveruby.net>
2050         * test/rss: imported from Ruby CVS trunk HEAD.
2053 2006-02-15(Wed) 19:47:51 +0900  Koichi Sasada  <ko1@atdot.net>
2055         * insns.def, compile.c, vm.c : remove methoddef, singletonmethoddef
2056         instructions and make new insn definemethod
2058         * yarvcore.c : set toplevel visibility to private
2061 2006-02-15(Wed) 17:39:16 +0900  Koichi Sasada  <ko1@atdot.net>
2063         * eval_intern.h : 
2065         * eval_jump.h, vm.c : localjump_error() and jump_tag_but_local_jump()
2066         move to th_localjump_error and th_jump_tag_but_local_jump at vm.c
2068         * eval.c : ditto
2070         * eval_load.c : ditto
2072         * insns.def : ditto
2074         * vm.c : ditto
2076         * vm.c (th_make_jump_tag_but_local_jump) : added
2078         * opt_insn_unif.def : fix indnet (revert change)
2080         * opt_operand.def : ditto
2082         * rb/insns2vm.rb : fix error message
2084         * thread.c : raise exception at join if illegal local jump
2087 2006-02-15(Wed) 14:21:45 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
2089         * ChangeLog: add local variables line to support Emacs.
2091         * eval.c (rb_obj_instance_exec): add new method from 1.9.
2093         * eval.c (rb_mod_module_exec): ditto.
2095         * eval.c (yield_under_i): should not pass self as an argument to
2096           the block for instance_eval.  [ruby-core:07364]
2098         * eval.c (rb_obj_instance_eval): should be no singleton classes for
2099           true, false, and nil.  [ruby-dev:28186]
2102 2006-02-14(Tue) 19:30:20 +0900  Koichi Sasada  <ko1@atdot.net>
2104         * array.c : fix indent
2106         * eval.c : fix block_given
2108         * gc.c : add STACK_START and use it as a substitute for
2109         rb_gc_stack_start
2111         * vm.c : fix to raise error if th_yield doesn't have block given
2113         * yarvcore.c : fix to skip iseq mark array at ObjectSpace.each_object
2116 2006-02-14(Tue) 18:15:03 +0900  Koichi Sasada  <ko1@atdot.net>
2118         * configure.in : enable pthread by deafult
2120         * ascii.c : import ruby 1.9 HEAD
2122         * bignum.c : ditto
2124         * compar.c : ditto
2126         * configure : ditto
2128         * defines.h : ditto
2130         * dln.c : ditto
2132         * dln.h : ditto
2134         * enum.c : ditto
2136         * enumerator.c : ditto
2138         * euc_jp.c : ditto
2140         * ext/win32ole/tests/testWIN32OLE.rb : ditto
2142         * ext/win32ole/win32ole.c : ditto
2144         * file.c : ditto
2146         * hash.c : ditto
2148         * io.c : ditto
2150         * lex.c : ditto
2152         * lib/irb/init.rb : ditto
2154         * lib/rexml/document.rb : ditto
2156         * main.c : ditto
2158         * marshal.c : ditto
2160         * math.c : ditto
2162         * missing.h : ditto
2164         * object.c : ditto
2166         * oniguruma.h : ditto
2168         * pack.c : ditto
2170         * process.c : ditto
2172         * random.c : ditto
2174         * range.c : ditto
2176         * rb/ir.rb : ditto
2178         * re.c : ditto
2180         * regcomp.c : ditto
2182         * regenc.c : ditto
2184         * regenc.h : ditto
2186         * regerror.c : ditto
2188         * regexec.c : ditto
2190         * regint.h : ditto
2192         * regparse.c : ditto
2194         * regparse.h : ditto
2196         * ruby.c : ditto
2198         * ruby.h : ditto
2200         * rubyio.h : ditto
2202         * sjis.c : ditto
2204         * sprintf.c : ditto
2206         * st.c : ditto
2208         * st.h : ditto
2210         * struct.c : ditto
2212         * test/ruby/envutil.rb : ditto
2214         * test/ruby/test_struct.rb : ditto
2216         * time.c : ditto
2218         * utf8.c : ditto
2220         * util.c : ditto
2222         * util.h : ditto
2224         * version.h : ditto
2226         * win32/Makefile.sub : ditto
2228         * win32/win32.c : ditto
2231 2006-02-14(Tue) 16:40:01 +0900  Koichi Sasada  <ko1@atdot.net>
2233         * yarvcore.c, eval_proc.c : fix rb_proc_arity
2235         * eval.c : declare funcall same as send (temporarily)
2237         * lib/thread.rb : added
2239         * test/pathname/test_pathname.rb : imported from ruby 1.9
2241         * test/scanf/data.txt : ditto
2243         * test/scanf/test_scanf.rb : ditto
2245         * test/scanf/test_scanfblocks.rb : ditto
2247         * test/scanf/test_scanfio.rb : ditto
2249         * test/socket/test_socket.rb : ditto
2251         * test/socket/test_tcp.rb : ditto
2253         * test/socket/test_udp.rb : ditto
2255         * test/socket/test_unix.rb : ditto
2257         * test/stringio/test_stringio.rb : ditto
2259         * test/uri/test_common.rb : ditto
2261         * test/uri/test_ftp.rb : ditto
2263         * test/uri/test_generic.rb : ditto
2265         * test/uri/test_http.rb : ditto
2267         * test/uri/test_ldap.rb : ditto
2269         * test/uri/test_mailto.rb : ditto
2272 2006-02-14(Tue) 15:59:28 +0900  Koichi Sasada  <ko1@atdot.net>
2274         * thread.c : Change Thread.critical warnning message
2276         * lib/webrick.rb : imported from ruby 1.9
2278         * lib/webrick/accesslog.rb : ditto
2280         * lib/webrick/cgi.rb : ditto
2282         * lib/webrick/compat.rb : ditto
2284         * lib/webrick/config.rb : ditto
2286         * lib/webrick/cookie.rb : ditto
2288         * lib/webrick/htmlutils.rb : ditto
2290         * lib/webrick/httpauth.rb : ditto
2292         * lib/webrick/httpauth/authenticator.rb : ditto
2294         * lib/webrick/httpauth/basicauth.rb : ditto
2296         * lib/webrick/httpauth/digestauth.rb : ditto
2298         * lib/webrick/httpauth/htdigest.rb : ditto
2300         * lib/webrick/httpauth/htgroup.rb : ditto
2302         * lib/webrick/httpauth/htpasswd.rb : ditto
2304         * lib/webrick/httpauth/userdb.rb : ditto
2306         * lib/webrick/httpproxy.rb : ditto
2308         * lib/webrick/httprequest.rb : ditto
2310         * lib/webrick/httpresponse.rb : ditto
2312         * lib/webrick/https.rb : ditto
2314         * lib/webrick/httpserver.rb : ditto
2316         * lib/webrick/httpservlet.rb : ditto
2318         * lib/webrick/httpservlet/abstract.rb : ditto
2320         * lib/webrick/httpservlet/cgi_runner.rb : ditto
2322         * lib/webrick/httpservlet/cgihandler.rb : ditto
2324         * lib/webrick/httpservlet/erbhandler.rb : ditto
2326         * lib/webrick/httpservlet/filehandler.rb : ditto
2328         * lib/webrick/httpservlet/prochandler.rb : ditto
2330         * lib/webrick/httpstatus.rb : ditto
2332         * lib/webrick/httputils.rb : ditto
2334         * lib/webrick/httpversion.rb : ditto
2336         * lib/webrick/log.rb : ditto
2338         * lib/webrick/server.rb : ditto
2340         * lib/webrick/ssl.rb : ditto
2342         * lib/webrick/utils.rb : ditto
2344         * lib/webrick/version.rb : ditto
2347 2006-02-14(Tue) 14:55:51 +0900  Koichi Sasada  <ko1@atdot.net>
2349         * compile.c, insns.def : support "defined?($1)", ...
2351         * yarvtest/test_syntax.rb : add a test for above
2353         * rb/makedocs.rb : fix template directory path
2355         * vm.c : fix to handle break from proc
2358 2006-02-14(Tue) 12:42:59 +0900  Koichi Sasada  <ko1@atdot.net>
2360         * eval.c : fix rb_iterate hook
2362         * yarvtest/test_block.rb : add a tests for above
2364         * vm.c : remove unused comment
2367 2006-02-14(Tue) 12:01:06 +0900  Koichi Sasada  <ko1@atdot.net>
2369         * eval.c : fix to check passed block at block_given_p
2371         * eval_proc.c : fix to pass block at Method#call
2373         * runruby.rb : fix to apply ruby
2375         * test/runner.rb : GC.stress (comment out)
2377         * vm.c : fix indnet
2380 2006-02-14(Tue) 08:04:33 +0900  Minero Aoki  <aamine@loveruby.net>
2382         * lib/tempfile.rb: use Mutex instead of Thread.critical.
2384         * lib/rss/dublincore.rb: |x,| -> |x,_| to avoid YARV bug (tmp).
2386         * lib/rexml: imported from ruby CVS trunk HEAD.
2388         * test/digest: ditto.
2390         * test/fileutils: ditto.
2392         * test/ostruct: ditto.
2394         * test/erb: ditto.
2396         * test/optparse: ditto.
2398         * test/ruby/test_signal.rb: turn off a test to avoid unknown error
2399           (tmp).
2402 2006-02-14(Tue) 07:52:03 +0900  Minero Aoki  <aamine@loveruby.net>
2404         * test/digest: imported from ruby CVS trunk HEAD.
2406         * test/fileutils: ditto.
2408         * test/ostruct: ditto.
2410         * test/erb: ditto.
2412         * test/optparse: ditto.
2415 2006-02-14(Tue) 06:26:21 +0900  Koichi Sasada  <ko1@atdot.net>
2417         * compile.c, parse.y : support BEGIN{} (remove local scope)
2419         * test/ruby/beginmainend.rb : fix to apply YARV's specification
2421         * test/ruby/test_beginendblock.rb : enable BEGIN{} test
2423         * signal.c : exit at double segv
2425         * insns.def (preexe) : remove instruction "preexe"
2428 2006-02-14(Tue) 05:53:56 +0900  Minero Aoki  <aamine@loveruby.net>
2430         * eval.c (ruby_cleanup): th->errinfo contains a NODE while
2431           break'ing, check it before refering klass.
2434 2006-02-14(Tue) 05:45:07 +0900  Koichi Sasada  <ko1@atdot.net>
2436         * insns.def : fix stack calc of send
2438         * sample/test.rb : remove SEGV causing code
2441 2006-02-14(Tue) 02:24:21 +0900  Minero Aoki  <aamine@loveruby.net>
2443         * test/ruby/test_module.rb: list order is not a matter.
2445         * test/csv: imported from ruby CVS trunk HEAD.
2448 2006-02-14(Tue) 02:06:25 +0900  Minero Aoki  <aamine@loveruby.net>
2450         * test/ruby/test_beginendblock.rb: unlock tests.
2452         * test/ruby/beginmainend.rb: new file (imported from ruby CVS
2453           trunk HEAD).
2455         * test/ruby/endblockwarn.rb: new file (imported from ruby CVS
2456           trunk HEAD).
2458         * test/ruby/test_file.rb: new file (imported from ruby CVS trunk
2459           HEAD).
2462 2006-02-14(Tue) 01:42:11 +0900  Koichi Sasada  <ko1@atdot.net>
2464         * error.c : fix include file positon
2466         * test/ruby/test_signal.rb : skip test_exit_action on cygwin
2469 2006-02-14(Tue) 01:36:57 +0900  Minero Aoki  <aamine@loveruby.net>
2471         * test/ruby/test_class.rb: new file (imported from rubicon).
2474 2006-02-14(Tue) 01:32:23 +0900  Minero Aoki  <aamine@loveruby.net>
2476         * test/ruby/test_module.rb: ignore PP mixins.
2479 2006-02-14(Tue) 01:24:56 +0900  Minero Aoki  <aamine@loveruby.net>
2481         * test/ruby/test_lambda.rb: removed (->(){...} syntax is
2482           obsolete).
2485 2006-02-14(Tue) 01:20:54 +0900  Minero Aoki  <aamine@loveruby.net>
2487         * test/ruby/test_module.rb: import many tests from rubicon.
2490 2006-02-14(Tue) 01:06:57 +0900  Koichi Sasada  <ko1@atdot.net>
2492         * compile.c : fix to avoid stack consistency error
2494         * yarvtest/test_exception.rb : add a test for above
2497 2006-02-14(Tue) 00:42:47 +0900  Koichi Sasada  <ko1@atdot.net>
2499         * yarvcore.h, vm_macro.def : rename VM_CALL_SUPER to VM_CALL_SUPER_BIT
2501         * insns.def (send) : set a flag of super as fcall
2503         * yarvtest/test_class.rb : add a test for above
2506 2006-02-14(Tue) 00:31:24 +0900  Minero Aoki  <aamine@loveruby.net>
2508         * test/ruby/test_eval.rb: fix typo.
2510         * test/ruby/test_signal.rb: unlock tests.
2513 2006-02-13(Mon) 23:53:27 +0900  Koichi Sasada  <ko1@atdot.net>
2515         * insns.def, vm_macro.def : fix NODE_ZSUPER dispatch and
2516         fix error message when super without suitable method ([yarv-dev:846])
2518         * yarvcore.h : add VM_CALL_SUPER definition
2520         * yarvtest/test_method.rb : add a test of Module#private_class_method
2523 2006-02-13(Mon) 22:49:42 +0900  Koichi Sasada  <ko1@atdot.net>
2525         * insns.def : traverse all iseq to find super method ([yarv-dev:859])
2527         * yarvtest/test_class.rb : add a test for above
2529         * yarvcore.c : add clear iseq->defined_method_id
2531         * signal.c : fix to prohibit double segv handler kicked
2534 2006-02-13(Mon) 22:09:12 +0900  Koichi Sasada  <ko1@atdot.net>
2536         * compile.c : support NODE_DECL, NODE_CLASS with NODE_CLON3 prefix
2538         * yarvtest/test_class.rb : add tests for above
2541 2006-02-13(Mon) 21:20:57 +0900  Koichi Sasada  <ko1@atdot.net>
2543         * compile.c : fix indent
2545         * compile.c : fix to prohibit "redo" from eval expression
2548 2006-02-13(Mon) 20:36:06 +0900  Koichi Sasada  <ko1@atdot.net>
2550         * vm.c : fix constant search bug ([yarv-dev:788])
2552         * yarvtest/test_class.rb : add a test of [yarv-dev:788]
2555 2006-02-13(Mon) 18:09:28 +0900  Koichi Sasada  <ko1@atdot.net>
2557         * test/ruby/test_clone.rb : enable tests with Class#clone
2559         * test/ruby/test_marshal.rb : ditto
2562 2006-02-13(Mon) 17:42:37 +0900  Koichi Sasada  <ko1@atdot.net>
2564         * class.c : support Class#clone
2566         * compile.c, insns.def : remove popcref
2568         * yarvcore.h, vm.c, insns.def : remove yarv_thread_t#cref_stack
2570         * eval.c, eval_intern.h, eval_load.c : ditto
2572         * yarvtest/test_class.rb : add tests for singleton class
2574         * gc.c : remove "FRAME *" unused variable
2576         * insnhelper.h : fix COPY_CREF
2578         * rb/mklog.rb : add default message
2580         * vm_macro.def : support NODE_ZSUPER as method type
2583 2006-02-13(Mon) 00:11:17 +0900  Koichi Sasada  <ko1@atdot.net>
2585         * blockinlining.c : refoctoring with CFLAGS+=-Wunused
2587         * eval.c : ditto
2589         * eval_intern.h : ditto
2591         * eval_load.c : ditto
2593         * eval_method.h : ditto
2595         * eval_proc.c : ditto
2597         * eval_thread.c : ditto
2599         * insns.def : ditto
2601         * parse.y : ditto
2603         * thread.c : ditto
2605         * vm.c : ditto
2608 2006-02-13(Mon) 02:32:34 +0900  Minero Aoki  <aamine@loveruby.net>
2610         * test/ruby/test_const.rb: show better message.
2612         * test/ruby/test_eval.rb: ditto.
2614         * test/ruby/test_module.rb: new file.
2617 2006-02-12(Sun) 22:22:35 +0900  Koichi Sasada  <ko1@atdot.net>
2619         * array.c : revert last commit
2621         * ascii.c : ditto 
2623         * bignum.c : ditto 
2625         * class.c : ditto 
2627         * compar.c : ditto 
2629         * defines.h : ditto 
2631         * dir.c : ditto 
2633         * dln.c : ditto 
2635         * dln.h : ditto 
2637         * enum.c : ditto 
2639         * enumerator.c : ditto 
2641         * error.c : ditto 
2643         * euc_jp.c : ditto 
2645         * file.c : ditto 
2647         * gc.c : ditto 
2649         * hash.c : ditto 
2651         * intern.h : ditto 
2653         * io.c : ditto 
2655         * lex.c : ditto 
2657         * main.c : ditto 
2659         * marshal.c : ditto 
2661         * math.c : ditto 
2663         * missing.h : ditto 
2665         * node.h : ditto 
2667         * numeric.c : ditto 
2669         * object.c : ditto 
2671         * oniguruma.h : ditto 
2673         * pack.c : ditto 
2675         * prec.c : ditto 
2677         * process.c : ditto 
2679         * random.c : ditto 
2681         * range.c : ditto 
2683         * rb/mklog.rb : ditto 
2685         * re.c : ditto 
2687         * regcomp.c : ditto 
2689         * regenc.c : ditto 
2691         * regenc.h : ditto 
2693         * regerror.c : ditto 
2695         * regex.h : ditto 
2697         * regexec.c : ditto 
2699         * regint.h : ditto 
2701         * regparse.c : ditto 
2703         * regparse.h : ditto 
2705         * ruby.c : ditto 
2707         * ruby.h : ditto 
2709         * rubyio.h : ditto 
2711         * rubysig.h : ditto 
2713         * signal.c : ditto 
2715         * sjis.c : ditto 
2717         * sprintf.c : ditto 
2719         * st.c : ditto 
2721         * st.h : ditto 
2723         * string.c : ditto 
2725         * struct.c : ditto 
2727         * time.c : ditto 
2729         * utf8.c : ditto 
2731         * util.c : ditto 
2733         * util.h : ditto 
2735         * variable.c : ditto 
2737         * version.c : ditto 
2740 2006-02-12(Sun) 21:33:10 +0900  Koichi Sasada  <ko1@atdot.net>
2742         * array.c : fix to ruby's indent
2744         * ascii.c : ditto
2746         * bignum.c : ditto
2748         * blockinlining.c : ditto
2750         * call_cfunc.h : ditto
2752         * class.c : ditto
2754         * compar.c : ditto
2756         * compile.c : ditto
2758         * compile.h : ditto
2760         * debug.c : ditto
2762         * debug.h : ditto
2764         * defines.h : ditto
2766         * dir.c : ditto
2768         * disasm.c : ditto
2770         * dln.c : ditto
2772         * dln.h : ditto
2774         * enum.c : ditto
2776         * enumerator.c : ditto
2778         * error.c : ditto
2780         * euc_jp.c : ditto
2782         * eval.c : ditto
2784         * eval_error.h : ditto
2786         * eval_intern.h : ditto
2788         * eval_jump.h : ditto
2790         * eval_load.c : ditto
2792         * eval_method.h : ditto
2794         * eval_proc.c : ditto
2796         * eval_safe.h : ditto
2798         * eval_thread.c : ditto
2800         * file.c : ditto
2802         * gc.c : ditto
2804         * hash.c : ditto
2806         * insnhelper.h : ditto
2808         * insns.def : ditto
2810         * intern.h : ditto
2812         * io.c : ditto
2814         * lex.c : ditto
2816         * main.c : ditto
2818         * marshal.c : ditto
2820         * math.c : ditto
2822         * missing.h : ditto
2824         * node.h : ditto
2826         * numeric.c : ditto
2828         * object.c : ditto
2830         * oniguruma.h : ditto
2832         * opt_insn_unif.def : ditto
2834         * opt_operand.def : ditto
2836         * pack.c : ditto
2838         * prec.c : ditto
2840         * process.c : ditto
2842         * random.c : ditto
2844         * range.c : ditto
2846         * re.c : ditto
2848         * re.h : ditto
2850         * regcomp.c : ditto
2852         * regenc.c : ditto
2854         * regenc.h : ditto
2856         * regerror.c : ditto
2858         * regex.h : ditto
2860         * regexec.c : ditto
2862         * regint.h : ditto
2864         * regparse.c : ditto
2866         * regparse.h : ditto
2868         * ruby.c : ditto
2870         * ruby.h : ditto
2872         * rubyio.h : ditto
2874         * rubysig.h : ditto
2876         * signal.c : ditto
2878         * sjis.c : ditto
2880         * sprintf.c : ditto
2882         * st.c : ditto
2884         * st.h : ditto
2886         * string.c : ditto
2888         * struct.c : ditto
2890         * test.rb : ditto
2892         * thread.c : ditto
2894         * thread_pthread.h : ditto
2896         * thread_win32.h : ditto
2898         * time.c : ditto
2900         * utf8.c : ditto
2902         * util.c : ditto
2904         * util.h : ditto
2906         * variable.c : ditto
2908         * version.c : ditto
2910         * vm.c : ditto
2912         * vm.h : ditto
2914         * vm_dump.c : ditto
2916         * vm_evalbody.h : ditto
2918         * vm_macro.def : ditto
2920         * yarv.h : ditto
2922         * yarv_version.h : ditto
2924         * yarvcore.c : ditto
2926         * yarvcore.h : ditto
2929 2006-02-12(Sun) 15:53:21 +0900  Koichi Sasada  <ko1@atdot.net>
2931         * lib/abbrev.rb : added
2933         * lib/base64.rb : ditto
2935         * lib/cgi-lib.rb : ditto
2937         * lib/csv.rb : ditto
2939         * lib/date2.rb : ditto
2941         * lib/eregex.rb : ditto
2943         * lib/ipaddr.rb : ditto
2945         * lib/irb.rb : ditto
2947         * lib/irb/cmd/chws.rb : ditto
2949         * lib/irb/cmd/fork.rb : ditto
2951         * lib/irb/cmd/help.rb : ditto
2953         * lib/irb/cmd/load.rb : ditto
2955         * lib/irb/cmd/nop.rb : ditto
2957         * lib/irb/cmd/pushws.rb : ditto
2959         * lib/irb/cmd/subirb.rb : ditto
2961         * lib/irb/completion.rb : ditto
2963         * lib/irb/context.rb : ditto
2965         * lib/irb/ext/change-ws.rb : ditto
2967         * lib/irb/ext/history.rb : ditto
2969         * lib/irb/ext/loader.rb : ditto
2971         * lib/irb/ext/math-mode.rb : ditto
2973         * lib/irb/ext/multi-irb.rb : ditto
2975         * lib/irb/ext/save-history.rb : ditto
2977         * lib/irb/ext/tracer.rb : ditto
2979         * lib/irb/ext/use-loader.rb : ditto
2981         * lib/irb/ext/workspaces.rb : ditto
2983         * lib/irb/extend-command.rb : ditto
2985         * lib/irb/frame.rb : ditto
2987         * lib/irb/help.rb : ditto
2989         * lib/irb/init.rb : ditto
2991         * lib/irb/input-method.rb : ditto
2993         * lib/irb/lc/error.rb : ditto
2995         * lib/irb/lc/help-message : ditto
2997         * lib/irb/lc/ja/CVS/Entries : ditto
2999         * lib/irb/lc/ja/CVS/Repository : ditto
3001         * lib/irb/lc/ja/CVS/Root : ditto
3003         * lib/irb/lc/ja/error.rb : ditto
3005         * lib/irb/lc/ja/help-message : ditto
3007         * lib/irb/locale.rb : ditto
3009         * lib/irb/notifier.rb : ditto
3011         * lib/irb/output-method.rb : ditto
3013         * lib/irb/ruby-lex.rb : ditto
3015         * lib/irb/ruby-token.rb : ditto
3017         * lib/irb/slex.rb : ditto
3019         * lib/irb/version.rb : ditto
3021         * lib/irb/workspace.rb : ditto
3023         * lib/irb/ws-for-case-2.rb : ditto
3025         * lib/irb/xmp.rb : ditto
3027         * lib/jcode.rb : ditto
3029         * lib/logger.rb : ditto
3031         * lib/mailread.rb : ditto
3033         * lib/mathn.rb : ditto
3035         * lib/parsedate.rb : ditto
3037         * lib/pathname.rb : ditto
3039         * lib/ping.rb : ditto
3041         * lib/pstore.rb : ditto
3043         * lib/resolv-replace.rb : ditto
3045         * lib/resolv.rb : ditto
3047         * lib/rss.rb : ditto
3049         * lib/rss/0.9.rb : ditto
3051         * lib/rss/1.0.rb : ditto
3053         * lib/rss/2.0.rb : ditto
3055         * lib/rss/content.rb : ditto
3057         * lib/rss/converter.rb : ditto
3059         * lib/rss/dublincore.rb : ditto
3061         * lib/rss/image.rb : ditto
3063         * lib/rss/maker.rb : ditto
3065         * lib/rss/maker/0.9.rb : ditto
3067         * lib/rss/maker/1.0.rb : ditto
3069         * lib/rss/maker/2.0.rb : ditto
3071         * lib/rss/maker/base.rb : ditto
3073         * lib/rss/maker/content.rb : ditto
3075         * lib/rss/maker/dublincore.rb : ditto
3077         * lib/rss/maker/image.rb : ditto
3079         * lib/rss/maker/syndication.rb : ditto
3081         * lib/rss/maker/taxonomy.rb : ditto
3083         * lib/rss/maker/trackback.rb : ditto
3085         * lib/rss/parser.rb : ditto
3087         * lib/rss/rexmlparser.rb : ditto
3089         * lib/rss/rss.rb : ditto
3091         * lib/rss/syndication.rb : ditto
3093         * lib/rss/taxonomy.rb : ditto
3095         * lib/rss/trackback.rb : ditto
3097         * lib/rss/utils.rb : ditto
3099         * lib/rss/xml-stylesheet.rb : ditto
3101         * lib/rss/xmlparser.rb : ditto
3103         * lib/rss/xmlscanner.rb : ditto
3105         * lib/rubyunit.rb : ditto
3107         * lib/scanf.rb : ditto
3109         * lib/shell.rb : ditto
3111         * lib/singleton.rb : ditto
3113         * lib/tsort.rb : ditto
3115         * lib/weakref.rb : ditto
3117         * eval_jump.c : removed
3120 2006-02-12(Sun) 15:39:09 +0900  Koichi Sasada  <ko1@atdot.net>
3122         * parse.y : fix to remove including env.h
3124         * yarvtest/test_exception.rb : fix syntax (add 'end')
3127 2006-02-12(Sun) 15:14:44 +0900  Koichi Sasada  <ko1@atdot.net>
3129         * env.h : removed
3131         * common.mk : remove env.h dependency
3133         * compile.c, eval_intern.h : remove include env.h
3135         * vm.c : ditto
3137         * ruby.h, gc.c, error.c : remove T_SCOPE, T_VARMAP
3139         * parse.y, eval.c : use rb_parse_in_eval() instead of ruby_in_eval
3141         * yarvcore.c, yarvcore.h : add a prase_in_eval member to yarv_thread_t
3143         * insns.def : add push value to throw instruction
3144         for stack consistency
3146         * yarvtest/test_exception.rb : add a test for above
3148         * test/ruby/test_gc.rb : fix typo
3151 2006-02-12(Sun) 05:05:02 +0900  Koichi Sasada  <ko1@atdot.net>
3153         * eval.c, eval_intern.h, eval_load.c, eval_proc.c, node.h,
3154         insnhelper.h, insns.def, vm.c, yarvcore.c, yarvcore.h : 
3155         change cref data structure and unify ruby_class and ruby_cbase
3156         and some refoctoring
3159 2006-02-11(Sat) 23:41:11 +0900  Koichi Sasada  <ko1@atdot.net>
3161         * insns.def (methoddef) : fix method declaration in method
3163         * thread.c : Thread.critical to show warning (no effect)
3166 2006-02-11(Sat) 20:20:18 +0900  Koichi Sasada  <ko1@atdot.net>
3168         * insns.def : fix [yarv-dev:831]
3170         * yarvtest/test_class.rb : add a test for above
3173 2006-02-11(Sat) 14:29:01 +0900  Koichi Sasada  <ko1@atdot.net>
3175         * rb/mklog.rb : use svk
3177         * error.c : remove newline
3179         * eval.c (rb_block_call) : added
3181         * eval_thread.c : remove some unused functions, comments
3183         * thread.c : add comments (move from eval_thread.c) and support Mutex
3185         * thread.c (rb_thread_select) : supported
3187         * thread_pthread.h (native_mutex_trylock) : added (macro)
3189         * thread_win32.h (native_mutex_trylock) : added
3191         * yarvcore.c : remove unused code
3193         * array.c : import ruby 1.9
3195         * compar.c : ditto
3197         * dln.c : ditto
3199         * enum.c : ditto
3201         * enumerator.c : ditto
3203         * ext/digest/digest.c : ditto
3205         * ext/digest/digest.h : ditto
3207         * ext/digest/sha2/sha2.c : ditto
3209         * ext/etc/etc.c : ditto
3211         * ext/win32ole/win32ole.c : ditto
3213         * hash.c : ditto
3215         * intern.h : ditto
3217         * io.c : ditto
3219         * main.c : ditto
3221         * missing.h : ditto
3223         * missing/flock.c : ditto
3225         * missing/isinf.c : ditto
3227         * missing/vsnprintf.c : ditto
3229         * lib/cgi.rb : ditto
3231         * lib/complex.rb : ditto
3233         * lib/delegate.rb : ditto
3235         * lib/erb.rb : ditto
3237         * lib/fileutils.rb : ditto
3239         * lib/matrix.rb : ditto
3241         * lib/mkmf.rb : ditto
3243         * lib/optparse.rb : ditto
3245         * lib/ostruct.rb : ditto
3247         * lib/pp.rb : ditto
3249         * lib/timeout.rb : ditto
3251         * lib/tmpdir.rb : ditto
3253         * lib/test/unit/autorunner.rb : ditto
3255         * node.h : ditto
3257         * object.c : ditto
3259         * parse.y : ditto
3261         * ruby.c : ditto
3263         * sample/test.rb : ditto
3265         * sprintf.c : ditto
3267         * st.c : ditto
3269         * test/ruby/test_whileuntil.rb : ditto
3271         * test/runner.rb : ditto
3273         * time.c : ditto
3275         * lib/net/.document : added
3277         * lib/net/ftp.rb : ditto
3279         * lib/net/http.rb : ditto
3281         * lib/net/https.rb : ditto
3283         * lib/net/imap.rb : ditto
3285         * lib/net/pop.rb : ditto
3287         * lib/net/protocol.rb : ditto
3289         * lib/net/smtp.rb : ditto
3291         * lib/net/telnet.rb : ditto
3293         * lib/open-uri.rb : ditto
3296 2006-02-10(Fri) 08:07:34 +0900  Koichi Sasada  <ko1@atdot.net>
3298         * compile.c, insns.def, yarvcore.h : support defined?(private_method) and
3299         defined?(protected_method) (separate DEFINE_METHOD / DEFINE_FUNC)
3301         * yarvtest/test_syntax.rb : add a test for above
3303         * compile.c (iseq_compile_each) : fix NODE_RETURN bug
3304         (double ensure invoke)
3306         * yarvtest/test_flow.rb : add a test for above
3308         * eval.c (get_errinfo) : fix to search $!
3310         * yarvtest/test_exception.rb : add tests for above
3312         * eval_safe.h : support $SAFE
3314         * ext/socket/socket.c : import ruby 1.9
3316         * gc.c (gc_mark_children) : fix making T_VALUE
3318         * test/ruby/test_gc.rb : use GC.stress
3320         * signal.c (sighandler) : send interrupt signal if thread blocked
3322         * test/ruby/test_proc.rb : remove assert false
3324         * test/ruby/test_readpartial.rb : change fail message
3326         * test/ruby/test_signal.rb : remove assert false
3328         * thread.c (thread_start_func_2) : set local_lfp/local_svar
3329         at thread creation
3331         * thread_pthread.h : export native_thread_interrupt
3333         * thread_win32.h : export native_thread_interrupt
3335         * version.h : import ruby 1.9
3337         * vm.c (lfp_svar), yarvcore.h : fix to use Thread local svar
3339         * yarvtest/test_thread.rb : add a test for above
3341         * win32/Makefile.sub : import ruby 1.9
3343         * win32/dir.h : ditto
3345         * win32/setup.mak : ditto
3347         * win32/win32.c : ditto
3349         * yarvtest/yarvtest.rb : fix to remove using ARGV
3352 2006-02-10(Fri) 01:04:58 +0900  Yukihiro Matsumoto  <matz@ruby-lang.org>
3354         * gc.c (rb_gc_call_finalizer_at_exit): turn on during_gc while
3355           invoking finalizers.
3357         * gc.c (rb_gc_finalize_deferred): ditto.
3360 2006-02-08(Wed) 23:17:44 +0900  Minero Aoki  <aamine@loveruby.net>
3362         * test/ruby/test_proc.rb: method names were wrongly duplicated.
3365 2006-02-08(Wed) 21:30:01 +0900  Minero Aoki  <aamine@loveruby.net>
3367         * ext/nkf: added (imported from ruby CVS trunk HEAD).
3369         * ext/nkf/depend: new file (rev 1.5).
3371         * ext/nkf/extconf.rb: new file (rev 1.2).
3373         * ext/nkf/nkf.c: new file (rev 1.12).
3375         * ext/nkf/test.rb: new file (rev 1.7).
3377         * ext/nkf/nkf-utf8/nkf.c: new file (rev 1.17).
3379         * ext/nkf/nkf-utf8/config.h: new file (rev 1.4).
3381         * ext/nkf/nkf-utf8/utf8tbl.c: new file (rev 1.6).
3383         * ext/nkf/lib/kconv.rb: new file (rev 1.13).
3385         * test/nkf: added (imported from ruby CVS trunk HEAD).
3387         * test/nkf/test_kconv.rb: new file (rev 1.1).
3389         * test/nkf/test_nkf.rb: new file (rev 1.1).
3392 2006-02-08(Wed) 21:07:36 +0900  Minero Aoki  <aamine@loveruby.net>
3394         * lib/find.rb: new file (imported from ruby CVS trunk HEAD,
3395           rev 1.15).
3398 2006-02-07(Tue) 17:58:18 +0900  Koichi Sasada  <ko1@atdot.net>
3400         * compile.c, insns.def : support BEGIN{} and add preexe instruction
3402         * insns.def : fix getspecial/setspecial instructions
3403         to catch up svar change
3405         * test/ruby/test_system.rb : remove stopper
3407         * thread.c (rb_thread_fd_writable) : add a debug output
3409         * thread.c (rb_thread_wait_fd) : add a debug output
3411         * vm.c (lfp_svar) : refactoring and fix some problems
3413         * vm_dump.c (yarv_bug) : add branch
3415         * yarv.h : remove unused declarations
3417         * yarvcore.c (vm_free) : VM object should not free by GC
3420 2006-02-07(Tue) 14:42:25 +0900  Koichi Sasada  <ko1@atdot.net>
3422         * eval.c, eval_load.c : remove rb_thread_start_1()
3424         * eval.c : fix some prototypes and indents
3426         * eval_thread.c, thread.c : move some functions
3427         from eval_thread.c to thread.c
3429         * signal.c (sighandler) : add line braek in error message
3431         * yarvcore.c, yarvcore.h, thread.c : support ThreadGroup
3433         * ruby.h, gc.c, vm.c : make new basic type RValue and T_VALUE.
3434         RValue includes three values in itself.  RValue is used as
3435         svar
3438 2006-02-06(Mon) 23:51:41 +0900  Minero Aoki  <aamine@loveruby.net>
3440         * test/ruby/test_hash.rb: import many tests from rubicon.
3443 2006-02-04(Sat) 18:36:41 +0900  Minero Aoki  <aamine@loveruby.net>
3445         * test/ruby/test_array.rb: import many tests from rubicon.
3448 2006-02-04(Sat) 17:47:44 +0900  Minero Aoki  <aamine@loveruby.net>
3450         * test/ruby/test_signal.rb (test_exit_action): lib/timeout.rb is
3451           not implemented yet.
3454 2006-02-04(Sat) 17:42:31 +0900  Minero Aoki  <aamine@loveruby.net>
3456         * test/ruby/test_readpartial.rb: lib/timeout.rb is not implemented
3457           yet.
3460 2006-02-04(Sat) 16:22:38 +0900  Minero Aoki  <aamine@loveruby.net>
3462         * test/ruby/test_pipe.rb: remove useless require.
3464         * test/ruby/test_signal.rb: turn off the test case which causes
3465           segmentation fault (tmp).
3468 2006-02-04(Sat) 08:19:50 +0900  Koichi Sasada  <ko1@atdot.net>
3470         * common.mk : add dependency to yarvcore.h on signal.o
3472         * compile.c (iseq_compile_each) : fix [yarv-dev:795] problem
3473         (prohibit "break", "next" jump from eval)
3475         * eval.c : fix indent
3477         * eval_thread.c, thread.c : remove some functions and move to thread.c
3479         * insns.def, vm.c : fix [yarv-dev:799] and [yarv-dev:800]
3481         * yarvtest/test_class.rb : add a test for above
3483         * test/ruby/test_gc.rb : remove GC.debug_flag control
3485         * test/ruby/test_readpartial.rb : disable
3487         * test/ruby/test_signal.rb : disable
3489         * thread.c : fix thread_debug() and many bugs
3491         * thread.c (yarv_thread_s_new) : move living_threads setting
3493         * thread.c (yarv_thread_join) : fix
3495         * thread_pthread.h : add type native_thread_data_t (dummy)
3496         and support interrupt blocking thread
3498         * thread_pthread.h (native_thread_apply_priority) : added
3500         * thread_win32.h : add type native_thread_data_t (dummy)
3501         and support interrupt blocking thread
3503         * yarvcore.h : use win32 thread system on cygwin and fix
3504         some struct members
3506         * yarvtest/test_thread.rb : added
3509 2006-02-03(Fri) 00:08:09 +0900  Minero Aoki  <aamine@loveruby.net>
3511         * test/ruby/test_string.rb: import many tests from rubicon.
3514 2006-02-02(Thu) 23:20:13 +0900  Minero Aoki  <aamine@loveruby.net>
3516         * test/ruby/envutil.rb: new file (imported from ruby trunk HEAD).
3518         * test/ruby/marshaltestlib.rb: ditto.
3520         * test/ruby/test_array.rb: ditto.
3522         * test/ruby/test_beginendblock.rb: ditto.
3524         * test/ruby/test_clone.rb: ditto.
3526         * test/ruby/test_dir.rb: ditto.
3528         * test/ruby/test_env.rb: ditto.
3530         * test/ruby/test_file.rb: ditto.
3532         * test/ruby/test_float.rb: ditto.
3534         * test/ruby/test_fnmatch.rb: ditto.
3536         * test/ruby/test_hash.rb: ditto.
3538         * test/ruby/test_io.rb: ditto.
3540         * test/ruby/test_marshal.rb: ditto.
3542         * test/ruby/test_math.rb: ditto.
3544         * test/ruby/test_pack.rb: ditto.
3546         * test/ruby/test_path.rb: ditto.
3548         * test/ruby/test_pipe.rb: ditto.
3550         * test/ruby/test_rand.rb: ditto.
3552         * test/ruby/test_range.rb: ditto.
3554         * test/ruby/test_readpartial.rb: ditto.
3556         * test/ruby/test_regexp.rb: ditto.
3558         * test/ruby/test_settracefunc.rb: ditto.
3560         * test/ruby/test_signal.rb: ditto.
3562         * test/ruby/test_sprintf.rb: ditto.
3564         * test/ruby/test_string.rb: ditto.
3566         * test/ruby/test_stringchar.rb: ditto.
3568         * test/ruby/test_struct.rb: ditto.
3570         * test/ruby/test_symbol.rb: ditto.
3572         * test/ruby/test_system.rb: ditto.
3574         * test/ruby/test_time.rb: ditto.
3576         * test/ruby/ut_eof.rb: ditto.
3579 2006-02-02(Thu) 22:53:44 +0900  Minero Aoki  <aamine@loveruby.net>
3581         * test/ruby/test_proc.rb: test [yarv-dev:777].
3584 2006-02-01(Wed) 03:51:39 +0900  Koichi Sasada  <ko1@atdot.net>
3586         * gc.c : add GC.debug_flag= method
3588         * insns.def : support method definition in method
3590         * yarvtest/test_method.rb : add tests for above
3593 2006-01-29(Sun) 11:40:26 +0900  Koichi Sasada  <ko1@atdot.net>
3595         * eval_proc.c (proc_alloc) : fix [yarv-dev:777]
3597         * yarvtest/test_proc.rb : add a test for above
3599         * insns.def : fix [yarv-dev:782] and add YARV_CHECK_INTS()
3601         * yarvtest/test_class.rb : add a test for above
3603         * thread_win32.h : fix [yarv-dev-en:23]
3605         * vm.c (th_call0) : add YARV_CHECK_INTS()
3608 2006-01-09(Mon) 11:56:34 +0900  Minero Aoki  <aamine@loveruby.net>
3610         * yarvcore.h: add prototype (remove warning).
3612         * vm.c (th_invoke_proc): make save variables volatile.
3614         * eval.c (eval): initialize local variables (remove warnings).
3616         * eval_thread.c (rb_exec_recursive): ditto.
3618         * yarvcore.c (thread_mark): ditto.
3620         * vm.c (th_invoke_proc): ditto.
3622         * eval.c: remove useless prototypes.
3625 2006-01-09(Mon) 10:25:12 +0900  Minero Aoki  <aamine@loveruby.net>
3627         * eval_thread.c: rb_thread_join is required to build ruby on
3628           Linux.
3630         * compile.c: unify coding style.
3632         * yarvcore.c: ditto.
3635 2006-01-06(Fri) 09:21:34 +0900  Minero Aoki  <aamine@loveruby.net>
3637         * vm.c: coding style change only.
3640 2006-01-04(Wed) 14:12:47 +0900  Koichi Sasada  <ko1@atdot.net>
3642         * eval.c (ruby_init), eval_intern.h : use POP_TAG_INIT() at bootstrap
3644         * eval_thread.c : remove unused functions and comments
3646         * intern.h : expose rb_make_exception()
3648         * signal.c : support signal
3650         * thread.c (yarv_thread_execute_interrupts) : added
3652         * thread_pthread.h (thread_timer) : set interrupt_flag of
3653         current runnning threads
3655         * vm.c (th_invoke_proc) : jump with JUMP_TAG() if some exception
3656         occurres
3658         * yarv.h : add yarv_set_current_running_thread_raw() for bootstrap
3660         * yarvcore.c : add yarv_segv() and segv() method for test
3662         * yarvcore.c (Init_yarvcore) : set yarv_thread_t#running_thread
3664         * yarvcore.h : fix yarv_thread_t members
3667 2006-01-03(Tue) 22:25:04 +0900  Koichi Sasada  <ko1@atdot.net>
3669         * disasm.c (insn_operand_intern) : fix to add child iseq
3671         * eval.c, gc.c : remove obsolete static variables (ruby_scope,
3672         ruby_dyna_vars, ruby_frame)
3674         * eval.c (rb_mod_s_constants) : use ruby_cref()
3676         * eval.c (eval) : use th_restore_klass()
3678         * eval_proc.c (rb_f_binding) : use th_store_klass()
3680         * insns.def (concatarray) : fix insn ([expr, *nil] => [expr])
3682         * vm.c (th_set_env), insnhelper.h : remove macro
3684         * vm.c (eval_get_cvar_base) : use get_cref
3686         * vm.c (th_make_proc) : use th_store_klass()
3688         * vm_macro.def (macro_eval_invoke_func) : fix option args size
3690         * vm_macro.def (macro_eval_invoke_func) : raise stack overflow error
3692         * yarvcore.h : add yarv_stored_klass_t type
3694         * yarvcore.c : fix mark functions around yarv_stored_klass_t
3697 2006-01-01(Sun) 05:14:26 +0900  Minero Aoki  <aamine@loveruby.net>
3699         * lib/benchmark.rb: new file (imported from original ruby, rev
3700           1.10).
3703 2006-01-01(Sun) 03:51:10 +0900  Minero Aoki  <aamine@loveruby.net>
3705         * yarvcore.c: add prototype.
3707         * re.c: remove warning: long -> unsigned long.
3709         * debug.c: adjust coding style.
3711         * yarv.h: ditto.
3714 2006-01-01(Sun) 03:43:33 +0900  Minero Aoki  <aamine@loveruby.net>
3716         * variable.c: add prototype.
3718         * eval.c: ditto.
3720         * eval_load.c: ditto.
3723 2006-01-01(Sun) 02:41:21 +0900  Koichi Sasada  <ko1@atdot.net>
3725         * common.mk : add address analyse to vtune rule
3727         * rb/vtlh.rb : added for above
3729         * rb/insns2vm.rb, template/vm.inc.tmpl : insert #line directive
3730         to reference above
3732         * vm_macro.def (macro_eval_invoke_cfunc) : fix indent
3734         * yarvtest/test_method.rb : fix indent, spacing
3735         and add a test for alias
3738 2005-12-31(Sat) 12:42:05 +0900  Koichi Sasada  <ko1@atdot.net>
3740         * common.mk : add Intel VTune rule (make vtune)
3742         * eval.c, yarvcore.h : fix to remove yarv_thread_t#local_*
3744         * parse.y (top_local_init_gen) : fix a problem ([yarv-dev:765])
3746         * yarvtest/test_eval.rb : add a test for above
3748         * vm.c (thread_eval) :remove unused function
3750         * yarvcore.c (Init_yarvcore) : remove YARVCore::Thread::eval method
3752         * yarvcore.c (thread_eval) : remove unused function
3755 2005-12-31(Sat) 06:05:00 +0900  Koichi Sasada  <ko1@atdot.net>
3757         * vm.c (eval_search_super_klass) : pass block to method missing
3759         * vm_macro.def (macro_eval_invoke_method) : ditto
3761         * yarvtest/test_method.rb : add a test for above
3764 2005-12-31(Sat) 03:11:14 +0900  Koichi Sasada  <ko1@atdot.net>
3766         * eval.c (eval), eval_proc.c (rb_f_binding) : save klass, etc to
3767         binding and use it at eval
3769         * eval_intern.h : ditto
3771         * yarvtest/test_eval.rb : add tests for above
3773         * yarvcore.c (th_get_special_cref) : added
3775         * yarvcore.h : add a prototype of above
3777         * vm.c (th_get_cref) : refactoring
3779         * vm.c (eval_get_ev_const) : fix SEGV at A::B (A is not class/module)
3780         ([yarv-dev:758])
3782         * yarvtest/test_bin.rb : add a test for above
3784         * rb/mklog.rb : use external diff command and show function name
3787 2005-12-30(Fri) 19:07:51 +0900  Koichi Sasada  <ko1@atdot.net>
3789         * yarvcore.c, yarvcore.h, eval.c, eval_proc.c : support
3790         Ruby's Binding
3792         * yarvcore.c : support TOPLEVEL_BINDING
3794         * yarvtest/test_eval.rb : add tests for above
3797 2005-12-30(Fri) 13:12:28 +0900  Minero Aoki  <aamine@loveruby.net>
3799         * test/ruby/test_eval.rb: more tests for
3800           module_eval/instance_eval.
3803 2005-12-30(Fri) 05:06:49 +0900  Koichi Sasada  <ko1@atdot.net>
3805         * common.mk : add dependency (yarvcore.h) for gc.c
3807         * eval.c, eval_intern.h, eval_load.c, eval_method.h,
3808         insns.def, insnhelper.h, vm.c, yarvcore.c, yarvcore.h :
3809         re-write class reference
3811         * yarvtest/test_eval.rb : added
3813         * yarvtest/test_proc.rb : 
3816 2005-12-29(Thu) 12:27:12 +0900  Koichi Sasada  <ko1@atdot.net>
3818         * compile.c, yarvcore.h :
3819         remvoe needless yarv_iseq_t#rewind_frame_size
3822 2005-12-29(Thu) 11:17:58 +0900  Koichi Sasada  <ko1@atdot.net>
3824         * common.mk : add dependency to test-all rule
3826         * eval.c (rb_sourceline), vm.c (th_get_sourceline) :
3827         fix to skip process if iseq is ifunc
3829         * test/ruby/test_lambda.rb : assert(fail, ...) instead of assert_fail
3831         * test/ruby/test_proc.rb : ditto
3833         * vm_dump.c : fix stack dump (iseq name)
3835         * vm_macro.def : store proc (block proc) to cfp#proc for GC mark
3837         * yarvcore.c : mark above on thread_mark
3839         * eval.c (exec_under) : replace block#self ([yarv-dev:751])
3842 2005-12-29(Thu) 01:56:46 +0900  Koichi Sasada  <ko1@atdot.net>
3844         * vm.c : fix setting of Proc cref ([yarv-dev:741])
3846         * yarvcore.c : fix indent
3849 2005-12-29(Thu) 00:17:03 +0900  Koichi Sasada  <ko1@atdot.net>
3851         * disasm.c : show (block) local variable simple (not as symbol)
3853         * gc.c : fix syntax error
3856 2005-12-28(Wed) 23:35:06 +0900  Koichi Sasada  <ko1@atdot.net>
3858         * class.c (method_entry) : fixed for undefed method ([yarv-dev:743])
3860         * compile.c : fix errinfo dvar id (#$!)
3861         and fix NODE_ERRINFO compilation
3863         * eval_proc.c, yarvcore.c : support YARVCore::VM::Proc.new
3865         * insns.def : remove useless TODO comments
3867         * insns.def : fix to use strict array conversion on
3868         checkarrayinclude
3870         * insns.def : fix defined?(yield) ([yarv-dev:744])
3872         * yarvcore.h : change yarv_iseq_t layout
3875 2005-12-28(Wed) 16:49:55 +0900  Minero Aoki  <aamine@loveruby.net>
3877         * test/ruby/test_eval.rb: add TODO comment.
3879         * test/ruby/test_iterator.rb: rename YARVCore::VM::Proc -> Proc
3880           (tmp).
3882         * test/ruby/test_lambda.rb: use assert_fail.
3884         * test/ruby/test_proc.rb: ditto.
3887 2005-12-28(Wed) 16:28:35 +0900  Minero Aoki  <aamine@loveruby.net>
3889         * test/ruby/test_clone.rb: removed (tmp).
3891         * test/ruby/test_eval.rb: define missing method Object#funcall
3892           (tmp).
3894         * test/ruby/test_lambda.rb: turn off tests for "->".
3896         * test/ruby/test_proc.rb: turn off tests for |&b|.
3898         * test/ruby/test_proc.rb: turn off tests for $SAFE setter.
3901 2005-12-28(Wed) 15:31:46 +0900  Koichi Sasada  <ko1@atdot.net>
3903         * compile.c : fix calculation of stack_max
3905         * eval.c (rb_iter) : fix block/retry handling
3907         * yarvtest/test_flow.rb : add tests for above
3909         * insns.def : fix block passing on super (super(&nil))
3911         * vm_macro.def, insns.def : fix convert method of object to array
3913         * yarvtest/test_method.rb : fix a test for above
3915         * vm.c : fix backtrace generate algorithm
3918 2005-12-28(Wed) 10:36:45 +0900  Koichi Sasada  <ko1@atdot.net>
3920         * compile.c, compile.h : refactoring (remove self passing, etc)
3922         * disasm.c : support showing ID of method/dynamic local variables
3924         * rb/allload.rb : add verbose version (it's enable by $DEBUG)
3926         * template/insns.inc.tmpl, template/insns_info.inc.tmpl,
3927         template/minsns.inc.tmpl, template/opt_sc.inc.tmpl,
3928         template/optinsn.inc.tmpl, template/optunifs.inc.tmpl,
3929         template/vmtc.inc.tmpl : fix a comment
3931         * variable.c (mod_av_set) : fix to clear inline cache ([yarv-dev:720])
3933         * eval_method.h : fix to clear inline method cache
3935         * vm.c, rb/insns2vm.rb, template/insns_info.inc.tmpl, compile.c,
3936         insns.def, vm_evalbody.h, vm_macro.def :
3937         fix operands types (ulong -> num_t, ...)
3939         * vm_macro.def : fix to check SPECIAL_CONST_P() at splat array
3940         ([yarv-dev:722])
3942         * yarvcore.c : fix to throw syntax error
3944         * yarvcore.h, eval.c, eval_error.h, eval_jump.h :
3945         add yarv_vm_t#exit_code to fix problem at cleanup ([yarv-dev:723])
3947         * insns.def : fix to invoke zsuper in method defined by define_method
3948         ([yarv-dev:704])
3950         * yarvtest/test_class.rb : add tests for above
3952         * yarvtest/test_method.rb : fix comments
3955 2005-12-27(Tue) 01:52:07 +0900  Koichi Sasada  <ko1@atdot.net>
3957         * array.c, intern.h, insns.def : expose rb_ary_replace and use it
3958         in insns.def
3960         * eval.c : fix to use SCOPE_* to NOEX_*
3962         * eval_intern.h : remove SCOPE_*
3963         and fix SCOPE_TEST() and SCOPE_SET(f)
3965         * eval_load.c : save and store klass and visibility
3966         at require and load
3968         * eval_method.h : fix undefed method node ([yarv-dev-en:8])
3970         * eval_proc.c : fix define_method ([yarv-dev:704])
3972         * insnhelper.h, vm.h : remove GET_VM_STATE_VERSION(),
3973         INC_VM_STATE_VERSION() and move these to vm.h
3975         * insns.def : supportintg visibility
3977         * node.h : remove NOEX_RECV
3979         * variable.c, vm.c : add rb_vm_change_state() and use it in
3980         remove_const
3982         * vm.c, insns.def, yarvcore.h, yarvcore.c : add eval_push_cref(),
3983         eval_pop_cref() and th_cref_init to manage current visibility
3985         * yarv.h : add a prototype of rb_vm_change_state()
3987         * yarvcore.h, insns.def : add defined_method_id and support
3988         super in define_method scope
3990         * yarvtest/test_class.rb : add tests for above
3993 2005-12-26(Mon) 20:44:38 +0900  Minero Aoki  <aamine@loveruby.net>
3995         * test/ruby/test_basicinstructions.rb: new file.
3998 2005-12-26(Mon) 08:40:02 +0900  Koichi Sasada  <ko1@atdot.net>
4000         * vm.c (eval_get_ev_const) : fix to skip nil
4003 2005-12-26(Mon) 08:27:15 +0900  Koichi Sasada  <ko1@atdot.net>
4005         * insnhelper.h : fix GET_CVAR_EV_KLASS [yarv-dev:703]
4008 2005-12-26(Mon) 07:51:01 +0900  Koichi Sasada  <ko1@atdot.net>
4010         * compile.c : add emptstack insn for all NODE_RETURN
4011         and optimize it if it's not needed
4013         * yarvtest/test_flow.rb : add a test for above
4016 2005-12-26(Mon) 07:08:22 +0900  Koichi Sasada  <ko1@atdot.net>
4018         * eval.c, gc.c : add "gc_debug_flag" to debug gc
4020         * insns.def : add emptstack
4022         * compile.c, rb/insns2vm.rb, template/insns_info.inc.tmpl :
4023         change interface of insn_stack_increase
4025         * compile.c : fix return from ensure in method [yarv-dev:702]
4027         * yarvtest/test_flow.rb : add tests for above
4030 2005-12-26(Mon) 02:15:02 +0900  Minero Aoki  <aamine@loveruby.net>
4032         * test/ruby/test_alias.rb: do not use unimplemented defined?.
4035 2005-12-26(Mon) 02:00:11 +0900  Minero Aoki  <aamine@loveruby.net>
4037         * test/runner.rb: new file.
4039         * test/ruby/test_alias.rb: new file.
4041         * test/ruby/test_clone.rb: new file.
4043         * test/ruby/test_eval.rb: new file.
4045         * test/ruby/test_iterator.rb: new file.
4047         * test/ruby/test_lambda.rb: new file.
4049         * test/ruby/test_proc.rb: new file.
4051         * test/ruby/test_super.rb: new file.
4053         * test/ruby/test_assignment.rb: new file.
4055         * test/ruby/test_bignum.rb: new file.
4057         * test/ruby/test_call.rb: new file.
4059         * test/ruby/test_case.rb: new file.
4061         * test/ruby/test_condition.rb: new file.
4063         * test/ruby/test_const.rb: new file.
4065         * test/ruby/test_defined.rb: new file.
4067         * test/ruby/test_exception.rb: new file.
4069         * test/ruby/test_gc.rb: new file.
4071         * test/ruby/test_ifunless.rb: new file.
4073         * test/ruby/test_method.rb: new file.
4075         * test/ruby/test_trace.rb: new file.
4077         * test/ruby/test_variable.rb: new file.
4079         * test/ruby/test_whileuntil.rb: new file.
4082 2005-12-25(Sun) 07:40:08 +0900  Koichi Sasada  <ko1@atdot.net>
4084         * blockinlining.c, compile.c : fix block inlining
4086         * rb/insns2vm.rb : fix to support tracing stack depth
4087         with operands unification
4089         * vm_dump.c : fix to print Qundef on stack dump
4092 2005-12-25(Sun) 01:45:55 +0900  Koichi Sasada  <ko1@atdot.net>
4094         * insns.def, compile.c, rb/insns2vm.rb, template/insns_info.inc.tmpl : 
4095         trace stack depth at compile time
4096         and use it  as cont_sp for exception handling
4098         * yarvtest/test_exception.rb : add tests for above
4100         * yarvtest/test_flow.rb : ditto
4102         * Merry Xmas :)
4105 2005-12-24(Sat) 19:34:04 +0900  Koichi Sasada  <ko1@atdot.net>
4107         * compile.c, compile.h : fix ADD_CATCH_ENTRY and add LABEL#sp
4109         * eval_jump.h : fix catch to remove illegal error
4112 2005-12-24(Sat) 09:05:23 +0900  Koichi Sasada  <ko1@atdot.net>
4114         * eval_method.h : change data structure for RClass#m_tbl
4116         * class.c, eval.c, eval_proc.c : fix for above changes
4118         * node.h, gc.c : change NODE_FBODY, NODE_METHOD members
4119         for above changes
4121         * insns.def : support private/protected visibility
4123         * vm_macro.def : ditto
4125         * vm.c : ditto
4127         * thread.c : fix typo
4129         * thread_pthread.h : fix typo
4131         * thread_win32.h : fix typo
4133         * eval.c, yarvcore.h : add yarv_thread_t#method_missing_reason
4134         to pass method_missing reason and use it to build error message
4136         * compile.c : use ADD_CALL instead of ADD_SEND for
4137         NODE_X(D)STR, NODE_CONST (func)
4140 2005-12-22(Thu) 02:45:27 +0900  Koichi Sasada  <ko1@atdot.net>
4142         * yarv_version.h, Changes : 0.3.3
4145 2005-12-20(Tue) 04:04:45 +0900  Koichi Sasada  <ko1@atdot.net>
4147         * compile.c : fix self::Const access
4149         * yarvtest/test_bin.rb : add a test for above
4152 2005-12-20(Tue) 01:52:52 +0900  Koichi Sasada  <ko1@atdot.net>
4154         * insns.def : fix to expand VALUES value
4156         * yarvtest/test_massign.rb : add a test for above
4159 2005-12-20(Tue) 01:32:35 +0900  Koichi Sasada  <ko1@atdot.net>
4161         * insns.def, insnhelper.h : fix cvar in singleton method/class
4163         * yarvtest/test_bin.rb : add tests for above
4166 2005-12-20(Tue) 01:03:34 +0900  Koichi Sasada  <ko1@atdot.net>
4168         * compile.c, yarvcore.h : support all defined?() syntax
4170         * compile.c : fix NODE_COLON2 
4172         * yarvtest/test_bin.rb : add or fix tests for above
4174         * win32/* : update all
4177 2005-12-17(Sat) 10:46:08 +0900  Minero Aoki  <aamine@loveruby.net>
4179         * vm_macro.def: fix printf type mismatch for LP64 system (again).
4181         * parse.y: introduce descriptive macro for special values of
4182           lvtbl->dvars.
4185 2005-12-17(Sat) 09:39:27 +0900  Minero Aoki  <aamine@loveruby.net>
4187         * vm_macro.def (macro_eval_invoke_method): fix printf type mismatch
4188           for LP64 system.
4191 2005-12-14(Wed) 03:49:40 +0900  Koichi Sasada  <ko1@atdot.net>
4193         * compile.c : change rescue/ensure iseq name
4195         * eval.c, intern.h : fix a prototype
4197         * insns.def, yarvcore.h : add trace_function
4199         * vm.c : fix deadly bug (illegal pointer cast)
4201         * vm_dump.c : remove unused local variables
4203         * vm_macro.def : add parameter size check
4205         * yarvtest/test_bin.rb : comment out 2 assertions
4208 2005-12-13(Tue) 03:55:27 +0900  Koichi Sasada  <ko1@atdot.net>
4210         * eval_proc.c : fix indent
4212         * insns.def : fix getspecial instruction to return nil
4213         if no entry
4215         * yarvtest/test_syntax.rb : add a test for above
4217         * lib/un.rb : added
4219         * template/*.tmpl : fix typo
4222 2005-12-13(Mon) 01:38:17 +0900  Minero Aoki  <aamine@loveruby.net>
4224         * yarv.h: add prototypes.
4226         * intern.h: ditto.
4228         * eval.c: ditto.
4230         * debug.c: ditto.
4232         * thread_pthread.h: fix printf type mismatch for LP64 system
4233           (Linux/AMD64).
4235         * variable.c: ditto.
4237         * object.c: ditto.
4239         * gc.c: ditto.
4241         * process.c: ditto.
4243         * error.c: ditto.
4245         * vm.c: ditto.
4247         * vm.h: ditto.
4249         * vm_dump.c: ditto.
4251         * disasm.c: ditto.
4253         * marshal.c: ditto.
4255         * eval_thread.c: ditto.
4258 2005-12-11(Sun) 22:00:34 +0900  Koichi Sasada  <ko1@atdot.net>
4260         * insns.def : call "inherited" method when a class is inherited
4262         * yarvcore.h : fix yarv_iseq_t field layout
4264         * common.mk : add dependence on yarvcore.h to eval*.o files
4266         * compile.c : fix NODE_POSTEXE logic
4268         * insnhelper.h : use GC_GUARDED_PTR_REF instead of magic number
4270         * eval_proc.c : fix indent
4272         * configure : re-autoconf
4275 2005-12-10(Sat) 03:57:20 +0900  Koichi Sasada  <ko1@atdot.net>
4277         * common.mk : fix blockinlining.o build rule
4279         * insns.def : remove logic for zsuper
4281         * template/optinsn.inc.tmpl : 
4283         * vm.c : remove thread_yield_light_prepare, thread_yield_light_invoke
4285         * compile.c : support NODE_ZSUPER with optargs, restarg
4287         * yarvtest/test_class.rb : add tests for above
4290 2005-12-09(Fri) 01:13:37 +0900  Koichi Sasada  <ko1@atdot.net>
4292         * array.c, numeric.c, range.c : add prototype of
4293         block inlining function
4295         * blockinlining.c, vm_opts.h.base : add block inlining flag 
4297         * common.mk, debug.h, debug.c : add debug_breakpoint() for gdb
4299         * compile.c : fix to use size_t on compile_data_alloc(),
4300         fix illegal cast, fix to set arg_simple at compiling block,
4302         * compile.c, vm.c : fix NODE_NEXT, NODE_BREAK logic
4304         * yarvtest/test_flow.rb : add a test for above
4306         * yarvcore.c, yarvcore.h, compile.c, eval.c : remove
4307         yarv_iseq_t#root_iseq and add yarv_iseq_t#local_iseq and fix
4308         to use this member field
4310         * eval_method.h : fix indent
4312         * gc.c : fix indent
4314         * insns.def, compile.c : remove "zsuper" instruction (use "super"
4315         instead).  This is because NODE_ZSUPER represent with only "super"
4316         instruction
4318         * yarvcore.c : add proc_arity
4321 2005-12-05(Mon) 03:58:30 +0900  Koichi Sasada  <ko1@atdot.net>
4323         * array.c, blockinlining.c : support block inlining for Array#each
4325         * disasm.c : fix catch table format
4327         * insns.def : fix stack consistency error message
4329         * vm.c : fix to skip pushing value at "next"
4331         * yarvcore.h : move definision of 
4332         "struct iseq_compile_data_ensure_node_stack" to compile.c
4334         * compile.c : fix ensure catch table creation
4336         * yarvtest/test_flow.rb : add tests for above
4339 2005-12-03(Sat) 22:27:08 +0900  Koichi Sasada  <ko1@atdot.net>
4341         * blockinlining.c, compile.c, yarvcore.c, yarvcore.h,
4342         numeric.c, range.c : collect block inlining logic to blockinlining.c
4345 2005-12-03(Sat) 20:24:07 +0900  Koichi Sasada  <ko1@atdot.net>
4347         * blockinlining.c, common.mk : add blockinlining.c
4349         * yarvcore.c, yarvcore.h, blockinlining.c, compile.c, compile.h,
4350         gc.c, node.h, numeric.c, range.c :
4351         support block inlining for Integer#times, Range#each
4353         * compile.c : fix to set block redo/next point at last,
4354         and fix NODE_OP_ASGN1
4356         * compile.c, vm.c : add specialized instruction "opt_le"
4358         * disasm.c : fix to show block, and to show catch type as string
4359         and change node_name logic
4361         * eval_thread.c : fix function type declaration
4363         * insns.def : add instruction "putundef", "opt_checkenv"
4364         to support block inlining and add stack check routine
4366         * lib/cgi.rb : add global variable $CGI_DONTINPUT
4368         * opt_operand.def : add some operand unification rules
4370         * rb/insns2vm.rb : fix operand unification logic for BLOCKISEQ
4372         * vm.c : fix exception handling routine (collect stack operations)
4374         * vm_macro.def : fix macro_eval_invoke_bmethod
4376         * yarvsubst.c : removed
4378         * yarvtest/test_syn.rb : rename to yarvtest/test_syntax.rb
4380         * yarvtest/yarvtest.rb : remove tempfile explicitly
4383 2005-11-30(Wed) 01:13:57 +0900  Koichi Sasada  <ko1@atdot.net>
4385         * common.mk : add vm_opts.h rule
4387         * vm.c, insns.def : fix proc creation under class and block
4388         environment
4391 2005-11-29(Tue) 16:39:07 +0900  Koichi Sasada  <ko1@atdot.net>
4393         * eval.c, eval_proc.c, vm.c, vm_macro.def : 
4394         support define_method and invoke NODE_BMETHOD method
4397 2005-11-29(Tue) 13:18:06 +0900  Koichi Sasada  <ko1@atdot.net>
4399         * compile.c : add iseq_add_mark_object, iseq_add_mark_object_compile_time
4400         and use it to mark objects on iseq
4402         * compile.h, compile.c : remove cast on NEW_CHILD_ISEQVAL, NEW_ISEQVAL
4403         and interface
4405         * compile.c, disasm.c, insns.def, vm_macro.def, rb/insns2vm.rb :
4406         add BLOCKISEQ parameter type
4408         * gc.c : fix garbage_collect to return true if only allocate memory
4410         * vm.c : fix insertion order of proc/env
4412         * vm_evalbody.h : add typedef yarv_iseq_t *BLOCKISEQ
4414         * yarvcore.c, yarvcore.c : add idTimes
4416         * yarvcore.c : fix proc_mark, env_mark around iseq mark
4419 2005-11-28(Mon) 09:02:57 +0900  Koichi Sasada  <ko1@atdot.net>
4421         * compile.c, insns.def, vm_evalbody.h : support super
4422         with splat argument and block (and zsuper with block)
4424         * yarvtest/test_class.rb : add tests for above
4426         * compile.c, yarvcore.h, yarvcore.c, insns.def, time.c, string.c :
4427         add opt_succ insn
4429         * eval_method.h : fix indent
4431         * eval_thread.c : apply cast to vanish a warning
4433         * lib/tempfile.rb, lib/tmpdir.rb : added
4435         * vm.c : eval_method_missing added
4437         * vm_macro.def : refactoring
4440 2005-11-21(Mon) 21:21:33 +0900  Koichi Sasada  <ko1@atdot.net>
4442         * compile.c, compile.h, yarvcore.c : remove "iseqobj"
4443         variables and rename to "iseq"
4446 2005-11-21(Mon) 07:31:50 +0900  Koichi Sasada  <ko1@atdot.net>
4448         * compile.c : fix block parameter error
4450         * ext/* : added
4452         * lib/optparse* : added
4454         * benchmark/bm_so_sieve.rb : fix parameter
4458 2005-11-21(Mon) 03:47:28 +0900  Koichi Sasada  <ko1@atdot.net>
4460         * compile.c : optimize condition in literal
4462         * thread_win32.h : fix win32 thread function prototype
4465 2005-11-20(Sun) 17:58:24 +0900  Koichi Sasada  <ko1@atdot.net>
4467         * compile.c : fix NODE_AND/OR bug
4469         * eval.c : support rb_frame_this_func()
4472 2005-11-20(Sun) 12:32:31 +0900  Koichi Sasada  <ko1@atdot.net>
4474         * compile.c, yarvcore.c, yarvcore.h : support NODE_OPT_N
4476         * compile.h : add macro ADD_CALL
4478         * debug.c : add debug_v() and change to use only printf
4479         on debug_id()
4481         * sample/test.rb : 
4483         * vm.c : fix make_proc_from_block
4486 2005-11-19(Sat) 14:55:17 +0900  Koichi Sasada  <ko1@atdot.net>
4488         * import ruby 1.9.0 (2005-11-18)
4491 2005-11-19(Sat) 06:08:37 +0900  Koichi Sasada  <ko1@atdot.net>
4493         * lib/test : added
4496 2005-11-19(Sat) 05:48:50 +0900  Koichi Sasada  <ko1@atdot.net>
4498         * compile.c : useless jump elimination (if/unless destination)
4500         * eval.c : rb_iter_break support,
4501          fix rb_iterate (clear errinfo if break)
4503         * eval_proc.c : support rb_node_arity (YARV_METHOD_NODE)
4505         * insns.def : change variable name
4507         * vm.c : fix th_invoke_yield and add th_iter_break()
4509         * vm_dump.c : fix yarv_bug()
4511         * yarvcore.c : fix proc_mark to check IFUNC node and add
4512         global ruby method SDR() for debug
4514         * yarvtest/test_syn.rb : add a test for all condition combination
4517 2005-11-15(Tue) 05:52:58 +0900  Koichi Sasada  <ko1@atdot.net>
4519         * lib/forwardable.rb : added
4521         * common.mk : remove "vm.o : CFLAGS += -fno-crossjumping" rule
4523         * compile.c, yarvcore.h, insns.def : add FCALL/VCALL flag
4525         * compile.c, insns.def : add onceinlinecache instruction
4527         * eval.c : support $!, $@, raise (== raise $!)
4529         * opt_operand.def : add some unification rule (send flags)
4531         * vm.c : fix return process
4533         * vm_macro.def : fix option prameters
4535         * yarvtest/test_method.rb : add tests for above
4538 2005-11-15(Tue) 00:42:49 +0900  Koichi Sasada  <ko1@atdot.net>
4540         * eval.c : support rb_frame_pop() and rb_frame_callee(),
4541         add rb_sourcefile(), rb_souceline(),
4542         
4544         * compile.c : support postposition while/until,
4545         fix block parameter index
4547         * yarvtest/test_syn.rb : add tests for above
4549         * yarvcore.c : fix env_mark
4551         * vm.h, yarvcore.h : move vm.h#cmethod_info to
4552          yarvcore.h#yarv_cmethod_info
4554         * vm.c : add th_get_sourceline()
4556         * eval_intern.h : fix PASS_PASSED_BLOCK()
4558         * eval_load.c : fix re-enter require (temporalily)
4560         * insns.def : permit re-open class when superclass is same
4563 2005-11-11(Fri) 01:20:15 +0900  Koichi Sasada  <ko1@atdot.net>
4565         * common.mk : add "allload" rule
4567         * compile.c, yarvcore.h, insns.def, vm_macro.def, disasm.c :
4568         change arg_rest, arg_block offset (1)
4570         * insns.def : add postexe instruction
4572         * insns.def, vm.c : support rest block parameter
4574         * yarvtest/test_block.rb : add tests for above
4576         * rb/allload.rb : get path from ARGV
4578         * vm_opts.h.base : set default off
4581 2005-11-01(Tue) 08:28:19 +0900  Koichi Sasada  <ko1@atdot.net>
4583         * benchmark/other-lang/eval.rb : fix path
4585         * lib/English.rb, lib/cgi.rb, lib/complex.rb, lib/delegate.rb : 
4586         added
4589 2005-11-01(Tue) 08:18:33 +0900  Koichi Sasada  <ko1@atdot.net>
4591         * compile.c : push and pop values after checkincludearray for
4592         stack caching
4595 2005-10-31(Mon) 15:37:09 +0900  Koichi Sasada  <ko1@atdot.net>
4597         * benchmark/bm_app_mandelbrot.rb : added
4599         * benchmark/bm_app_factorial.rb : fixed parameter
4601         * benchmark/bm_so_count_words.rb, benchmark/run_rite.rb : use
4602         real file
4604         * common.mk : add "ext" rule, add some dependencies and add option
4605         to bench-each rule (renamed from bench-item)
4607         * compile.c : fix get_root_iseq_object (check iseq type),
4608         support splat case/when. support //o (regexp)
4610         * eval.c : support *_eval, fix rb_obj_call_init to pass block
4612         * eval_jump.h : support throw/catch
4614         * eval_load.c : save klass_nest_stack when require
4616         * eval_method.h : fix ruby_cbase()
4618         * insnhelper.h : GET_EV_KLASS checks toplevel or not
4620         * insns.def, yarvcore.c : fix singleton method definition and fix
4621         super class's method
4623         * lib/shellwords.rb : use String() instead of String.new()
4625         * vm.c : check class iseq or not when making Proc and
4626         add eval_search_super_klass function
4628         * vm.h : CMETHOD_INFO_P to yarvcore.h
4630         * vm_macro.def : splat if object type is T_ARRAY
4632         * vm_opts.h, vm_opts.h.base : rename to vm_opts.h.base
4633         insns2vm.rb will copy it to build directory
4635         * yarvcore.c : add Proc#[]
4637         * yarvcore.h : change INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE
4638         to 512
4640         * yarvtest/test_* : invalidate splat non array code (like: "*1")
4642         * yarvtest/yarvtest.rb : use tempfile instead of popen
4645 2005-10-28(Fri) 09:11:53 +0900  Koichi Sasada  <ko1@atdot.net>
4647         * yarvtest/test_method.rb : fix test
4650 2005-10-28(Fri) 08:43:29 +0900  Koichi Sasada  <ko1@atdot.net>
4652         * benchmark/run_rite.rb : add -I options to run benchmark
4654         * common.mk : pass options to some rules with RUNOPT
4655         and add -I options
4657         * compile.c : fix massign with constant
4659         * yarvtest/test_massign.rb : add tests for above
4661         * eval_load.c : fix load_wait()
4663         * eval_method.h : support ruby_cbase()
4665         * lib/*.rb : add or modify libraries to run on yarv
4666         * parse.y : change to ANSI C style
4668         * vm.c : fix making proc process under cfunc/ifunc environment
4670         * vm_macro.def : fix block pass
4672         * yarvtest/test_method.rb : add tests for above
4674         * yarvcore.c : add yarv_obj_is_proc()
4676         * eval.c : fix rb_obj_is_proc to use yarv_obj_is_proc()
4679 2005-10-27(Thu) 11:50:15 +0900  Koichi Sasada  <ko1@atdot.net>
4681         * some files : import from ruby 1.9.0 (2005-10-12)
4684 2005-10-16(Sun) 14:50:02 +0900  Koichi Sasada  <ko1@atdot.net>
4686         * insns.def, compile.c, yarvcore.h, yarvcore.c : add insns "bitblt" and "answer"
4689 2005-10-11(Tue) 17:01:13 +0900  Koichi Sasada  <ko1@atdot.net>
4691         * yarv_version.h, Changes : 0.3.2
4694 2005-10-11(Tue) 13:35:25 +0900  Koichi Sasada  <ko1@atdot.net>
4696         * insns.def : add YARV_CHECK_INTS()
4698         * thread.c, thread_pthread.h, thread_win32.h : kick timer thread
4699         when another thread kicked
4701         * vm.c : remove debug print
4703         * vm_opts.h : add OPT_CALL_THREADED_CODE
4705         * yarvtest/yarvtest.rb : remove "\r" from answer
4708 2005-10-07(Fri) 09:36:36 +0900  Koichi Sasada  <ko1@atdot.net>
4710         * yarvcore.h : add member variable "interrupt_flag" to yarv_thread_t
4713 2005-10-05(Wed) 21:20:13 +0900  Koichi Sasada  <ko1@atdot.net>
4715         * eva.c, eval_thread.c, ruby.h, eval_error.h, eval_jump.h, 
4716         eval_load.c, thread.c, error.c, compile.h : remove ruby_errinfo
4718         * thread_win32.h, thread_pthread.h : set stack size to 4KB
4720         * vm.c : fix making env routine
4722         * vm_dump.c, vm.h : support frame type "EVAL" and fix magic number
4724         * yarvcore.c : fix some mark/free routine
4727 2005-10-05(Wed) 09:08:11 +0900  Koichi Sasada  <ko1@atdot.net>
4729         * eval.c, eval_intern.h, vm.c, eval_jump.h, yarvcore.h :
4730         re-define PUSH/POP/EXEC/JUMP_TAG to use thread local tag
4732         * inits.c, yarvcore.c : fix boostrap
4735 2005-10-03(Mon) 22:28:24 +0900  Koichi Sasada  <ko1@atdot.net>
4737         * compile.c : fix NODE_COLON2 bugs
4739         * compile.h : fix debug routine
4741         * disasm.c : add space between insn and operand
4743         * insns.def : add comment of classdef, singletonclassdef
4745         * vm.c, yarv.h : fix invoke_light routine
4747         * yarvcore.c : fix to mark each threads
4750 2005-10-02(Sun) 05:55:34 +0900  Koichi Sasada  <ko1@atdot.net>
4752         * thread_pthread.h : add "system_working" global variable
4755 2005-10-02(Sun) 01:23:44 +0900  Koichi Sasada  <ko1@atdot.net>
4757         * thread.c : add raw gets (for test), and fix indent
4760 2005-10-01(Sat) 23:06:21 +0900  Koichi Sasada  <ko1@atdot.net>
4762         * thread_win32.h, common.mk : add thread_win32.h
4764         * thread.c : support _WIN32 thread
4766         * thread.c, thread_pthread.h : fix some interface
4768         * eval_thread.c : remove debug print
4770         * gc.c : fix stack region
4772         * win32/Makefile.sub : add -MD flag to LDFLAGS
4774         * yarvcore.c : fix mark and sweep debug print
4776         * yarvcore.h : fix VM#living_threads data type to st_table
4779 2005-10-01(Sat) 00:25:28 +0900  Koichi Sasada  <ko1@atdot.net>
4781         * thread.c, yarvcore.h : rename GIL (Global Interpreter Lock) to
4782         GVL (Global VM Lock)
4784         * thread_pthread.h : fix pthread mutex initialize
4787 2005-09-30(Fri) 20:11:19 +0900  Koichi Sasada  <ko1@atdot.net>
4789         * thread.c : support join with timeout
4791         * yarvcore.h : use GET_VM()
4794 2005-09-30(Fri) 14:59:29 +0900  Koichi Sasada  <ko1@atdot.net>
4796         * thread.c, common.mk : add thread.c
4798         * thread.c, gc.c, eval_thread.c, yarvcore.c, yarvcore.h : 
4799         support native thread (on pthread)
4801         * insns.def : add YARV_CHECK_INTS() check
4803         * yarv.h : add GET_VM() macro
4806 2005-09-29(Thu) 22:43:08 +0900  Koichi Sasada  <ko1@atdot.net>
4808         * eval_intern.h, eval_thread.c : move thread_status to eval_intern.h
4810         * yarvcore.c : fix thread/vm value
4812         * yarvcore.h : add some parameter to yarv_thread_t
4815 2005-09-29(Thu) 01:52:33 +0900  Koichi Sasada  <ko1@atdot.net>
4817         * compile.c, yarvcore.h : add line number on last end instruction
4819         * vm.c : fix line no detection
4822 2005-09-28(Wed) 00:02:10 +0900  Koichi Sasada  <ko1@atdot.net>
4824         * common.mk, eval_load.c, eval.c, eval_intern.h : add eval_load.c
4826         * disasm.c : fix around block local variables
4828         * eval_proc.c : fix typo
4831 2005-09-27(Tue) 16:45:20 +0900  Koichi Sasada  <ko1@atdot.net>
4833         * eval.c : remove debug print
4836 2005-09-27(Tue) 16:41:47 +0900  Koichi Sasada  <ko1@atdot.net>
4838         * eval.c : support Kernel.local_variables
4840         * parse.y, yarvcore.c : move some functions
4841         (rb_(backref|lastline)_(get|set)) from parse.y to yarvcore.c
4843         * yarvcore.h : fix typo of YARV_PREVIOUS_CONTROL_FRAME
4846 2005-09-26(Mon) 18:51:29 +0900  Koichi Sasada  <ko1@atdot.net>
4848         * eval.c, compile.c, parse.y, vm.c, yarvcore.h :
4849          eval() works with binding (Env)
4851         * vm.c : add th_set_eval_stack
4853         * yarvtest/test_syn.rb : remove an assert "defined?(local_var)"
4856 2005-09-25(Sun) 19:30:59 +0900  Koichi Sasada  <ko1@atdot.net>
4858         * benchmark/bm_vm2_send.rb : added
4860         * common.mk : add rule "bench-item"
4862         * eval_intern.h : add PASS_PASSED_BLOCK()
4864         * eval_proc.c : support some functions
4866         * rb/mklog.rb : added
4868         * vm.c : fix prototype style and coding style
4870         * yarv.h : add some prototypes of functions
4872         * yarvcore.c, yarvcore.h, eval.c : yarv_thread_t#ifuncnode -> passed_block,
4873         and add yarv_proc_t#safe_level
4876 2005-09-25(Sun) 11:01:17 +0900  Koichi Sasada  <ko1@atdot.net>
4878         * some files : import from ruby 1.9.0 (2005-09-25)
4880         * eval*, vm.c, vm_macro.def : remove frame, scope, ...
4882         * yarvcore.c : remove yarv_block_given_p()
4884         * yarvcore.h, insnhelper.h : move some macro from insnhelper.h to yarvcore.h
4885         to use these in eval.c
4888 2005-09-24(Sat) 15:51:42 +0900  Koichi Sasada  <ko1@atdot.net>
4890         * eval* : remove dependency to ruby_dyna_vars and ruby_class
4893 2005-09-23(Fri) 20:39:14 +0900  Koichi Sasada  <ko1@atdot.net>
4895         * eval_*.[ch] : split eval.c to some files
4897         * *.[ch] : import ruby 1.9.0 (2004-09-23)
4899         * parse.y : remove dependency to ruby_dyna_vars and ruby_scope
4902 2005-09-15(Thu) 16:51:06 +0900  Koichi Sasada  <ko1@atdot.net>
4904         * compile.c, yarvcore.h : fix "for" scope
4906         * yarvtest/test_block.rb : add tests for above
4909 2005-09-14(Wed) 06:11:43 +0900  Koichi Sasada  <ko1@atdot.net>
4911         * yarvcore.h, vm_evalbody.h, vm.h, vm_dump.c,
4912         compile.c, yarvcore.c : use #ifdef insted of #if for recognize
4913         vm options
4915         * vm_opts.h : fix default options
4918 2005-09-10(Sat) 14:10:08 +0900  Koichi Sasada  <ko1@atdot.net>
4920         * vm_opts.h : added
4922         * yarvcore.h, rb/insns2vm.h : use vm_opts.h
4925 2005-09-10(Sat) 04:53:22 +0900  Koichi Sasada  <ko1@atdot.net>
4927         * yarvcore.h, insns.def, compile.c : add DEFINED_YIELD
4929         * yarvtest/test_yield.rb : add test_1_ary_and_1_params
4931         * insns.def : fix splat and svalue
4933         * vm.c : fix to perform with proc with ifunc (incomplete)
4935         * sample/test.rb : added (comment out unsupported features)
4937         * common.mk : add rule "runtest"
4940 2005-09-09(Fri) 19:32:11 +0900  Koichi Sasada  <ko1@atdot.net>
4942         * insns.def, compile.c : add splatarray
4944         * yarvtest/test_massign.rb : add tests for above
4947 2005-08-31(Wed) 22:55:15 +0900  Koichi Sasada  <ko1@atdot.net>
4949         * yarvcore.c (yarvcore_eval_parsed): fix to return value
4951         * yarv_version.h, Changes : 0.3.1
4954 2005-08-20(Sat) 10:19:27 +0900  Koichi Sasada  <ko1@atdot.net>
4956         * rb/ir.rb : add some check
4958         * import today's ruby HEAD
4961 2005-08-18(Thu) 23:29:52 +0900  Koichi Sasada  <ko1@atdot.net>
4963         * common.mk : fix object file extension
4965         * rb/ir.rb : added (import ruby script)
4967         * rb/diff.rb : removed
4969         * import today's ruby HEAD
4972 2005-08-18(Thu) 12:59:38 +0900  Koichi Sasada  <ko1@atdot.net>
4974         * common.mk : rule test -> test2, test1 -> test
4976         * compile.c : fix when clause bug and splat arugment
4979 2005-08-17(Wed) 05:22:31 +0900  Koichi Sasada  <ko1@atdot.net>
4981         * compile.c : fix block local parameter setting routine and support
4982         massign in block parameter initialze
4984         * yarvtest/test_yield.rb : add tests for above
4986         * insns.def, compile.c : support array concat (ex: "[x, *y]")
4988         * yarvtest/test_bin.rb : add tests for above
4991 2005-08-16(Tue) 19:51:19 +0900  Koichi Sasada  <ko1@atdot.net>
4993         * compile.c : support nested massign
4995         * yarvtest/test_massign.rb : add tests for above
4998 2005-08-16(Tue) 10:25:29 +0900  Koichi Sasada  <ko1@atdot.net>
5000         * eval.c : support rb_yield_0 with 0 args
5003 2005-08-16(Tue) 09:09:21 +0900  Koichi Sasada  <ko1@atdot.net>
5005         * lib/fileutils.rb : imported
5007         * insns.def : fix yield argument (same as last commit)
5009         * yarvtest/test_yield.rb : add tests for above
5012 2005-08-16(Tue) 08:29:47 +0900  Koichi Sasada  <ko1@atdot.net>
5014         * eval.c : fix to support rb_yield_0 with multiple values
5016         * common.mk : add parse, run1p ruelse
5018         * compile.c : support yield with ARGSCAT/SPLAT
5020         * vm.c, insns.def : fix yield arguments to do compatible behaviour
5022         * yarvtest/test_yield.rb : added for above
5025 2005-08-16(Tue) 06:00:17 +0900  Koichi Sasada  <ko1@atdot.net>
5027         * insns.def : fix to set klass_nest_stack on singleton
5028         method definition
5030         * yarvtest/test_method.rb : add a test for above
5033 2005-08-16(Tue) 05:34:48 +0900  Koichi Sasada  <ko1@atdot.net>
5035         * test1.rb : added.  gdb and run1 rule run this script
5037         * compile.c : fix error handled variable access
5039         * yarvtest/test_exception.rb : add tests for above
5042 2005-08-16(Tue) 04:26:08 +0900  Koichi Sasada  <ko1@atdot.net>
5044         * base ruby : ruby 1.9.0 (2005-08-15)
5047 2005-08-16(Tue) 03:54:17 +0900  Koichi Sasada  <ko1@atdot.net>
5049         * common.mk, Makefile.in : move some rules to common.mk
5051         * rb/diff.rb : added
5053         * yarvtest/yarvtest.rb : fix to compare output last value
5056 2005-08-15(Mon) 18:27:58 +0900  Koichi Sasada  <ko1@atdot.net>
5058         * Changes : 0.3.0
5061 2005-08-15(Mon) 17:56:09 +0900  Koichi Sasada  <ko1@atdot.net>
5063         * yarvcore.c : fix to add prototype
5065         * all files : propset svn:eol-style native
5068 2005-08-15(Mon) 10:48:53 +0900  Koichi Sasada  <ko1@atdot.net>
5070         * eval.c : support rb_load
5073 2005-08-15(Mon) 09:42:01 +0900  Koichi Sasada  <ko1@atdot.net>
5075         * yarvcore.h : define SDR()
5077         * vm_dump.c : stack_dump_raw() -> vm_stack_dump_raw()
5079         * yarvtest/yarvtest.rb : add rite test scheme
5081         * benchmark/run_rite.rb : added
5083         * yarvcore.c, inits.c : add Init_vm()
5085         * yarv.h : add some prototype declarations, GET_THREAD()
5087         * eval.c : remove unused functions
5089         * eval.c : support Kernel.eval, some schemes (same as evalc.patch)
5092 2005-08-15(Mon) 00:53:28 +0900  Koichi Sasada  <ko1@atdot.net>
5094         * yarv_version.h : move configurations to yarvcore.h
5096         * yarvcore.c : remove VALUE yarv_get_current_running_thread() and
5097         add yarv_thread_t *yarv_get_current_running_thread(), ...
5099         * yarvcore.h : yarv_thread_t#vm -> vm_value
5101         * compile.c : fix "break from nested classes"
5103         * yarvext/extconf.rb : use have_func instead of defined?(YARV_PACHED)
5105         * depend : fix pass
5107         * eval.c : change to kick VM
5109         * version.c : fix to show yarv version
5111         * common.mk : fix dependent
5113         * inits.c : fix to kick Init_yarvcore
5116 2005-08-14(Sun) 02:05:15 +0900  Koichi Sasada  <ko1@atdot.net>
5118         * README : add description
5120         * yarvext/depend : move to topdir/depend
5122 2005-08-14(Sun) 01:50:43 +0900  Koichi Sasada  <ko1@atdot.net>
5124         * merge yarv to ruby (prepare)
5126         * make yarvext/ to build as extension
5129 2005-08-13(Sat) 09:36:26 +0900  Koichi Sasada  <ko1@atdot.net>
5131         * evalc.patch, insns.def, compile.c : fix to support current
5132         ruby HEAD.
5134         * 0.2.3
5137 2005-08-08(Mon) 19:13:02 +0900  Koichi Sasada  <ko1@atdot.net>
5139         * version.h, Changes : 0.2.2
5142 2005-08-08(Mon) 17:17:50 +0900  Koichi Sasada  <ko1@atdot.net>
5144         * vm.h, vm.c, insns.def, yarvcore.h, yarvcore.c :
5145         remove yarv_iseq_t#iseq_dt and add yarv_iseq_t#encoded.
5146         use yarv_iseq_t#encoded anytime
5148         * vm_evalbody.h, vm.h, extconf.rb, version.h :
5149         support call threaded code (incomplete)
5152 2005-08-01(Mon) 05:26:12 +0900  Koichi Sasada  <ko1@atdot.net>
5154         * yarvcore.c : support yield with multiple values
5156         * compile.c : fix dynavars
5158         * yarvcore.h : fix to mark defined method
5161 2005-07-31(Sun) 23:27:24 +0900  Koichi Sasada  <ko1@atdot.net>
5163         * yarvcore.c, vm.c, insns.def : fix search object path
5165         * compile.c : fix "for" statement
5167         * vm_macro.def : fix rest, opt arguments
5170 2005-07-31(Sun) 14:52:06 +0900  Koichi Sasada  <ko1@atdot.net>
5172         * vm_macro.def : fix block parameter
5174         * compile.c : fix to unuse compile_data->in_ensure
5176         * insns.def : add orphan check when return
5179 2005-07-31(Sun) 03:25:05 +0900  Koichi Sasada  <ko1@atdot.net>
5181         * vm.c, compile.c, yarvcore.h, insns.def :
5182         support jump from rescue/ensure/class/module
5184         * test/test_flow.rb : add tests for above fix
5187 2005-07-30(Sat) 04:44:33 +0900  Koichi Sasada  <ko1@atdot.net>
5189         * yarvcore.h : struct iseq_compile_data_ensure_node_stack is added
5191         * compile.c : insert ensure clause before break/next/redo
5193         * vm.c : fix return/break handling
5195         * yarv.h, vm.c : fix lightweight yield
5197         * vm.c, insns.def, vm_macro.def : change arguments of th_set_env (add sp)
5199         * test/test_flow.rb : added
5201         * test/yarvtest.rb : add ae_flow
5203         * compile.c, vm_macro.def : add tail-call/tail-recursion optimization
5204         (experimental)
5207 2005-07-29(Fri) 20:14:11 +0900  Koichi Sasada  <ko1@atdot.net>
5209         * compile.c : make_name_for_block and make_name_with_str
5210         are added
5212         * insns.def : fix if unmatched size arg size to yield
5214         * test/test_block.rb : add test for above fix
5216         * vm.c : add th_backtrace_each and fix backtrace notation
5218         * yarvcore.c : set top level iseq name to "<main>"
5221 2005-07-29(Fri) 13:20:19 +0900  Koichi Sasada  <ko1@atdot.net>
5223         * yarvcore.h : fix yarv_iseq_t to pass VC (cl)
5225         * vm_dump.c : ditto
5227         * compile.h : ditto
5229         * insnhelper.h : ditto
5231         * vm_evalbody.h : include 'math.h'
5233         * insns.def, vm.c : raise error when yield without block
5235         * vm.c : implement thread_backtrace
5237         * vm.c, yarvsubst.c, yarv.h : implement thread_yield_light_prepare and
5238         thread_yield_light_invoke
5240         * yarvcore.c : Integer#times uses yarv specific version
5243 2005-07-28(Thu) 21:35:09 +0900  Koichi Sasada  <ko1@atdot.net>
5245         * yarvcore.c : add another mark function for thread/stack
5247         * vm_evalbody.h : fix register allocation for x86_64
5249         * vm.h : use asm for tc on x86_64
5252 2005-07-28(Thu) 20:17:09 +0900  Koichi Sasada  <ko1@atdot.net>
5254         * yarvcore.c : add mark/free message to debug gc
5256         * insnhelper.h, insns.def, vm_macro.def : remove and
5257         add new RESTORE_REGS
5259         * vm_evalbody.h : fix register allocation
5262 2005-07-28(Thu) 02:00:42 +0900  Koichi Sasada  <ko1@atdot.net>
5264         * vm.c, etc : change VM stack structure. re-write all
5265         vm functions to do it
5267         * vm_macro.def : added
5270 2005-07-08(Fri) 01:36:49 +0900  Koichi Sasada  <ko1@atdot.net>
5272         * insns.def : don't use fmod on AMD64
5275 2005-07-08(Fri) 00:14:22 +0900  Koichi Sasada  <ko1@atdot.net>
5277         * Changes : added
5280 2005-07-07(Thu) 23:54:37 +0900  Koichi Sasada  <ko1@atdot.net>
5282         * version.h : 0.3.0
5285 2005-07-07(Thu) 23:52:03 +0900  Koichi Sasada  <ko1@atdot.net>
5287         * 0.2.1 : released
5290 2005-07-07(Thu) 23:50:22 +0900  Koichi Sasada  <ko1@atdot.net>
5292         * version.h : 0.2.1
5295 2005-07-07(Thu) 23:47:55 +0900  Koichi Sasada  <ko1@atdot.net>
5297         * rb/insns2vm.rb, extconf.rb : add --[enable|disable]-opt-unify-all-combination
5298         and --disable-opts
5300         * vm.h : DISPATCH_ARCH_DEPEND_WAY is only enabled on GCC 3.x
5303 2005-07-06(Wed) 13:20:27 +0900  Koichi Sasada  <ko1@atdot.net>
5305         * depend, rb/eval.rb : add ITEMS option to benchmark rule
5307         * benchmark/* : changed
5309         * benchmark/other-lang/* : added
5312 2005-07-04(Mon) 04:02:15 +0900  Koichi Sasada  <ko1@atdot.net>
5314         * yarvcore.h. yarvcore.c : add idDIV, idMOD, idEq, idLength
5316         * compile.c, insns.def : add specialized insn for above method id
5318         * test/test_bin.rb : add tests for above
5321 2005-07-03(Sun) 20:31:09 +0900  Koichi Sasada  <ko1@atdot.net>
5323         * yarvcore.c, yarvcore.h : remove cYarvThrowObject (unused)
5325         * yarvcore.c, yarvcore.h, insns.def : 
5326         thread_object#stack_mark_poinetr
5328         * depend, rb/eval.rb : BOPT, TOPT -> OPT
5331 2005-07-03(Sun) 13:53:47 +0900  Koichi Sasada  <ko1@atdot.net>
5333         * compile.c, compile.h : INSN_OBJECT, LABEL_OBJECT -> INSN, LABEL,
5334         ISEQ_LINK_ELEMENT, ISEQ_LINK_ANCHOR -> LINK_ELEMENT, LINK_ANCHOR,
5335         and some fixes
5337         * tmpl/optinsn.inc.tmpl : ditto
5339         * yarvcore.c, yarvcore.h : remove label_object, insn_object
5340         prepare_iseq_build, cleanup_iseq_build are added
5342         * insns.def : remove unused variable from send
5345 2005-07-02(Sat) 04:19:22 +0900  Koichi Sasada  <ko1@atdot.net>
5347         * insns.def : add GC protect for opt_aset
5350 2005-07-02(Sat) 03:49:17 +0900  Koichi Sasada  <ko1@atdot.net>
5352         * extconf.rb : add option -fno-reorder-blocks to vm.asm rule
5354         * insns.def : fix opt_aset bugs
5356         * test/test_bin.rb : add tests for aset, aref
5359 2005-07-02(Sat) 03:05:12 +0900  Koichi Sasada  <ko1@atdot.net>
5361         * benchmark/run.rb : fix output
5363         * vm_evalbody.h : add register for x86_64
5365         * rb/asm_parse.rb : fix to shor size and length
5368 2005-07-02(Sat) 02:56:31 +0900  Koichi Sasada  <ko1@atdot.net>
5370         * compile.c : move specialized instruction point (new_insn_send)
5372         * insns.def : add opt_aref, opt_aset
5375 2005-07-01(Fri) 11:04:11 +0900  Koichi Sasada  <ko1@atdot.net>
5377         * compile.h : fix to pass VALUE type to new_insn_body
5379         * insnhelper.h : add cast
5381         * compile.c : fix getdynamic argument (0 == Qfalse -> I2F(0))
5384 2005-06-30(Thu) 23:34:10 +0900  Koichi Sasada  <ko1@atdot.net>
5386         * rb/eval.rb : add and fix some rules
5388         * rb/insns2vm.rb : generate all
5390         * benchmark/run.rb : add -r (ruby only) option
5393 2005-06-30(Thu) 23:25:23 +0900  Koichi Sasada  <ko1@atdot.net>
5395         * tmpl/vmtc.inc.tmpl : add const prefix
5397         * /rb/asm_parse.rb, extconf.rb : added and make assembler analised output 
5399         * opt_operand.def : add send operands unification
5401         * insnhelper.h : add HEAP_CLASS_OF(obj)
5403         * insns.def : fix opt_plus, opt_ltlt
5405         * vm_evalbody.h : move _tag
5407         * benchmark/run.rb : fix file select
5410 2005-06-30(Thu) 06:07:04 +0900  Koichi Sasada  <ko1@atdot.net>
5412         * extconf.rb : add collect-usage-analysis option
5414         * opt_operand.def, opt_insn_unif.def : add some rules
5417 2005-06-29(Wed) 23:28:44 +0900  Koichi Sasada  <ko1@atdot.net>
5419         * yarvcore.h, extconf.rb, vm.h, compile.c :
5420         DISPATCH_DIRECT_THREADED_CODE, DISPATCH_THREADED_CODE
5421          -> OPT_DIRECT_THREADED_CODE,  OPT_INDIRECT_THREADED_CODE.
5422         if at least one of then is defined, OPT_THREADED_CODE is defined
5424         * benchmark/* : fix name and parameters
5426         * rb/eval.rb : added for YARV evaluation
5429 2005-06-29(Wed) 16:16:52 +0900  Koichi Sasada  <ko1@atdot.net>
5431         * benchmark/run.rb : fix output format
5433         * call_cfunc.inc -> call_cfunc.h
5435         * vm.h : add sign by asm statement
5438 2005-06-28(Tue) 22:28:40 +0900  Koichi Sasada  <ko1@atdot.net>
5440         * vm.c : fix method search
5443 2005-06-28(Tue) 22:26:34 +0900  Koichi Sasada  <ko1@atdot.net>
5445         * extconf.rb : fix options
5448 2005-06-28(Tue) 21:50:58 +0900  Koichi Sasada  <ko1@atdot.net>
5450         * benchmark/run.rb : fix output format
5453 2005-06-28(Tue) 21:34:54 +0900  Koichi Sasada  <ko1@atdot.net>
5455         * depend : add option TOPT to test rules
5457         * benchmark/run.rb : fix output format
5460 2005-06-28(Tue) 21:15:54 +0900  Koichi Sasada  <ko1@atdot.net>
5462         * compile.c : fix opt_case_dispatch instruction
5464         * benchmark/run.rb : output all usertimes when exit benchmark
5467 2005-06-28(Tue) 20:35:55 +0900  Koichi Sasada  <ko1@atdot.net>
5469         * extconf.rb, compile.c, tmpl/optinsn.inc.tmpl, vm.c :
5470         change extconf options
5472 2005-06-28(Tue) 13:20:59 +0900  Koichi Sasada  <ko1@atdot.net>
5474         * benchmark/run.rb : add -y, --yarv-only option
5476         * depend : add BOPT to tbench rule
5479 2005-06-27(Mon) 23:31:12 +0900  Koichi Sasada  <ko1@atdot.net>
5481         * depend : add gdb rule
5483         * vm.h : use inline assembler for x86 (to support gcc 3.4.x)
5486 2005-06-27(Mon) 20:04:10 +0900  Koichi Sasada  <ko1@atdot.net>
5488         * yarvcore.c, compile.c, disasm.c : remove unused variables
5490         * vm.h, insnhelper.h, debug.h : fix to reduce warning
5492         * vm.c, vm_dump.c : move VM state dump (debug) functions to vm_dump.c
5494         * depend : adde reconf rule
5496         * insnhelper.h : 
5498         * vm_evalbody.inc : rename to vm_evalbody.h
5501 2005-06-27(Mon) 16:50:31 +0900  Koichi Sasada  <ko1@atdot.net>
5503         * insns2vm.rb : fix generating unif insn
5505         * compile.c : add useless pop/swap insn elimination with stack caching
5507         * depend : remove compiled.o dependency
5510 2005-06-26(Sun) 14:06:22 +0900  Koichi Sasada  <ko1@atdot.net>
5512         * benchmark/run.rb : use tmpfile instead of popen
5514         * rb/insns2vm.rb : fix generating insn unification logic
5516         * opt_insn_unif.def : add some unification rules
5518         * compile.c : add verify_list function and fix unification logic
5521 2005-06-22(Wed) 12:58:26 +0900  Koichi Sasada  <ko1@atdot.net>
5523         * yarvcore.h, yarvcore.c, insns.def,  compile.c : add mult optimization
5525         * test/test_bin.rb : add test_fact
5528 2005-06-21(Tue) 22:34:07 +0900  Koichi Sasada  <ko1@atdot.net>
5530         * yarvcore.h, compile.[ch], tmpl/optinsn.inc.tmpl, rb/insns2vm.rb :
5531         change data structure (don't use Ruby's array to represent a
5532         instruction sequence)
5534         * disasm.c : add separator
5537 2005-06-14(Tue) 07:48:58 +0900  Koichi Sasada  <ko1@atdot.net>
5539         * compile.c : support "for" statement
5541         * test/test_block.rb : add test for above
5543         * yarvcore.[ch] : add global id idEach
5546 2005-06-08(Wed) 22:30:44 +0900  Koichi Sasada  <ko1@atdot.net>
5548         * compile.c : add if/unless(L1) jump (L2) :L1 => unless/if(L2)
5549         optimize (condition reversal) and fix typo
5552 2005-06-07(Tue) 08:29:41 +0900  Koichi Sasada  <ko1@atdot.net>
5554         * yarvcore.c : fix to remove compiler warning
5556         * version.h : 0.2.1
5559 2005-06-07(Tue) 08:16:22 +0900  Koichi Sasada  <ko1@atdot.net>
5561         * yarvcore.h : iseq_link_element changed to double linked list
5563         * disasm.c : support dump struct iseq_link_element
5565         * compile.c : use double linked list instead of array
5566         for intermediate representation
5569 2005-06-06(Mon) 15:38:44 +0900  Koichi Sasada  <ko1@atdot.net>
5571         * yarvcore.h, yarvcore.c : add link structure to insn and label object
5573         * compile.h, compile.c : remove some variables in function top scope
5574         of iseq_compile_each and some optimization (now working)
5577 2005-06-04(Sat) 16:12:59 +0900  Koichi Sasada  <ko1@atdot.net>
5579         * compile.c : fix previous commit
5582 2005-06-04(Sat) 15:56:21 +0900  Koichi Sasada  <ko1@atdot.net>
5584         * compile.c : fix stack caching (after jump state)
5587 2005-06-04(Sat) 09:12:13 +0900  Koichi Sasada  <ko1@atdot.net>
5589         * compile.c : fix some point for previous commit
5592 2005-06-04(Sat) 07:31:21 +0900  Koichi Sasada  <ko1@atdot.net>
5594         * compile.c, insns.def : optimize case/when statement
5595         (dispatch on constant time)
5597         * yarvcore.h, disasm.c, rb/insns2vm.rb : fixed for above
5598         (CDHASH)
5600         * test/test_syn.rb : add test for above
5603 2005-06-04(Sat) 03:41:29 +0900  Koichi Sasada  <ko1@atdot.net>
5605         * yarvcore.h, yarvcore.c : add some temporary variable test
5606         (it'll be vanished)
5608         * compile.c : NODE_CASE optimize (use topn instead of dup/swap)
5611 2005-06-03(Fri) 00:54:38 +0900  Koichi Sasada  <ko1@atdot.net>
5613         * compile.c : apply flow optimization for while/until statement
5616 2005-03-04(Fri) 19:34:32 +0900  Koichi Sasada  <ko1@atdot.net>
5618         * rb/insns2vm.rb : fix category (comment)
5620         * depend : remove space betweeen target name and colon
5623 2005-03-04(Fri) 15:55:51 +0900  Koichi Sasada  <ko1@atdot.net>
5625         * tmpl/yarvarch.ja : fix typo
5628 2005-03-04(Fri) 13:30:19 +0900  Koichi Sasada  <ko1@atdot.net>
5630         * depend : add a rule for jitcompile.o
5632         * vm.h : fix a macro argument
5634         * version.h : 0.2.0
5637 2005-03-03(Thu) 08:35:14 +0900  Koichi Sasada  <ko1@atdot.net>
5639         * extconf.rb : remove vm_evalbody.inc call_cfunc.inc from clean target
5642 2005-03-03(Thu) 00:54:15 +0900  Koichi Sasada  <ko1@atdot.net>
5644         * tmpl/insns.inc.tmpl : fixed typo
5646         * insns.def : store th->pc to current pc
5649 2005-03-03(Thu) 00:31:47 +0900  Koichi Sasada  <ko1@atdot.net>
5651         * tmpl/yarvarch.ja, doc/yarv.rb : write current architecture of yarv
5654 2005-03-01(Tue) 13:50:04 +0900  Koichi Sasada  <ko1@atdot.net>
5656         * yarvcore.c (yarvcore_eval_parsed) : added
5657         (separeted from yarvcore_eval)
5659         * yarvcore.c, compile.c : iseq_translate_direct_threaded_code
5660         is moved to compile.c
5662         * depend : add rule for yasmdata.rb
5664         * rb/yasm.rb : support top-level and method-level assemble
5667 2005-02-26(Sat) 08:09:57 +0900  Koichi Sasada  <ko1@atdot.net>
5669         * rb/insns2vm.rb, compile.c, vm.h : change type long to OFFSET
5671         * tmpl/yasmdata.rb.tmpl : added
5673         * rb/insns2vm.rb : add yasmdata_rb method
5675         * rb/yasm.rb : fix some interface (incomplete)
5677         * compile.c : iseq_setup added
5679         * yarvcore.c : YARVCore::InstructionSequence::Instruction#make added
5682 2005-02-24(Thu) 07:45:37 +0900  Koichi Sasada  <ko1@atdot.net>
5684         * rb/yasm.rb : added
5687 2005-02-24(Thu) 01:13:33 +0900  Koichi Sasada  <ko1@atdot.net>
5689         * compile.c : remove useless statements
5692 2005-02-24(Thu) 00:46:44 +0900  Koichi Sasada  <ko1@atdot.net>
5694         * rb/insns2vm.rb (InsnInfo) : add @is_sc attr and remove
5695         is_sc method
5697         * compile.c : fix NODE_CASE/NODE_WHEN bug (cond at 'when'
5698         must not be popped)
5700         * compile.c : support NODE_OP_ASGN1 to &&= and ||=
5702         * test/test_bin.rb : add tests for above
5705 2005-02-23(Wed) 09:17:01 +0900  Koichi Sasada  <ko1@atdot.net>
5707         * vm.c, yarvcore.c : thread_svar added and fix svar location
5710 2005-02-21(Mon) 08:38:02 +0900  Koichi Sasada  <ko1@atdot.net>
5712         * yarvcore.h : make type "struct iseq_compile_data"
5714         * yarvcore.h : iseq_object#insn_info_ary to iseq_object#insn_info_tbl 
5717 2005-02-21(Mon) 05:24:01 +0900  Koichi Sasada  <ko1@atdot.net>
5719         * yarvcore.c (compile_string) : remove null check of node
5722 2005-02-19(Sat) 03:52:45 +0900  Koichi Sasada  <ko1@atdot.net>
5724         * version.h : 0.1.1
5727 2005-02-18(Fri) 20:57:18 +0900  Koichi Sasada  <ko1@atdot.net>
5729         * yarvcore.h, yarvcore.c : add idLTLT, idMethodMissing
5731         * compile.c : suopport lval (or others) block parameter
5733         * test/test_block.rb : add tests for above
5735         * insns.def (send) : support method_missing
5737         * test/test_method.rb : add tests for above
5739         * insns.def : opt_ltlt and 
5742 2005-02-18(Fri) 08:54:40 +0900  Koichi Sasada  <ko1@atdot.net>
5744         * benchmark/runc.rb : added
5746         * benchmark/contrib/pentomino.rb : added opt_ltlt
5747         and Float, String plus specialization
5750 2005-02-18(Fri) 07:49:42 +0900  Koichi Sasada  <ko1@atdot.net>
5752         * compile.c : remove debug print
5754         * rb/aotcompile.rb : skip if yarvcore.so is not created
5757 2005-02-18(Fri) 06:46:13 +0900  Koichi Sasada  <ko1@atdot.net>
5759         * compile.c : fix block passing
5760         and block argument
5763 2005-02-18(Fri) 05:52:41 +0900  Koichi Sasada  <ko1@atdot.net>
5765         * vm.c : thread_get_ev_const, thread_get_ev_defined is added
5766         (separated from insns.def)
5768         * insnhelper.h : GET_EV_KLASS(klass) is added
5769         (separated from insns.def)
5771         * yarvcore.h, insns.def, compile.c : support defined? expression (limited)
5773         * test/test_syn.rb : tests for above is added 
5775         * compile.c, insns.def : support block passed method dispatch
5777         * test/test_method.rb : tests for above is added
5779         * compile.h : CALL_ARGS_SPLAT is removed
5782 2005-02-16(Wed) 13:32:37 +0900  Koichi Sasada  <ko1@atdot.net>
5784         * disasm.c : fix ID to String method
5786         * compile.c : NODE_SUPER, NODE_ZSUPER check 'poped'
5787         and NODE_RETURN check outer type
5788         and NODE_DREGX_ONCE supported (temporarily)
5790         * test/test_syn.rb : add a test
5792         * test/test_jump.rb : add a test
5795 2005-02-16(Wed) 06:07:41 +0900  Koichi Sasada  <ko1@atdot.net>
5797         * compile.[hc] : use Symbol instead of Fixnum to represent ID
5799         * rb/insns2vm.rb : add attr_reader :insns, :insn_map
5801         * vm.h, rb/insns2vm.rb : END_INSN have one arg
5803         * jitcompile.c : jit compiler framework (experimental)
5805         * rb/aotcompile.rb : refactoring
5807         * compiled.c : add constant pool
5809         * vm_evalbody.inc, call_cfunc.inc, vm.c : separeted from vm.c
5811         * insns.def : fix return val
5813         * depend : add rules for compiled.o
5816 2005-02-14(Mon) 13:09:01 +0900  Koichi Sasada  <ko1@atdot.net>
5818         * insnhelper.h, yarvcore.h: move YARV_METHOD_NODE to yarvcore.h
5820         * yarvcore.h : add 2 members jit_compiled and iseq_orig
5821         to struct iseq_object
5823         * yarvcore.c : add yarv_jitcompile and global function jitcompile
5825         * insns.def : insn opt_call_native_compiled added
5827         * jitcompile.c : added
5830 2005-02-12(Sat) 05:38:51 +0900  Koichi Sasada  <ko1@atdot.net>
5832         * insns.def (putstring) : fixed to duplicate string object
5834         * rb/insns2vm.rb, tmpl/optunifs.inc.tmpl, compile.c : support
5835         instructions unification (aka super instruction)
5837         * opt_insn_unif.def : added for above
5839         * benchmark/bm_unif1.rb : added to measure efficiency of unification
5841         * depend : fixed for above
5843         * extconf.rb : add option --(enable|disalbe)-opt-insns-unification
5846 2005-02-11(Fri) 12:14:39 +0900  Koichi Sasada  <ko1@atdot.net>
5848         * yarvcore.c, vm.c, insns.def : permit to access svar from
5849         cfunc environment
5851         * test/test_method.rb : add tests for above
5854 2005-02-09(Wed) 19:31:06 +0900  Koichi Sasada  <ko1@atdot.net>
5856         * ite.rb : added (ruby -rite [script file])
5859 2005-02-09(Wed) 02:25:43 +0900  Koichi Sasada  <ko1@atdot.net>
5861         * yarvcore.[hc] : add member compile_data (hash) to iseq_object
5863         * compile.c, yarvcore.h : check label is already set
5865         * compile.c, extconf.rb : support __goto__ and __label__ statement
5868 2005-01-25(Tue) 12:49:27 +0900  Koichi Sasada  <ko1@atdot.net>
5870         * test/test_block.rb : add break test to test_times
5873 2005-01-25(Tue) 03:34:04 +0900  Koichi Sasada  <ko1@atdot.net>
5875         * extconf.rb : check ruby version if yarv patch is applied or not
5877         * evalc.patch : fixed for rb_call_super and above check
5880 2005-01-25(Tue) 03:21:48 +0900  Koichi Sasada  <ko1@atdot.net>
5882         * rb/insns2vm.rb : refactoring (mainly, make InsnsDef::InsnInfo
5883         to represent each instruction information)
5885         * depend, rb/makedocs.rb : fixed for above
5887         * yarvcore.c (thread_call_super) : added
5889         * vm.c (thread_call_super) : added
5891         * vm.h : add struct cmethod_info
5893         * insns.def, vm.c : use cmethod_info to represent C method info
5895         * insns.def : use iseq_object#klass_nest_stack
5896         to search super/zsuper's class
5898         * prosym.rb : removed
5900         * ToDo : write todo things on wiki
5904 2005-01-18(Tue) 23:44:47 +0900  Koichi Sasada  <ko1@atdot.net>
5906         * benchmark/run.rb : check ENV['RUBY'] to use ruby binary
5909 2005-01-10(Mon) 08:44:40 +0900  Koichi Sasada  <ko1@atdot.net>
5911         * version.h : 0.1.0
5914 2005-01-09(Sun) 22:01:29 +0900  Koichi Sasada  <ko1@atdot.net>
5916         * repository : svn propset svn:eol-style native *.c *.h tmpl/*.tmpl
5919 2005-01-09(Sun) 21:48:38 +0900  Koichi Sasada  <ko1@atdot.net>
5921         * yarvcore.c : FREE_UNLESS_NULL, MARK_UNLESS_NULL macros are added
5923         * yarvcore.c : some insn/label methods are added
5925         * yarvcore.h : add structure menber "insns_ary" to iseq_object
5927         * vm.c, insns.def (thread_eval_body) : return values with throw
5929         * prosym.rb : added
5931         * insns.def : add YARV_AOT_COMPILED and some procedure
5933         * depend : add compiled.c
5935         * compiled.c : added to build compiled Ruby program (C source)
5936         by AOT compiler
5938         * rb/aotcompile.rb : AOT compiler
5940         * aotct.rb, rb/aotctest.rb : test and benchmark AOT compiler
5942         * rb/allload.rb : added
5945 2005-01-09(Sun) 08:30:38 +0900  Koichi Sasada  <ko1@atdot.net>
5947         * yarvcore.c (yarv_yield_values) : added
5949         * vm.c (thread_call0) : change interface. substitute rb_call0 in
5950         yarv environment
5952         * yarvcore.c (yarv_call0) : fix for above
5954         * yarvcore.c (yarv_call0_cfunc) : removed
5956         * yarvcore.c : change passing items for yarv_setup
5958         * evalc.patch : fix for above
5960         * benchmark/bm_lists.rb : fix (unsupport block passing)
5962         * benchmark/run.rb : use full path to ruby
5964         * insns.def (yield): raise error if argc > expected argc
5967 2005-01-08(Sat) 16:07:48 +0900  Koichi Sasada  <ko1@atdot.net>
5969         * extconf.rb : add descrioptions
5971         * compile.c : fix bugs (getinlinecache operands)
5973         * yarvcore.c : initial value of yarvGlobalStateVersion
5974         to 1
5977 2005-01-08(Sat) 14:39:04 +0900  Koichi Sasada  <ko1@atdot.net>
5979         * yarvcore.c, vm.c, evalc.patch : support making backtrace
5980         (incompatible with current ruby interpreter)
5983 2005-01-08(Sat) 11:25:46 +0900  Koichi Sasada  <ko1@atdot.net>
5985         * evalc.patch : commit for previous commit change
5987         * yarvcore.h, compile.c, insns.def : MC to IC (inline cache),
5988         and changed to using IC by set/getinlinecache
5991 2005-01-08(Sat) 10:04:33 +0900  Koichi Sasada  <ko1@atdot.net>
5993         * yarvcore.c : add global variable sym[IC]FUNC
5995         * yarvcore.c (yarv_iterate, yarv_call0_cfunc) : added
5996         (each called from rb_iterate, rb_call0 with NODE_CFUNC)
5998         * vm.c (stack_dump_raw) : fixed to prints more detail
6000         * vm.c (stack_dump_th, stack_dump_thobj) : added to
6001         dumps thread_object states (for VALUE, struct pointer)
6003         * vm.c (thread_dump_regs) : added
6005         * vm.c (thread_call0, thread_call0_cfunc, thread_invoke_yield, 
6006         thread_invoke_yield_cfunc), insns.def (yield, send) :
6007         fixed, added to support IFUNC
6009         * vm.c, yarvcore.c, insns.def : change type purpose
6010         thread_object#block_ptr (it holds IFUNC block information,
6011         so this type was changed to 'NODE *')
6013         * vm.c (stack_dump_each) : fixed for above
6015         * test/test_block.rb (test_ifunc) : test for above
6017         * vm.c (get_block_objec, thread_make_env_object) : fixed bugs
6019         * test/test_bin.rb (test_xstr) : remove `ls` test
6022 2005-01-06(Thu) 21:35:18 +0900  Koichi Sasada  <ko1@atdot.net>
6024         * yarv : trying to support NODE_IFUNC (rb_iterate)
6027 2005-01-05(Wed) 06:50:42 +0900  Koichi Sasada  <ko1@atdot.net>
6029         * yarvcore.h, insns.def, disasm.c, rb/insns2vm.rb, compile.[ch] :
6030         support inline method cache
6032         * extconf.rb : add -*-inline-method-cache (default: enable)
6034         * test/test_method.rb : add a test for above
6036         * benchmark/bm_poly_method.rb : added
6038         * yarvcore.c : add option string
6041 2005-01-04(Tue) 17:15:41 +0900  Koichi Sasada  <ko1@atdot.net>
6043         * insns.def, compile.c : add compile_array and duparray insn
6044         to optimize only literal array creation
6046         * benchmark/bm_array.rb : added
6049 2005-01-04(Tue) 10:02:40 +0900  Koichi Sasada  <ko1@atdot.net>
6051         * README : fix version
6054 2005-01-04(Tue) 09:57:25 +0900  Koichi Sasada  <ko1@atdot.net>
6056         * ToDo : reflect current status
6059 2005-01-04(Tue) 09:43:54 +0900  Koichi Sasada  <ko1@atdot.net>
6061         * compile.c : support NODE_VALUES, NODE_ARGSCAT, NODE_SPLAT
6063         * test/test_massign.rb : add tests for above
6065         * benchmark/bm_swap.rb : added
6068 2005-01-04(Tue) 06:25:45 +0900  Koichi Sasada  <ko1@atdot.net>
6070         * compile.h : COMPILE_ERROR break contol (instead of return)
6072         * compile.c : support NODE_MASGN
6074         * insns.def : change expandarray for massign and add topn insn
6076         * test/test_massign.rb : added
6079 2005-01-03(Mon) 21:20:28 +0900  Koichi Sasada  <ko1@atdot.net>
6081         * vm.c : store block when create proc
6083         * test/test_proc.rb : add a test for above change
6085         * yarvcore.c : add global function "once"
6088 2005-01-02(Sun) 00:40:08 +0900  Koichi Sasada  <ko1@atdot.net>
6090         * benchmark/bm_super.rb : fix bug (remove infinite loop)
6093 2005-01-01(Sat) 23:45:49 +0900  Koichi Sasada  <ko1@atdot.net>
6095         * benchmark/bm_z?super.rb : added
6098 2005-01-01(Sat) 23:37:38 +0900  Koichi Sasada  <ko1@atdot.net>
6100         * benchmark/bmx_so_object.rb : rename to benchmark/bm_so_object.rb
6103 2005-01-01(Sat) 23:19:02 +0900  Koichi Sasada  <ko1@atdot.net>
6105         * compile.c : support NODE_OP_ASGN2, NODE_OP_ASGN_AND, NODE_OP_ASGN_OR,
6106         NODE_SUPER, NODE_ZSUPER, NODE_MATCH
6108         * insns.def : support super, zsuper (currently, super can't
6109         handle with block)
6111         * test/test_bin.rb : add test for op_asgin2, op_assgin_and/or
6113         * test/test_class.rb : add test for super, zsuper
6116 2005-01-01(Sat) 20:39:29 +0900  Koichi Sasada  <ko1@atdot.net>
6118         * compile.c : support NODE_MATCH
6120         * yarvcore.c : fix yarv_svar bug (fix condition boundary)
6122         * insnhelper.h : save cfp/lfp/dfp vars to thread_object (th)
6125 2005-01-01(Sat) 20:03:10 +0900  Koichi Sasada  <ko1@atdot.net>
6127         * version.h : 0.0.1
6129         * yarvcore.h : add idIntern declaration
6131         * insns.def : add getspecial, setspecial.
6132         implement getclassvariable, setclassvariable.
6133         store lfp before reg match (opt_regexpmatch1)
6135         * compile.c : support ditto, flipflop
6137         * yarvcore.c : support svar
6139         * test/test_syn.rb : add test for flipflop
6141         * test/test_bin.rb : add test for dsym, cvar, backref
6144 2005-01-01(Sat) 09:09:32 +0900  Koichi Sasada  <ko1@atdot.net>
6146         * insns.def : add getspecial insn
6148         * compile.c : support NODE_NTH_REF, NODE_BACK_REF
6151 2005-01-01(Sat) 06:53:38 +0900  Koichi Sasada  <ko1@atdot.net>
6153         * insns.def, compile.c : support alias, undef
6155         * test/test_method.rb : test for above
6157         * rb/insns2vm.rb : fix enbug
6160 2005-01-01(Sat) 06:00:32 +0900  Koichi Sasada  <ko1@atdot.net>
6162         * test/test_jump.rb : add test (next with value)
6164         * yarvcore.h, yarvcore.c, compile.c, compile.h :
6165         raise compile error exception instead of rb_bug
6167         * yarvcore.c, evalc.patch : support "require"
6169         * test.rb : restore $" after evaluation with ruby
6171         * rb/insns2vm.rb : remove unnecesary each
6174 2004-12-17(Fri) 18:56:38 +0900  Koichi Sasada  <ko1@atdot.net>
6176         * insns.def : fix newhash
6179 2004-12-15(Wed) 13:29:27 +0900  Koichi Sasada  <ko1@atdot.net>
6181         * yarvcore.c : add version string
6183         * compile.c : fix rescure clause bug
6186 2004-12-14(Tue) 22:46:30 +0900  Koichi Sasada  <ko1@atdot.net>
6188         * insns.def : add reput insn
6190         * vm.h : show stack cache registers when stack dump
6192         * rb/insns2vm.rb, compile.c : fix stack caching bugs
6195 2004-12-14(Tue) 00:51:58 +0900  Koichi Sasada  <ko1@atdot.net>
6197         * insns2vm.rb, compile.c, tmpl/opt_sc.inc.tmpl : fix bugs
6199         * rb/mixc-asm.rb : added
6202 2004-12-14(Tue) 00:17:02 +0900  Koichi Sasada  <ko1@atdot.net>
6204         * yarvcore.h, yarvcore.c, compile.c : fix SC bugs
6205         (SC state management)
6207         * extconf.rb : add option -[enable|disable]-opt-stack-caching
6209         * insns2vm.rb : accept CPPFLAGS options
6211         * vm.c : support restrore register for pc
6214 2004-12-13(Mon) 16:53:42 +0900  Koichi Sasada  <ko1@atdot.net>
6216         * rb/insns2vm.rb : add macro INSN_IS_SC()
6219 2004-12-11(Sat) 10:51:44 +0900  Koichi Sasada  <ko1@atdot.net>
6221         * insns.def, compile.c : support singleton method definition
6223         * test/test_method.rb : add test for above
6226 2004-12-11(Sat) 03:17:54 +0900  Koichi Sasada  <ko1@atdot.net>
6228         * benchmark/*.rb : modify
6230         * extconf.rb : add $cleanfiles
6233 2004-12-08(Wed) 13:01:38 +0900  Koichi Sasada  <ko1@atdot.net>
6235         * compile.c, insns.def : change to disable stack caching
6238 2004-12-07(Tue) 19:37:13 +0900  Koichi Sasada  <ko1@atdot.net>
6240         * rb/insns2vm.rb : add default after
6242         * insns.def : fix to work on stack caching
6245 2004-12-07(Tue) 15:07:13 +0900  Koichi Sasada  <ko1@atdot.net>
6247         * depend : add some dependency to *.inc files
6249         * vm.c : add "register" and asm("regname") descriptor
6251         * rb/insns2vm.rb, compile.c : add stack caching support
6253         * tmpl/opt_sc.inc.tmpl : added to above change
6255         * rb/makedocs.rb : fix file path
6257         * extconf.rb : fix option selection
6260 2004-12-06(Mon) 11:20:11 +0900  Koichi Sasada  <ko1@atdot.net>
6262         * extconf.rb : add vm.asm target if compiler is gcc
6265 2004-12-06(Mon) 09:56:24 +0900  Koichi Sasada  <ko1@atdot.net>
6267         * vm.h : rename method_frame's member block to block_ptr
6269         * extconf.rb : add "-fno-crossjumping" option when compiler
6270         is gcc
6272         * opt_operand.def : add unification insn send
6274         * rb/insns2vm.rb : define symbol instead of declare const
6275         variable (for more optmize on VC)
6277         * insns.def : move enter point in send
6280 2004-12-06(Mon) 04:53:51 +0900  Koichi Sasada  <ko1@atdot.net>
6282         * compile.c, opt_operand.def, rb/insns2vm.rb, depend :
6283         support operand unification
6286 2004-12-05(Sun) 03:16:10 +0900  Koichi Sasada  <ko1@atdot.net>
6288         * vm.c, insns.def : speed up throw/catch scheme
6291 2004-12-05(Sun) 01:47:05 +0900  Koichi Sasada  <ko1@atdot.net>
6293         * vm.c : fix catch handler bugs
6295         * test/test_jump.rb : test_complex_jump added
6298 2004-12-03(Fri) 20:39:05 +0900  Koichi Sasada  <ko1@atdot.net>
6300         * benchmark/contrib/mcq.rb : added
6301         (from URABE Syouhei)
6304 2004-12-03(Fri) 20:35:28 +0900  Koichi Sasada  <ko1@atdot.net>
6306         * vm.c : support break in rb_yield block
6309 2004-12-03(Fri) 14:26:35 +0900  Koichi Sasada  <ko1@atdot.net>
6311         * compile.c : support block local variable in current
6312         ruby specification (patche from Kent Sibilev)
6314         * insns.def : support attr_* (patch from Kent Sibilev)
6317 2004-12-02(Thu) 21:04:27 +0900  Koichi Sasada  <ko1@atdot.net>
6319         * opt_operand.def : added
6322 2004-12-02(Thu) 13:20:41 +0900  Koichi Sasada  <ko1@atdot.net>
6324         * yarvcore.c, vm.h, vm.c, insns.def, insnhelper.h, yarvutil.rb :
6325         add usage analisys framework 
6327         * disasm.c : insn_operand_intern to separate function
6329         * benchmark/run.rb : run each benchmark on another process
6332 2004-12-01(Wed) 10:26:49 +0900  Koichi Sasada  <ko1@atdot.net>
6334         * vm.c : yield check block is given
6336         * benchmark/bm_lists.rb : rename to bmx_lists.rb
6337         (because it's not work ... bug?)
6339         * insns.def : opt_* support other type calc
6342 2004-11-30(Tue) 16:14:54 +0900  Koichi Sasada  <ko1@atdot.net>
6344         * benchmark/bm_so_array.rb : added
6346         * benchmark/bm_so_matrix.rb : added
6349 2004-11-30(Tue) 14:11:30 +0900  Koichi Sasada  <ko1@atdot.net>
6351         * rb/getrev.rb : added
6353         * yarvcore.c : add YARVCore::REV, YARVCore::DATE constant
6356 2004-11-30(Tue) 13:05:42 +0900  Koichi Sasada  <ko1@atdot.net>
6358         * compile.c : support NODE_OP_ASGN1 (incomplete)
6360         * insns.def : add dupn
6363 2004-11-30(Tue) 08:52:01 +0900  Koichi Sasada  <ko1@atdot.net>
6365         * version.h : 0.0.0.f
6368 2004-11-30(Tue) 08:43:59 +0900  Koichi Sasada  <ko1@atdot.net>
6370         * test/test_class.rb : add test_initialize and test_to_s
6372         * yarvsubst.c : use rb_funcall instead of yarv_funcall
6374         * evalc.patch : fix ruby's patch
6376         * benchmark/bm_so_*.rb : change naming rule. "bm_so_*" from
6377         language shootout
6379         * depend : tbench target item is ITEM env val (default: bmx_temp)
6381         * vm.c : show raw address if environment is in heap at dumping stack trace
6383         * vm.c : thread_call0 added
6385         * vm.c : fix thread_yield_light_invoke
6387         * yarv.h, yarvcore.c : remove yarv_funcall
6390 2004-11-29(Mon) 11:37:08 +0900  Koichi Sasada  <ko1@atdot.net>
6392         * test/test/test_proc.rb : add test test_nestproc
6394         * yarvsubst.c : comment out yarv_Array_each
6396         * insns.def : restore lfp/dfp after call_cfunc
6398         * vm.c : fix stack dump routine
6400         * vm.c : impliment thread_funcall (temporarily)
6402         * yarv.h : add IS_YARV_WORKING(), SET_YARV_START(), SET_YARV_STOP()
6404         * yarvcore.c : remove check with yarv_in_work
6406         * evalc.patch : added
6409 2004-11-27(Sat) 00:19:52 +0900  Koichi Sasada  <ko1@atdot.net>
6411         * yarvcore.c : free -> ruby_xfree
6414 2004-11-26(Fri) 02:11:11 +0900  Koichi Sasada  <ko1@atdot.net>
6416         * vm,c : fix bug
6419 2004-11-22(Mon) 11:19:48 +0900  Koichi Sasada  <ko1@atdot.net>
6421         * benchmark/bm_ackermann.rb, bm_proc.rb, bm_simpleiter.rb,
6422         bm_so_exception.rb, bm_wc.rb, wc.input added
6425 2004-11-22(Mon) 02:31:56 +0900  Koichi Sasada  <ko1@atdot.net>
6427         * test/test_proc.rb : add some test
6429         * yarvcore.c, vm.c : support yield in C method (as rb_yield)
6431         * vm.c (thread_yield_light_(prepare|invoke)) : support lightweight
6432         yield
6434         * yarv.h : added
6436         * yarvcore.c, yarv.h : support yarv_is_working, yarv_block_given_p, 
6437         yarv_yield, yarv_funcall (only dummy function)
6439         * vm.c : thread_eval_body changed return value
6441         * yarvsubst.c : added and add yarv_Integer_times, yarv_Array_each
6443         * yarvcore.h : block_ptr is added to struct thread_object
6445         * insns.def : pass block when C method call
6447         * insnhelper.h : add GET_ISEQOBJ(cfp) macro
6450 2004-11-21(Sun) 07:25:49 +0900  Koichi Sasada  <ko1@atdot.net>
6452         * vm.c : support Proc#call
6454         * test/test_proc.rb : added
6457 2004-11-19(Fri) 18:04:10 +0900  Koichi Sasada  <ko1@atdot.net>
6459         * insns.def, vm.c : support creating Proc object
6462 2004-11-15(Mon) 14:19:27 +0900  Koichi Sasada  <ko1@atdot.net>
6464         * insns.def (send) : use clear_local_size to specify
6465         clear local table vars.
6467         * insns.def : block represent data shares lfp, dfp with frame data
6470 2004-11-13(Sat) 18:19:41 +0900  Koichi Sasada  <ko1@atdot.net>
6472         * yarvcore.h, insns.def : add VM_CALL_ARGS_SPLAT_BIT and
6473         VM_CALL_ARGS_BLOCKARG_BIT
6475         * compile.c, compile.h : add ADD_SEND, ADD_SEND_R
6478 2004-11-10(Wed) 08:26:25 +0900  Koichi Sasada  <ko1@atdot.net>
6480         * add "vm_" prefix to (block_object, proc_object, env_object)
6483 2004-11-03(Wed) 15:52:14 +0900  Koichi Sasada  <ko1@atdot.net>
6485         * yarvcore.h, yarvcore.c, disasm.c, compile.c, insns.def, vm.c :
6486         fix to move x86_64 (illegal cast, etc)
6489 2004-11-01(Mon) 04:45:54 +0900  Koichi Sasada  <ko1@atdot.net>
6491         * yarvcore.h, compile.c, debug.c, version.h : 
6492         redesgin gc debug scheme (GC_CHECK())
6494         * yarvcore.c : mark iseqobj->current_block on GC
6496         * insns.def, compile.c : last "throw" in ensure/rescue block
6497         use operand throwobj and before this insn, use "getdynamic 0, 1"
6499         * benchmark/bm_temp.rb : move to benchmark bmx_temp.rb
6501         * depend : change some targets
6504 2004-10-25(Mon) 19:57:58 +0900  Koichi Sasada  <ko1@atdot.net>
6506         * compile.c : push exception iseq to iseqobj->iseq_mark_ary
6507         to mark for GC
6510 2004-10-10(Sun) 16:25:03 +0900  Koichi Sasada  <ko1@atdot.net>
6512         * compile.c : remove $_, $' area from method local frame
6513         and provide that's special method local variables pointer(LFP[-1])
6515         * disasm.c : change environment showing format
6517         * yarvcore.(h|c) : add YarvProc, YarvEnv
6519         * yarvcore.h : add arg_block field to iseq_object
6520         and init -1 as default value
6523 2004-09-30(Thu) 19:50:48 +0900  Koichi Sasada  <ko1@atdot.net>
6525         * compile.c, insns.def : support passing splat argument
6527         * compile.c, insns.def : support rest argument
6529         * compile.c, insns.def : support optional argument initializer
6531         * test/test_method.rb : add tests for above
6534 2004-09-29(Wed) 10:50:03 +0900  Koichi Sasada  <ko1@atdot.net>
6536         * compile.c : fix rescue clause popped
6538         * benchmark/bm_random.rb : move to benchmark/bmx_random.rb
6541 2004-09-29(Wed) 01:25:35 +0900  Koichi Sasada  <ko1@atdot.net>
6543         * many many files: change stack frame design
6546 2004-09-16(Thu) 08:51:37 +0900  Koichi Sasada  <ko1@atdot.net>
6548         * compile.c, yarvcore.h : support 'return' from method
6549         in ensure clause
6552 2004-09-13(Mon) 21:56:40 +0900  Koichi Sasada  <ko1@atdot.net>
6554         * compile.c : support inline cache constant access
6555         on NODE_COLON2, NODE_COLON3
6557         * depend : add 'vtest' rule(verbose test)
6560 2004-09-13(Mon) 10:58:44 +0900  Koichi Sasada  <ko1@atdot.net>
6562         * compile.c, yarvcore.h : support redo/next/break in
6563         while/until
6566 2004-09-13(Mon) 08:50:19 +0900  Koichi Sasada  <ko1@atdot.net>
6568         * test/test_jump.rb : added(correctly)
6570         * benchamark/bm_(ensure|rescue|simplereturn).rb added
6573 2004-09-12(Sun) 23:30:20 +0900  Koichi Sasada  <ko1@atdot.net>
6575         * test/test_jump.rb : added
6577         * insns.def, compile.c : add 'putnil' insn
6579         * compile.c : use '===' when rescue check
6581         * insns.def : remove 'rescuecheck' insn
6583         * compile.c : support retry in begin/rescue clause
6585         * ToDo : added
6588 2004-09-08(Wed) 12:34:04 +0900  Koichi Sasada  <ko1@atdot.net>
6590         * yarvcore.h, yarvcore.c : add idThrow*
6592         * insns.def, compile.c, vm.c : support retry, break,
6593         next, redo, return(imcomplete)
6596 2004-09-03(Fri) 13:40:08 +0900  Koichi Sasada  <ko1@atdot.net>
6598         * compile.c : add nop after rescue body
6600         * insns.def, vm.c : support stack rewind when thrown
6603 2004-09-01(Wed) 17:31:01 +0900  Koichi Sasada  <ko1@atdot.net>
6605         * test/test_exception.rb : added
6608 2004-09-01(Wed) 13:15:14 +0900  Koichi Sasada  <ko1@atdot.net>
6610         * vm.c, insns.def : implementing exception handling
6613 2004-09-01(Wed) 00:18:54 +0900  Koichi Sasada  <ko1@atdot.net>
6615         * insns.def : add 'throw' insn
6617         * compile.c : support 'rescue' and 'ensure' clause
6619         * yarvcore.c, yarvcore.h : add 'catch_table' to iseq_struct
6622 2004-08-30(Mon) 19:06:12 +0900  Koichi Sasada  <ko1@atdot.net>
6624         * compile.h : NEW_ISEQOBJ don't pass self as parent
6626         * compile.c : use NEW_CHILD_ISEQOBJ explicitly
6629 2004-08-29(Sun) 21:09:55 +0900  Koichi Sasada  <ko1@atdot.net>
6631         * compile.c : trying to implement rescue/ensure
6633         * insns.def : fix yield bug(lfp, dfp link)
6636 2004-08-28(Sat) 13:52:15 +0900  Koichi Sasada  <ko1@atdot.net>
6638         * compile.c : fix dvar bug
6640         * test/test_block.rb : add test
6642         * insns.def, insnhelper.h : remove unused source code
6645 2004-08-28(Sat) 08:51:26 +0900  Koichi Sasada  <ko1@atdot.net>
6647         * compile.c : support NODE_DASGN
6649         * test/test_block.rb : add test
6652 2004-08-28(Sat) 08:13:04 +0900  Koichi Sasada  <ko1@atdot.net>
6654         * compile.c, insns.def : support access to instance variable
6656         * test/test_class.rb : add test of instance variable
6658         * benchmark/bm_block.rb : added
6661 2004-08-28(Sat) 07:48:43 +0900  Koichi Sasada  <ko1@atdot.net>
6663         * test/test_block.rb : fix block parameter name
6666 2004-08-28(Sat) 07:27:52 +0900  Koichi Sasada  <ko1@atdot.net>
6668         * compile.c, insns.def : support method call with block
6669         and yield and add some functions
6671         * compile.c, insns.def : support dynavars accessor
6673         * test/test_block.rb : added
6675         * vm.c : fix block parameter stack dump
6678 2004-08-27(Fri) 23:56:47 +0900  Koichi Sasada  <ko1@atdot.net>
6680         * compile.c(iseq_compile) : remove parameter iseqtype
6681         (this information can access via self)
6683 2004-08-27(Fri) 17:13:35 +0900  Koichi Sasada  <ko1@atdot.net>
6685         * test/test_bin.rb : add test(absolute path constant)
6687         * yarvcore.h, compile.c(iseq_compile) : change parameter
6689         * insns.def(classdef) : fix bug
6692 2004-08-27(Fri) 04:53:13 +0900  Koichi Sasada  <ko1@atdot.net>
6694         * insns.def : support setconstant, getconstant, classdef,
6695         moduledef
6697         * vm.h : fix debug levels and so on
6699         * vm.h : foo_WORD -> foo_WC
6701         * test/test_class.rb : added
6704 2004-08-25(Wed) 17:51:50 +0900  Koichi Sasada  <ko1@atdot.net>
6706         * insns.def : fix getconstant/setconstant/classdef
6709 2004-08-25(Wed) 14:27:10 +0900  Koichi Sasada  <ko1@atdot.net>
6711         * debug.[ch] : added
6713         * compile.c, disasm.c : use debug interface
6715         * compile.c : support some nodes
6717         * compile.c, rb/insns2vm.rb : remove TS_CPATH
6719         * insns.def : modify classdef/moduledef/singletonclassdef
6720         and add popcref
6722         * and others...
6725 2004-08-18(Wed) 20:16:45 +0900  Koichi Sasada  <ko1@atdot.net>
6727         * compile.c : fix case/when statement with empty else clause
6729         * insns.def : enable compile
6731         * yarvcore.h : add class search path scheme
6733         * test/test_syn.rb : add switch/case test case
6735         * tmpl/yarvarch.ja : update documents
6738 2004-05-22(Sat) 01:30:44 +0900  Koichi Sasada  <ko1@atdot.net>
6740         * yarvutil.rb : add eval_in_wrap
6742         * test/test_*.rb : change to use eval_in_wrap
6745 2004-05-20(Thu) 02:50:32 +0900  Koichi Sasada  <ko1@atdot.net>
6747         * support global variables
6749         * benchmark/bm_*.rb : add some benchmarks
6751         * compile.c : support NODE_ATTRASGN
6753         * compile.c : add debugi(...)
6756 2004-05-19(Wed) 23:19:38 +0900  Koichi Sasada  <ko1@atdot.net>
6758         * test/test_method.rb : added
6761 2004-05-19(Wed) 22:56:09 +0900  Koichi Sasada  <ko1@atdot.net>
6763         * insns.def : fix typo
6765         * benchmark/run.rb : sort benchmark order by filename
6767         * extconf.rb : use --enable/disable-xxx
6769         * version.h : ditto(don't touch to change yarv options)
6772 2004-05-19(Wed) 21:18:55 +0900  Koichi Sasada  <ko1@atdot.net>
6774         * yarvutil.rb : added
6776         * test.rb, test/*, benchmark/run.rb : use yarvutil.rb
6778         * version.h : USE_OPTIMIZED_REGEXP_MATCH added
6780         * yarvcore.h : add idEqTilde
6782         * yarvcore.c(yarvcore_parse, yarvcore_eval) : require file and line
6783         parameter
6785         * test/test_bin.rb : add regexp test
6787         * benchmark/bm_regexp.rb : added
6790 2004-05-19(Wed) 13:57:31 +0900  Koichi Sasada  <ko1@atdot.net>
6792         * compile.c : add compile_dstr(self, node)
6794         * compile.c : support NODE_MATCH2, NODE_MATCH3, NODE_DXSTR
6796         * insns.def : add toregexp
6799 2004-05-18(Tue) 10:12:20 +0900  Koichi Sasada  <ko1@atdot.net>
6801         * compile.c : support NODE_XDSTR
6803         * test/test_bin.rb : add test for above change
6806 2004-05-18(Tue) 09:46:33 +0900  Koichi Sasada  <ko1@atdot.net>
6808         * insns.def(send) : store regs before call_cfunc
6811 2004-05-18(Tue) 08:55:17 +0900  Koichi Sasada  <ko1@atdot.net>
6813         * compile.c : support NODE_DSTR, NODE_EVSTR
6815         * compile.c : support NODE_XSTR
6817         * insns.def : add tostring operation
6819         * rb/makedocs.rb : fix directory path
6821         * depend : add tbench rule
6823         * yarvcore.h : add 'exten ID idBackquote'
6826 2004-05-18(Tue) 00:09:48 +0900  Koichi Sasada  <ko1@atdot.net>
6828         * version.h : add USE_OPTIMIZED_BASIC_OPERATION
6830         * yarvcore.h(struct thread_object) : add 'VALUE stat_insn_usage'
6833 2004-05-17(Mon) 11:28:55 +0900  Koichi Sasada  <ko1@atdot.net>
6835         * version.h, insns.def, yarvcore.c : add FAKE_INLINE_METHOD_CACHE
6838 2004-05-17(Mon) 09:05:53 +0900  Koichi Sasada  <ko1@atdot.net>
6840         * compile.c : fix generating opt_* insn process
6843 2004-05-17(Mon) 08:58:49 +0900  Koichi Sasada  <ko1@atdot.net>
6845         * benchmark/(bm_tarai.rb, bm_fib.rb) : added
6848 2004-05-17(Mon) 08:20:12 +0900  Koichi Sasada  <ko1@atdot.net>
6850         * benchmark/(bm_tak.rb, bm_reccount.rb) : added
6852         * insns.def : test method cache(incomplete)
6854         * insns.def : add expandarray insn
6856         * yarvcore.c(iseq_init) : add parameter 'parent'
6859 2004-05-17(Mon) 01:49:48 +0900  Koichi Sasada  <ko1@atdot.net>
6861         * benchmark/run.rb, bm_factorial.rb, bm_whileloop.rb : added
6863         * insns.def(send) : set id to ruby_frame->orig_func
6865         * check behavior on mswin32 and cygwin
6867         * insns.def(send) : check stack overflow
6870 2004-05-16(Sun) 08:00:55 +0900  Koichi Sasada  <ko1@atdot.net>
6872         * change frame structure(debugging)
6875 2004-05-14(Fri) 15:06:02 +0900  Koichi Sasada  <ko1@atdot.net>
6877         * insns2vm.rb : support file name arguments
6880 2004-05-14(Fri) 04:33:09 +0900  Koichi Sasada  <ko1@atdot.net>
6882         * insns.def : support (easy) constant
6885 2004-05-12(Wed) 01:51:48 +0900  Koichi Sasada  <ko1@atdot.net>
6887         * rb/insns2vm.b : set directory prefix
6889         * disasm.c : fix bug
6892 2004-05-12(Wed) 00:00:17 +0900  Koichi Sasada  <ko1@atdot.net>
6894         * vm.h, compiler.h, version.h : move *DEBUG defs to version.h
6897 2004-05-11(Tue) 23:00:11 +0900  Koichi Sasada  <ko1@atdot.net>
6899         * vm.h, version.h, yarvcore.h : move gcc ver check to version.h
6900         and include version.h from yarvcore.h
6903 2004-05-11(Tue) 19:16:26 +0900  Koichi Sasada  <ko1@atdot.net>
6905         * 0.0.0.d : imported
6908 Local variables:
6909 add-log-time-format: (lambda ()
6910   (let* ((time (current-time))
6911          (diff (+ (cadr time) 32400))
6912          (lo (% diff 65536))
6913          (hi  (+ (car time) (/ diff 65536))))
6914   (format-time-string "%Y-%m-%d(%a) %H:%M:%S +900"  (list hi lo) t)))
6915 indent-tabs-mode: t
6916 tab-width: 8
6917 end: