1# $Id: ChangeLog 590 2006-12-31 09:02:34Z ko1 $
2#
3# YARV ChangeLog
4#  from Mon, 03 May 2004 01:24:19 +0900
5#
6
7Sun Dec 31 18:01:50 2006  Koichi Sasada  <ko1@atdot.net>
8
9	* bin/* : ruby/trunk/bin 11437
10
11
12Sun Dec 31 17:42:05 2006  Koichi Sasada  <ko1@atdot.net>
13
14	* eval.c : remove old Kernel#funcall definition
15
16
172006-12-30(Sat) 07:59:26 +0900  Koichi Sasada  <ko1@atdot.net>
18
19	* catch up ruby/trunk 11437
20
21	* eval_intern.h : reorder tag initialization
22
23	* eval.c : fix to support __send!, funcall and prohibit funcall as
24	send
25
26	* eval_error.h, eval_jump.h, eval_safe.h : fix prototypes
27
28	* eval_method.h, vm.c : check re-definition at rb_add_method()
29
30	* yarvcore.h : fix typo
31
32	* compile.c : fix white spaces
33
34	* lib/delegate.rb : fix to support __send, ...
35
36	* lib/getoptlong.rb : fix to work on YARV
37
38	* lib/rss/parser.rb : use __send! instead of __send__
39
40	* sample/test.rb : comment out codes which use |&b| type block parameter
41
42	* ext/ripper/extconf.rb : turn off
43
44	* test/ripper/test_files.rb, test_parser_events.rb,
45	test_scanner_events.rb : fix to check it has ripper module
46
47	* vm_dump.c : remove showing file path length limitation
48
49	* yarvtest/test_eval.rb : use __send! instead of __send__
50
51
522006-12-19(Tue) 11:46:08 +0900  Koichi Sasada  <ko1@atdot.net>
53
54	* doc/* : added
55
56	* ext/openssl : added
57
58	* ext/ripper : added
59
60	* test/openssl : added
61
62	* test/ripper : added
63
64	* misc : added
65
66	* rb/ -> tool/ : renamed
67
68	* common.mk : fixed for above change
69
70	* ruby_doc/* : move to topdir
71
72	* sample/* : added
73
74	* test2.rb : removed
75
76
772006-12-15(Fri) 09:42:46 +0900  Koichi Sasada  <ko1@atdot.net>
78
79	* compile.c : remove obsolete codes
80
81	* insns.def : fix a comment of getconstant
82
83
842006-12-13(Wed) 16:26:06 +0900  Koichi Sasada  <ko1@atdot.net>
85
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
92
93
942006-12-12(Tue) 13:13:32 +0900  Koichi Sasada  <ko1@atdot.net>
95
96	* rb/insns2vm.rb : add PREFETCH() statement
97
98	* vm.h : ditto
99
100	* yarvcore.h : fix LIKELY(x) and
101	remove main_thread_val field from yarv_vm_t
102
103	* yarvcore.c : ditto
104
105	* thread.c : support fork
106
107	* eval_thread.c : ditto
108
109	* process.c : ditto
110
111	* signal.c : ditto
112
113	* test/ruby/test_signal.rb :
114
115	* thread_pthread.ci : rename timer thread functions
116
117	* thread_win32.ci : ditto
118
119
1202006-11-10(Fri) 21:29:13 +0900  Koichi Sasada  <ko1@atdot.net>
121
122	* compile.c : fix to compile arguments
123
124	* insns.def : fix to duplicate first array value on concatarray
125	instruction
126
127	* yarvtest/test_bin.rb : add a test for above change
128
129	* sample/test.rb : fix to catch up Ruby HEAD (fix to remove test about
130	module duplicate)
131
132
1332006-11-10(Fri) 12:49:11 +0900  Koichi Sasada  <ko1@atdot.net>
134
135	* vm_macro.def : fix to inherit visibility on
136	NODE_SUPER method invocation
137
138
1392006-11-10(Fri) 09:13:46 +0900  Koichi Sasada  <ko1@atdot.net>
140
141	* class.c : revert module duplicate inclusion
142
143	* parse.y : catch up current Ruby HEAD
144
145	* node.h : ditto
146
147	* compile.c : ditto
148
149	* gc.c : ditto
150
151	* iseq.c : ditto
152
153	* eval_thread.c : define Continuation (null class)
154
155	* vm_dump.c : fix to output backtrae to stderr
156
157	* yarvtest/test_block.rb : remove unsupported test
158
159	* yarvtest/test_class.rb : add a test about super
160
161	* yarvtest/test_syntax.rb : add a test about case/when
162
163
1642006-11-09(Thu) 10:22:59 +0900  Koichi Sasada  <ko1@atdot.net>
165
166	* call_cfunc.h -> call_cfunc.ci : renamed
167
168	* vm_evalbody.h, vm_evalbody.ci : ditto
169
170	* thread_pthread.h, thread_pthread.ci : separate declaration and
171	implementation
172
173	* thread_win32.h, thread_win32.ci : ditto
174
175	* thread.c : use *.ci instead of *.c as implementation
176
177	* vm.c : ditto
178
179	* common.mk : fix rules for above changes
180
181
1822006-11-08(Wed) 17:23:23 +0900  Koichi Sasada  <ko1@atdot.net>
183
184	* vm_dump.c : show C level backtrace (pointer only) with
185	backtrace() function (glibc feature)
186
187	* configure.in : ditto
188
189	* yarvcore.c : add NSDR method (show C level backtrace)
190
191	* error.c : fix indent
192
193
1942006-11-07(Tue) 13:17:10 +0900  Koichi Sasada  <ko1@atdot.net>
195
196	* eval.c (rb_set_errinfo) : added
197
198	* ruby.h : ditto
199
200	* version.h : fix version number
201
202	* lib/webrick/utils.rb : fix to remove Thread.critical
203
204	* ext/dbm, dl, gdbm, iconv, io, pty, sdbm : added
205
206	* test/dbm, gdbm, io, logger, net, readline, sdbm, soap,
207	  webrick, win32ole, wsdl, xsd : added
208
209
2102006-11-06(Mon) 22:32:18 +0900  Koichi Sasada  <ko1@atdot.net>
211
212	* array.c : import Ruby HEAD
213
214	* ext/socket/extconf.rb : ditto
215
216	* ext/socket/socket.c : ditto
217
218	* gc.c : ditto
219
220	* lib/date.rb : ditto
221
222	* lib/net/imap.rb : ditto
223
224	* lib/rss/0.9.rb : ditto
225
226	* lib/set.rb : ditto
227
228	* lib/soap/mapping/rubytypeFactory.rb : ditto
229
230	* lib/soap/mimemessage.rb : ditto
231
232	* lib/soap/property.rb : ditto
233
234	* lib/webrick/httprequest.rb : ditto
235
236	* lib/webrick/httputils.rb : ditto
237
238	* lib/xmlrpc/create.rb : ditto
239
240	* lib/xsd/codegen/gensupport.rb : ditto
241
242	* object.c : ditto
243
244	* ruby.h : ditto
245
246	* string.c : ditto
247
248	* version.h : ditto
249
250	* rb/ir.rb : fix to use "diffs" directory
251
252	* vm_dump.c : add "const"
253
254
2552006-11-06(Mon) 16:36:47 +0900  Koichi Sasada  <ko1@atdot.net>
256
257	* eval_proc.c : remove "static" from external global variables
258
259	* eval_thread.c : ditto
260
261	* array.c : fix indent
262
263	* insns.def : add a suitable cast
264
265	* vm_macro.def : allow scalar value on splat arguments
266
267	* yarvtest/test_block.rb : fix to synchronize Ruby HEAD
268
269	* rb/insns2vm.rb : remove String#each for 1.9
270
271	* template/vm.inc.tmpl : ditto (remove String#each_with_index)
272
273
2742006-11-06(Mon) 13:22:34 +0900  Koichi Sasada  <ko1@atdot.net>
275
276	* iseq.c : fixed GC debugging outputs
277
278	* rb/parse.rb : fixed output format
279
280
2812006-11-04(Sat) 09:46:50 +0900  Koichi Sasada  <ko1@atdot.net>
282
283	* compile.c : fix to duplicate "#{'foo'}" string
284
285	* yarvtest/test_bin.rb : add a test for above
286
287	* ext/readline/readline.c : import Ruby HEAD
288
289	* keywords : ditto
290
291	* lex.c : ditto
292
293	* parse.y : ditto
294
295	* lib/mkmf.rb : ditto
296
297	* test/ruby/test_hash.rb : fix to current specification
298
299	* test/ruby/test_string.rb : ditto
300
301
3022006-11-03(Fri) 20:58:36 +0900  Koichi Sasada  <ko1@atdot.net>
303
304	* ext/nkf/nkf-utf8/utf8tbl.h : missed to add
305
306	* configure.in : import ruby HEAD
307
308	* test/ruby/test_array.rb : ditto
309
310	* test/ruby/test_assignment.rb : ditto
311
312	* test/ruby/test_clone.rb : ditto
313
314	* test/socket/test_socket.rb : ditto
315
316	* test/socket/test_unix.rb : ditto
317
318	* test/strscan/test_stringscanner.rb : ditto
319
320	* test/testunit/collector/test_dir.rb : ditto
321
322
3232006-11-03(Fri) 20:22:24 +0900  Koichi Sasada  <ko1@atdot.net>
324
325	* array.c : import current ruby HEAD and apply API changes
326	This version has some known bugs
327
328	* bignum.c : ditto
329
330	* blockinlining.c : ditto
331
332	* class.c : ditto
333
334	* compile.c : ditto
335
336	* dir.c : ditto
337
338	* dln.c : ditto
339
340	* enum.c : ditto
341
342	* enumerator.c : ditto
343
344	* error.c : ditto
345
346	* eval.c : ditto
347
348	* eval_error.h : ditto
349
350	* eval_jump.h : ditto
351
352	* eval_load.c : ditto
353
354	* eval_proc.c : ditto
355
356	* ext/*
357
358	* file.c : ditto
359
360	* gc.c : ditto
361
362	* hash.c : ditto
363
364	* insns.def : ditto
365
366	* instruby.rb : ditto
367
368	* intern.h : ditto
369
370	* io.c : ditto
371
372	* iseq.c : ditto
373
374	* lib/*
375
376	* marshal.c : ditto
377
378	* math.c : ditto
379
380	* missing/vsnprintf.c : ditto
381
382	* mkconfig.rb : ditto
383
384	* node.h : ditto
385
386	* numeric.c : ditto
387
388	* object.c : ditto
389
390	* oniguruma.h : ditto
391
392	* pack.c : ditto
393
394	* parse.y : ditto
395
396	* prec.c : ditto
397
398	* process.c : ditto
399
400	* random.c : ditto
401
402	* range.c : ditto
403
404	* rb/ir.rb : ditto
405
406	* re.c : ditto
407
408	* regcomp.c : ditto
409
410	* regerror.c : ditto
411
412	* regexec.c : ditto
413
414	* regint.h : ditto
415
416	* regparse.c : ditto
417
418	* regparse.h : ditto
419
420	* ruby.c : ditto
421
422	* ruby.h : ditto
423
424	* rubytest.rb : ditto
425
426	* runruby.rb : ditto
427
428	* sample/test.rb : ditto
429
430	* signal.c : ditto
431
432	* sprintf.c : ditto
433
434	* st.c : ditto
435
436	* st.h : ditto
437
438	* string.c : ditto
439
440	* struct.c : ditto
441
442	* test/*
443
444	* thread.c : ditto
445
446	* time.c : ditto
447
448	* util.c : ditto
449
450	* variable.c : ditto
451
452	* version.h : ditto
453
454	* vm.c : ditto
455
456	* vm_dump.c : ditto
457
458	* vm_macro.def : ditto
459
460	* win32/*
461
462
4632006-10-31(Tue) 22:47:50 +0900  Koichi Sasada  <ko1@atdot.net>
464
465	* parse.y : fix NEWHEAP bugs (import HEAD)
466
467	* ruby.c, intern.h, yarvcore.c (rb_load_file) : change to
468	return parsed node pointer
469
470	* rb/ir.rb : add check mode
471
472
4732006-09-01(Fri) 22:05:28 +0900  Koichi Sasada  <ko1@atdot.net>
474
475	* compile.c : fix a bug of peephole optimization and enable
476	regexp optimization
477
478
4792006-08-21(Mon) 05:27:48 +0900  Koichi Sasada  <ko1@atdot.net>
480
481	* lib/mathn.rb : remove "remove_method :gcd2"
482
483	* opt_insn_unif.def : unset opt setting
484
485	* opt_operand.def : ditto
486
487
4882006-08-18(Fri) 17:55:31 +0900  Koichi Sasada  <ko1@atdot.net>
489
490	* common.mk : add dependency of yarvcore.h to thread.o
491
492	* gc.c : change comment line
493
494	* thread.c : remove some line break
495
496	* yarvcore.c : reoder initialize sequence to mark main thread
497
498
4992006-08-18(Fri) 16:51:34 +0900  Koichi Sasada  <ko1@atdot.net>
500
501	* yarvcore.h : add a support for cache values per thread
502
503	* yarvcore.c : ditto
504
505	* gc.c : ditto
506
507	* thread.c : move a expression after acquiring lock
508
509	* compile.c : add a cast to remove warning
510
511
5122006-08-18(Fri) 02:07:45 +0900  Koichi Sasada  <ko1@atdot.net>
513
514	* compile.c : fix to return rhs value on ATTRASGIN
515
516	* insns.def (setn) : add insn setn
517
518	* yarvtest/test_bin.rb : add tests for above
519
520
5212006-08-17(Thu) 22:46:08 +0900  Koichi Sasada  <ko1@atdot.net>
522
523	* vm.c : clear callee_id ([yarv-dev:1073])
524
525
5262006-08-17(Thu) 22:14:15 +0900  Koichi Sasada  <ko1@atdot.net>
527
528	* thread_pthread.h : fix error message
529
530
5312006-08-17(Thu) 12:23:52 +0900  Koichi Sasada  <ko1@atdot.net>
532
533	* eval.c : change initialize routine order ([yarv-dev:1067])
534
535	* yarvcore.c (Init_yarv) : init th->machine_stack_start
536
537	* thread_pthread.h : add malloc value check ([yarv-dev:1066])
538
539	* insns.def (opt_eq) : fix typo ([yarv-dev:1072])
540
541	* yarvtest/test_opts.rb : add a test for above
542
543	* yarvtest/test_class.rb : add a test for last commit
544
545
5462006-08-17(Thu) 11:02:16 +0900  Koichi Sasada  <ko1@atdot.net>
547
548	* class.c (clone_method) : check undef-ed method ([yarv-dev:1068])
549
550
5512006-08-15(Tue) 15:07:43 +0900  Koichi Sasada  <ko1@atdot.net>
552
553	* insns.def : fix opt_plus routine ([yarv-dev-en:149])
554
555	* yarvtest/test_opts.rb : add tests for above
556
557
5582006-08-06(Sun) 06:24:51 +0900  Koichi Sasada  <ko1@atdot.net>
559
560	* common.mk : fix build rule (build only ruby binary when benchmark)
561
562	* yarvcore.[ch] : fix and add yarv_iseq_new_with_* API
563
564	* blockinlining.c : ditto
565
566	* compile.c : ditto
567
568	* compile.h : ditto
569
570	* iseq.c : ditto
571
572	* eval_method.h : check redefinition for specialized instruction
573
574	* insnhelper.h : ditto
575
576	* insns.def : ditto
577
578	* vm.c : ditto
579
580	* vm.h : ditto
581
582	* numeric.c : add Fixnum#succ
583
584	* thread.c : remove duplicated method Thread#current
585
586	* yarvcore.c : remove duplicated method Proc#clone
587
588	* yarvtest/test_opts.rb : added
589
590
5912006-07-20(Thu) 04:10:13 +0900  Koichi Sasada  <ko1@atdot.net>
592
593	* compile.c : fix [yarv-dev:1041] problem (raise TypeError)
594
595	* eval.c : rb_funcall2 send as NOEX_PRIVATE and check scope
596
597
5982006-07-20(Thu) 03:38:46 +0900  Koichi Sasada  <ko1@atdot.net>
599
600	* yarvcore.c : fix [yarv-dev:1040] bug
601
602
6032006-07-18(Tue) 18:45:52 +0900  Koichi Sasada  <ko1@atdot.net>
604
605	* some files : set property "svn:eol-style" as native
606
607
6082006-07-18(Tue) 18:35:55 +0900  Koichi Sasada  <ko1@atdot.net>
609
610        * gc.h : fix a static function name
611
612        * vm.c : remove Japanese comments
613
614        * yarvcore.c : add a comment
615
616	* some files : set property "svn:eol-style" as native
617
618
6192006-07-18(Tue) 16:48:01 +0900  Koichi Sasada  <ko1@atdot.net>
620
621	* vm.c : remove unused code
622
623	* compile.c : add checking value
624
625	* iseq.c : ditto
626
627	* yarvcore.c : fix yarv_th_eval prototype declaration
628
629	* yarvtest/yarvtest.rb : use compile instead of parse method
630
631
6322006-07-12(Wed) 15:18:58 +0900  Koichi Sasada  <ko1@atdot.net>
633
634	* yarv_version.h : 0.4.1
635
636	* Changes : ditto
637
638
6392006-07-12(Wed) 13:38:03 +0900  Koichi Sasada  <ko1@atdot.net>
640
641        * eval.c : fix indent
642
643        * gc.h : fix syntax bug
644
645        * thread_pthread.h : vanish warnning message
646
647        * iseq.c : ditto
648
649        * compile.c : ditto
650
651        * thread.c : ditto
652
653        * vm.c : ditto
654
655        * yarvcore.c : prohibit tail call optimization to mark
656	iseq object
657
658        * yarvcore.h : add some allocator function declaration
659
660        * yarvtest/test_eval.rb : remove output
661
662
6632006-07-12(Wed) 05:01:23 +0900  Koichi Sasada  <ko1@atdot.net>
664
665	* yarvcore.c : undef alloc funcs
666
667	* eval_proc.c : ditto (use factory faction)
668
669	* thread.c : ditto
670
671	* vm.c : ditto
672
673	* iseq.c : fix compile option creation
674
675	* rb/allload.rb : use compile_file method
676
677	* rb/compile.rb : ditto
678
679	* rb/parse.rb : ditto
680
681	* template/insnstbl.html : hide mail addr
682
683
6842006-07-11(Tue) 21:34:29 +0900  Minero Aoki  <aamine@loveruby.net>
685
686	* test/ruby/test_dir.rb: new test test_JVN_13947696.
687
688
6892006-07-11(Tue) 21:26:41 +0900  Minero Aoki  <aamine@loveruby.net>
690
691	* test/ruby/test_alias.rb: new test test_JVN_83768862.
692
693
6942006-07-11(Tue) 11:33:49 +0900  Koichi Sasada  <ko1@atdot.net>
695
696	* compile.c : fix compile error on C90
697
698
6992006-07-11(Tue) 10:40:23 +0900  Koichi Sasada  <ko1@atdot.net>
700
701	* disasm.c : removed
702
703	* iseq.c : added
704
705	* common.mk : ditto
706
707	* blockinlining.c : Get*Val => Get*Ptr
708
709	* eval.c : ditto
710
711	* yarvcore.c : ditto
712
713	* eval_proc.c : ditto
714
715	* vm_dump.c : ditto
716
717	* vm_macro.def : ditto
718
719	* signal.c : ditto
720
721	* vm.c : ditto
722
723	* thread.c : ditto
724
725	* compile.c : rename local variable insnobj => iobj
726
727	* compile.c : support yarv_compile_option_t
728
729	* gc.h : added
730
731	* insns.def : use OPT_CHECKED_RUN instead of IGNORE_OPTIMIZE
732
733	* rb/compile.rb : use compile option
734
735	* template/optinsn.inc.tmpl : fix function name
736
737	* vm_opts.h.base : change macros
738
739	* rb/insns2vm.rb : ditto
740
741	* yarv.h : fix yarvcore_eval_parsed parameter type
742
743	* yarvcore.c : fix some interfaces (functions)
744
745	* yarvcore.h : add a type yarv_compile_option_t
746
747
7482006-07-06(Thu) 13:45:20 +0900  Koichi Sasada  <ko1@atdot.net>
749
750	* lib/yasm.rb : pass builder object if block arity == 1
751
752
7532006-07-05(Wed) 11:23:50 +0900  Koichi Sasada  <ko1@atdot.net>
754
755	* lib/yasm.rb : fix method name
756
757	* vm.c (th_set_top_stack) : check toplevel or not
758
759
7602006-07-04(Tue) 20:05:38 +0900  Koichi Sasada  <ko1@atdot.net>
761
762	* rb/compile.rb : added
763
764	* yarvtest/yarvtest.rb : disable load/store test
765
766
7672006-07-04(Tue) 18:17:15 +0900  Koichi Sasada  <ko1@atdot.net>
768
769	* compile.c : fix some bugs about load iseq data
770
771	* disasm.c : ditto (store)
772
773	* eval.c (rb_f_local_variables) : fix bugs
774
775	* insns.def : fix otp_ltlt condition bug
776
777	* vm.c : ditto
778
779	* yarvcore.c : rename some functions
780
781	* yarvtest/yarvtest.rb : add iseq load/store tests
782	(to enable this, remove comment)
783
784
7852006-07-03(Mon) 01:54:23 +0900  Koichi Sasada  <ko1@atdot.net>
786
787	* eval_thread.c : add parameter "th" to thread_set_raised
788
789	* yarvcore.h : ditto
790
791	* eval_intern.h : ditto
792
793	* eval.c : ditto
794
795	* eval_error.h : declare with ANSI style
796
797	* disasm.c : rename iseq_iseq2simpledata() to iseq_data_to_ary
798
799	* lib/yasm.rb : rename Instruction#to_simpledata to
800	Instruction#to_a
801
802	* yarvcore.c : ditto
803
804	* vm.c : fix bug (Proc.new{|*args| p args}.call(1) #=> 1)
805
806	* yarvtest/test_proc.rb : add a tests for above
807
808
8092006-06-21(Wed) 09:19:06 +0900  Koichi Sasada  <ko1@atdot.net>
810
811	* compile.c : remove yarv_iseq_t#catch_table_ary and
812	add yarv_iseq_t#compile_data#catch_table_ary
813
814	* compile.h : ditto
815
816	* yarvcore.c : ditto
817
818	* yarvcore.h : ditto
819
820	* eval_thread.c : remove unused code
821
822	* thread.c : add rb_gc_mark_threads() (from eval_thread.c)
823
824
8252006-05-31(Wed) 21:26:38 +0900  Koichi Sasada  <ko1@atdot.net>
826
827        * parse.y : prohibit tail call optimization to mark vparsr
828	object
829
830
8312006-05-25(Thu) 15:37:11 +0900  Koichi Sasada  <ko1@atdot.net>
832
833	* blockinlining.c : support NEW_ATTRASGN node
834
835	* class.c : skip undefined method to collect ([yarv-dev:999])
836
837	* yarvtest/test_class.rb : add a test for above
838
839	* compile.c : fix opt_regexpmatch1 condition
840
841	* lib/monitor.rb : fix [yarv-dev:1009]
842
843	* rb/insns2vm.rb : fix typo
844
845	* thread.c : prohibit unlock by not mutex owner thread
846
847	* vm_opts.h.base : change default option
848
849
8502006-05-18(Thu) 16:00:50 +0900  Koichi Sasada  <ko1@atdot.net>
851
852	* intern.h : fix prototype declarations for last re.c change
853
854
8552006-05-18(Thu) 12:12:03 +0900  Koichi Sasada  <ko1@atdot.net>
856
857	* rb/runruby.rb : added
858
859	* thread.c (rb_thread_alone) : check if vm->living_threads
860	is available
861
862
8632006-05-18(Thu) 12:05:35 +0900  Koichi Sasada  <ko1@atdot.net>
864
865	* signal.c : not mask SIGSEGV
866
867	* thread.c : fix debug output on Win32
868
869	* thread.c, thread_pthread.h : add some debug prints
870
871	* yarvcore.c : mark machine registers on thread_mark
872
873
8742006-05-17(Wed) 18:09:20 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
875
876	* dir.c (sys_warning): should not call a vararg function
877	  rb_sys_warning() indirectly.  [ruby-core:07886]
878
879
8802006-05-17(Wed) 16:41:41 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
881
882	* re.c (rb_reg_initialize): should not allow modifying literal
883	  regexps.  frozen check moved from rb_reg_initialize_m as well.
884
885	* re.c (rb_reg_initialize): should not modify untainted objects in
886	  safe levels higher than 3.
887
888	* re.c (rb_memcmp): type change from char* to const void*.
889
890	* dir.c (dir_close): should not close untainted dir stream.
891
892	* dir.c (GetDIR): add tainted/frozen check for each dir operation.
893
894
8952006-05-07(Sun) 21:06:28 +0900  Koichi Sasada  <ko1@atdot.net>
896
897	* thread.c : remove Mutex#unlock_and_stop and add Mutex#sleep
898
899	* lib/monitor.rb : ditto
900
901	* lib/thread.rb : ditto
902
903	* thread_pthread.h : fix stack size
904
905	* thread_win32.h : fix sleep
906
907	* yarvcore.h : disable to use get/setcontext
908
909	* lib/webrick/server.rb : add experimental implementation
910	using thraeds pool
911
912
9132006-05-05(Fri) 13:59:00 +0900  Koichi Sasada  <ko1@atdot.net>
914
915	* test/ruby/test_signal.rb : disable a test
916
917	* thread.c : do trylock before lock on mutex_lock
918
919	* thread_win32.h : use CriticalSection instead of Mutex
920
921
9222006-05-05(Fri) 03:03:22 +0900  Koichi Sasada  <ko1@atdot.net>
923
924	* common.mk : vtune rule make run test.rb
925
926	* disasm.c : fix syntax errors (on VC)
927
928	* yarvcore.c : ditto
929
930	* lib/thread.rb : Mutex#synchronize is defined here
931
932	* lib/*.rb : ditto
933
934	* signal.c : separate pthread or not
935
936	* thread.c : support lightweight wakeup
937
938	* thread_pthread.h : ditto
939
940	* thread_win32.h : ditto
941
942	* yarvcore.h : ditto
943
944	* yarvtest/test_thread.rb : restore last change
945
946
9472006-05-04(Thu) 18:11:43 +0900  Koichi Sasada  <ko1@atdot.net>
948
949	* eval_thread.c : remove rb_thread_interrupt
950
951	* intern.h : ditto
952
953	* signal.c : change signal transfer route
954
955	* thread.c : ditto
956
957	* thread_pthread.h : ditto
958
959	* thread_win32.h : ditto
960
961	* yarv.h : support GET_VM()
962
963	* yarvcore.h : change yarv_thread_t/yarv_vm_t structure
964
965	* yarvtest/test_thread.rb : decrease threads to test
966
967
9682006-05-04(Thu) 00:26:18 +0900  Koichi Sasada  <ko1@atdot.net>
969
970	* thread_pthread.h : experimental support of thread cache
971
972
9732006-04-25(Tue) 22:30:14 +0900  Koichi Sasada  <ko1@atdot.net>
974
975	* yarvcore.h : remove struct yarv_cmethod_info, add
976	data structure for profiling and extend yarv_control_frame_t
977
978	* vm.c : make pop_frame() and apply above change
979
980	* eval.c : ditto
981
982	* vm_dump.c : ditto
983
984	* vm_macro.def : ditto
985
986	* insns.def (leave): use pop_frame() instead of
987	POP_CONTROL_STACK_FRAME() macro
988
989	* insnhelper.h : remove some macros
990
991	* yarvcore.c : change th_set_top_stack() prototype
992
993
9942006-04-18(Tue) 18:37:08 +0900  Koichi Sasada  <ko1@atdot.net>
995
996	* compile.c, disasm.c : support export/import exception
997	information
998
999	* yarvcore.h : change "struct catch_table_entry" member variable
1000	order
1001
1002
10032006-04-13(Thu) 17:11:30 +0900  Koichi Sasada  <ko1@atdot.net>
1004
1005	* bignum.c : import ruby 1.9 HEAD (Ruby 1.9.0 2006-04-08)
1006
1007	* dir.c : ditto
1008
1009	* enumerator.c : ditto
1010
1011	* ext/.document : ditto
1012
1013	* ext/extmk.rb : ditto
1014
1015	* ext/nkf/lib/kconv.rb : ditto
1016
1017	* ext/nkf/nkf-utf8/nkf.c : ditto
1018
1019	* ext/nkf/nkf-utf8/utf8tbl.c : ditto
1020
1021	* ext/nkf/nkf.c : ditto
1022
1023	* ext/nkf/test.rb : ditto
1024
1025	* ext/socket/.cvsignore : ditto
1026
1027	* ext/win32ole/sample/excel2.rb : ditto
1028
1029	* ext/win32ole/tests/testOLEMETHOD.rb : ditto
1030
1031	* ext/win32ole/tests/testOLEPARAM.rb : ditto
1032
1033	* ext/win32ole/tests/testOLETYPE.rb : ditto
1034
1035	* ext/win32ole/tests/testOLETYPELIB.rb : ditto
1036
1037	* ext/win32ole/tests/testOLEVARIABLE.rb : ditto
1038
1039	* ext/win32ole/tests/testOLEVARIANT.rb : ditto
1040
1041	* ext/win32ole/tests/testWIN32OLE.rb : ditto
1042
1043	* ext/win32ole/tests/testall.rb : ditto
1044
1045	* ext/win32ole/win32ole.c : ditto
1046
1047	* gc.c : ditto
1048
1049	* instruby.rb : ditto
1050
1051	* io.c : ditto
1052
1053	* lib/delegate.rb : ditto
1054
1055	* lib/fileutils.rb : ditto
1056
1057	* lib/find.rb : ditto
1058
1059	* lib/irb/ruby-lex.rb : ditto
1060
1061	* lib/mkmf.rb : ditto
1062
1063	* lib/net/http.rb : ditto
1064
1065	* lib/open-uri.rb : ditto
1066
1067	* lib/pathname.rb : ditto
1068
1069	* lib/rational.rb : ditto
1070
1071	* lib/rdoc/parsers/parse_rb.rb : ditto
1072
1073	* lib/rdoc/ri/ri_paths.rb : ditto
1074
1075	* lib/resolv.rb : ditto
1076
1077	* lib/test/unit/collector/objectspace.rb : ditto
1078
1079	* lib/webrick/httpservlet/cgihandler.rb : ditto
1080
1081	* math.c : ditto
1082
1083	* mkconfig.rb : ditto
1084
1085	* object.c : ditto
1086
1087	* oniguruma.h : ditto
1088
1089	* pack.c : ditto
1090
1091	* parse.y : ditto
1092
1093	* re.c : ditto
1094
1095	* re.h : ditto
1096
1097	* regcomp.c : ditto
1098
1099	* regerror.c : ditto
1100
1101	* regparse.c : ditto
1102
1103	* ruby.h : ditto
1104
1105	* rubytest.rb : ditto
1106
1107	* runruby.rb : ditto
1108
1109	* string.c : ditto
1110
1111	* test/digest/test_digest.rb : ditto
1112
1113	* test/pathname/test_pathname.rb : ditto
1114
1115	* test/ruby/envutil.rb : ditto
1116
1117	* test/ruby/test_float.rb : ditto
1118
1119	* test/ruby/test_pack.rb : ditto
1120
1121	* time.c : ditto
1122
1123	* util.c : ditto
1124
1125	* version.h : ditto
1126
1127	* win32/mkexports.rb : ditto
1128
1129	* win32/resource.rb : ditto
1130
1131	* win32/win32.c : ditto
1132
1133
11342006-04-11(Tue) 11:26:53 +0900  Koichi Sasada  <ko1@atdot.net>
1135
1136	* rb/yasm.rb : move to lib/yasm.rb
1137
1138
11392006-04-09(Sun) 03:04:04 +0900  Koichi Sasada  <ko1@atdot.net>
1140
1141	* compile.c : change to accept method iseq object when loading from
1142	simple data
1143
1144	* yarvcore.c : add a debug output
1145
1146	* rb/yasm.rb : change some interfaces
1147
1148
11492006-04-07(Fri) 20:25:03 +0900  Koichi Sasada  <ko1@atdot.net>
1150
1151	* compile.c : fix miss about range of catch "next"
1152
1153	* eval.c : add braces
1154
1155
11562006-04-07(Fri) 11:09:43 +0900  Koichi Sasada  <ko1@atdot.net>
1157
1158	* common.mk : fix some make rules
1159
1160	* insns.def : rename some instructions name
1161
1162	* rb/insns2vm.rb : change some operand type name
1163
1164	* vm_evalbody.h : ditto
1165
1166	* template/insns.inc.tmpl : add YARV_MAX_INSTRUCTION_SIZE macro
1167
1168	* compile.c, disasm.c, yarvcore.c : support load/store iseq from/to simple
1169	data structure such as array, literals, and so on
1170
1171	* rb/yasm.rb : supported
1172
1173	* vm.c : change interface of eval_define_method
1174
1175	* yarvcore.h : remove unused externals
1176
1177
11782006-03-08(Wed) 10:31:29 +0900  Minero Aoki  <aamine@loveruby.net>
1179
1180	* lib/delegate.rb (DelegateClass): do not delegate #send and
1181	  #funcall.
1182
1183
11842006-02-27(Mon) 22:39:17 +0900  Minero Aoki  <aamine@loveruby.net>
1185
1186	* lib/thread.rb: last commit causes busy loop, revert it. [yarv-dev:990]
1187
1188	* lib/thread.rb: non_block=true wrongly caused ThreadError.
1189
1190
11912006-02-27(Mon) 21:33:49 +0900  Koichi Sasada  <ko1@atdot.net>
1192
1193	* common.mk : fix to display command line
1194
1195	* compile.c : fix comparison between a pointer and 0
1196
1197	* debug.c : fix to output stder
1198
1199	* disasm.c : add debug function
1200
1201	* vm_dump.c : ditto
1202
1203	* eval_proc.c : fix to skip class definition
1204
1205	* ruby.h : fix T_VALUE to T_VALUES
1206
1207	* gc.c : ditto
1208
1209	* node.h : fix prototypes
1210
1211	* vm.c : add VM_DEBUG macro
1212
1213	* vm.c : fix compile error on VC++
1214
1215	* vm.c : fix to inherit last lfp[0] on th_set_finish_env
1216
1217	* vm.c : fix to add one svar location for any frame
1218
1219	* vm_macro.def : ditto
1220
1221	* yarvcore.h : add YARV_CLASS_SPECIAL_P() and YARV_BLOCK_PTR_P()
1222
1223	* rdoc/ : removed
1224
1225	* insns.def : fix to propagete throw state
1226
1227
12282006-02-27(Mon) 13:54:47 +0900  Minero Aoki  <aamine@loveruby.net>
1229
1230	* ext/syslog: imported from Ruby CVS trunk HEAD.
1231
1232	* ext/racc: ditto.
1233
1234
12352006-02-27(Mon) 12:47:10 +0900  Minero Aoki  <aamine@loveruby.net>
1236
1237	* parse.y: follow coding style change.
1238
1239
12402006-02-27(Mon) 11:53:07 +0900  Minero Aoki  <aamine@loveruby.net>
1241
1242	* lib/README: imported from Ruby CVS trunk HEAD.
1243
1244	* lib/gserver.rb: ditto.
1245
1246	* lib/readbytes.rb: ditto.
1247
1248	* lib/parsearg.rb: ditto.
1249
1250	* lib/racc: ditto.
1251
1252	* lib/rinda: ditto.
1253
1254
12552006-02-27(Mon) 11:27:19 +0900  Minero Aoki  <aamine@loveruby.net>
1256
1257	* lib/thread.rb (Queue#pop): faster code. [yarv-dev:973]
1258
1259	* lib/thread.rb (Queue#pop): avoid to push same thread in to
1260	  @waiting.
1261
1262
12632006-02-23(Thu) 23:32:53 +0900  Minero Aoki  <aamine@loveruby.net>
1264
1265	* lib/open3.rb: imported from Ruby CVS trunk HEAD (rev 1.12).
1266
1267
12682006-02-23(Thu) 15:10:09 +0900  Koichi Sasada  <ko1@atdot.net>
1269
1270	* eval.c : support rb_frame_self()
1271
1272	* eval_intern.h (th_get_ruby_level_cfp) : return 0 if no cfp
1273
1274	* eval_load.c : comment out scope set
1275
1276	* yarvcore.c : fix to initialize/free process of iseq
1277
1278	* vm.c (th_invoke_proc) : fix to set special cref always
1279
1280	* yarvtest/test_proc.rb : add a test for above
1281
1282
12832006-02-22(Wed) 23:33:47 +0900  Koichi Sasada  <ko1@atdot.net>
1284
1285	* common.mk : add rule "runruby"
1286
1287	* eval_thread.c : remove obsolete comment
1288
1289	* eval.c : remove unused functions
1290
1291	* signal.c : ditto
1292
1293	* gc.c : add rb_register_mark_object() and use it
1294
1295	* eval_load.c : ditto
1296
1297	* eval_proc.c : ditto
1298
1299	* ext/etc/etc.c : ditto
1300
1301	* ext/win32ole/win32ole.c : ditto
1302
1303	* ruby.h : ditto
1304
1305	* yarvcore.h : ditto
1306
1307	* thread.c : add rb_thread_run_parallel()
1308
1309	* yarvcore.c : change bootstrap
1310
1311
13122006-02-22(Wed) 19:27:33 +0900  Koichi Sasada  <ko1@atdot.net>
1313
1314	* ext/win32ole/.cvsignore : removed
1315
1316	* ext/win32ole/.document : ditto
1317
1318
13192006-02-22(Wed) 18:17:06 +0900  Koichi Sasada  <ko1@atdot.net>
1320
1321	* yarvcore.c : set Binding as YARVCore::VM::Binding
1322
1323
13242006-02-22(Wed) 12:54:45 +0900  Koichi Sasada  <ko1@atdot.net>
1325
1326	* ChangeLog : remove needless line
1327
1328
13292006-02-22(Wed) 12:49:02 +0900  Koichi Sasada  <ko1@atdot.net>
1330
1331	* rubysig.h : remove CHECK_INTS
1332
1333	* eval.c : ditto
1334
1335	* eval_load.c : ditto
1336
1337	* ext/readline/readline.c : ditto
1338
1339	* thread.c : ditto
1340
1341	* win32/win32.c : ditto
1342
1343	* yarv_version.h : 0.4.0
1344
1345	* Changes : ditto
1346
1347
13482006-02-22(Wed) 11:36:04 +0900  Koichi Sasada  <ko1@atdot.net>
1349
1350	* test.rb : removed
1351
1352
13532006-02-22(Wed) 11:12:17 +0900  Koichi Sasada  <ko1@atdot.net>
1354
1355	* README : renewed
1356
1357	* version.c : fixed version message
1358
1359	* yarvext/ : removed
1360
1361
13622006-02-22(Wed) 10:33:04 +0900  Koichi Sasada  <ko1@atdot.net>
1363
1364	* lib/.document : imported from Ruby 1.9 HEAD
1365
1366	* .document : ditto
1367
1368	* ext/.document : ditto
1369
1370	* lib/ftools.rb : ditto
1371
1372	* lib/rdoc/ : ditto
1373
1374	* eval_thread.c : remove unused functions
1375
1376	* process.c : ditto
1377
1378	* rb/insns2vm.rb : compare modified date of vm_opts.h and
1379	vm_opts.h.base
1380
1381	* ruby.h : rename RValue to RValues
1382
1383	* gc.c : ditto
1384
1385	* vm.c : ditto
1386
1387
13882006-02-22(Wed) 06:32:10 +0900  Koichi Sasada  <ko1@atdot.net>
1389
1390	* configure.in : remove last commit
1391
1392
13932006-02-22(Wed) 06:18:53 +0900  Koichi Sasada  <ko1@atdot.net>
1394
1395	* configure.in : add default program prefix "-yarv"
1396
1397
13982006-02-22(Wed) 06:11:36 +0900  Koichi Sasada  <ko1@atdot.net>
1399
1400	* common.mk : change default rule (same as HEAD)
1401
1402	* configure : removed
1403
1404	* eval.c : remove last commit
1405
1406	* vm.c : fix stack traverse
1407
1408	* yarvcore.c : initialize top of control frame
1409
1410	* version.c : 2.0
1411
1412	* version.h : ditto
1413
1414
14152006-02-22(Wed) 04:50:42 +0900  Koichi Sasada  <ko1@atdot.net>
1416
1417	* eval.c : change to rewind C level control frame
1418
1419	* vm.c : change to initialize cfp#proc and fix comparison of
1420	cfp and limit_cfp
1421
1422	* yarvcore.c : remove last commit
1423
1424
14252006-02-22(Wed) 03:25:56 +0900  Koichi Sasada  <ko1@atdot.net>
1426
1427	* yarvcore.c : initialize each stack of thread
1428
1429
14302006-02-22(Wed) 00:02:08 +0900  Koichi Sasada  <ko1@atdot.net>
1431
1432	* thread.c : fix synchornize return value ([yarv-dev:957])
1433	and some synchornization error
1434
1435	* thread_pthread.h : add debug helper function
1436
1437
14382006-02-21(Tue) 20:54:28 +0900  Koichi Sasada  <ko1@atdot.net>
1439
1440	* eval.c : fix place of rb_thread_terminate_all()
1441
1442	* eval_thread.c : remove unused functions
1443
1444	* yarv.h : remove GET_VM()
1445
1446	* eval_jump.h : ditto
1447
1448	* insns.def : ditto
1449
1450	* vm_dump.c :
1451
1452	* intern.h : change rb_thread_signal_raise/exit interface
1453
1454	* signal.c : ditto
1455
1456	* thread.c : ditto
1457
1458	* test/ruby/test_beginendblock.rb : use block with IO.popen
1459
1460	* thread_pthread.h : fix interrupt process
1461
1462	* thread_win32.h : ditto
1463
1464	* yarvcore.c : fix thread free process
1465
1466	* yarvcore.h : remove yarv_vm_t#thread_critical, etc
1467
1468
14692006-02-21(Tue) 12:42:44 +0900  Koichi Sasada  <ko1@atdot.net>
1470
1471	* eval_thread.c : remove unused function rb_thread_schedule()
1472
1473	* thread.c : rename yarv_thread_schedule to rb_thread_schedule()
1474
1475	* thread.c, eval.c : fix to terminate all thread and barrier at
1476	eval.c#ruby_cleanup()
1477
1478	* thread_win32.h : remove native_thread_cleanup()
1479
1480	* thread_pthread.h : ditto
1481
1482	* yarvcore.c : ditto
1483
1484	* yarvtest/test_thread.rb : separete assersions to tests
1485
1486
14872006-02-21(Tue) 02:13:33 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
1488
1489	* parse.y (f_arglist): should set command_start = Qtrue for
1490	  command body.  [ruby-talk:180648]
1491
1492
14932006-02-20(Mon) 20:41:07 +0900  Koichi Sasada  <ko1@atdot.net>
1494
1495	* thread.c : fix to synchronize signal_thread_list access
1496	and fix typo
1497
1498
14992006-02-20(Mon) 17:54:58 +0900  Koichi Sasada  <ko1@atdot.net>
1500
1501	* eval_proc.c : remove unused Binding functions and
1502	set is_lambda of Proc used define_method
1503
1504	* yarvcore.c : support Proc#dup/clone, Binding#dup/clone
1505
1506	* sample/test.rb : remove unsupport features (Proc as Binding)
1507
1508
15092006-02-20(Mon) 16:28:59 +0900  Koichi Sasada  <ko1@atdot.net>
1510
1511	* common.mk : add a dependency to vm.c on eval_intern.h
1512
1513	* eval_intern.h : fix to initialize tag->tag
1514
1515	* yarvtest/test_jump.rb : add tests for above
1516
1517	* eval_jump.h : use local variable
1518
1519
15202006-02-20(Mon) 15:13:24 +0900  Koichi Sasada  <ko1@atdot.net>
1521
1522	* benchmark/bm_vm3_thread_create_join.rb : added
1523
1524	* test/yaml/test_yaml.rb : imported from Ruby CVS trunk HEAD
1525
1526
15272006-02-20(Mon) 14:49:46 +0900  Minero Aoki  <aamine@loveruby.net>
1528
1529	* lib/yaml.rb: imported from Ruby CVS trunk HEAD.
1530
1531	* lib/yaml: ditto.
1532
1533	* ext/syck: ditto.
1534
1535
15362006-02-20(Mon) 13:58:03 +0900  Koichi Sasada  <ko1@atdot.net>
1537
1538	* compile.c : support block parameter which is NODE_ATTRASGN
1539
1540	* yarvtest/test_block.rb : add tests for above
1541
1542	* compile.c : fix NODE_DASGN_CURR level check
1543
1544	* compile.c : fix "||=" (at firtst, check "defined? val")
1545
1546	* compile.c : fix NODE_MATCH3 (permute receiver and argument)
1547
1548	* yarvtest/test_bin.rb : add tests for above
1549
1550	* eval.c : add rb_each()
1551
1552	* test/ruby/test_signal.rb : increment a timeout value
1553
1554	* thread.c, yarvcore.h : fix "join" flow
1555
1556	* thread_pthread.h : ditto
1557
1558	* thread_win32.h : ditto
1559
1560	* yarvtest/test_thread.rb : add a test for above
1561
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")
1565
1566	* yarvtest/test_method.rb : add a test for above
1567
1568	* yarvcore.c : remove unused functions
1569
1570
15712006-02-20(Mon) 11:22:31 +0900  Minero Aoki  <aamine@loveruby.net>
1572
1573	* test/ruby/test_eval.rb: now Object#funcall is defined.
1574
1575
15762006-02-20(Mon) 11:04:32 +0900  Minero Aoki  <aamine@loveruby.net>
1577
1578	* lib/irb/lc/ja/CVS: removed.
1579
1580
15812006-02-20(Mon) 10:55:59 +0900  Minero Aoki  <aamine@loveruby.net>
1582
1583	* lib/mutex_m.rb: imported from Ruby CVS trunk HEAD.
1584
1585	* lib/observer.rb: ditto.
1586
1587	* lib/wsdl: ditto.
1588
1589	* lib/monitor.rb: ditto (removing Thread.critical=).
1590
1591	* lib/xsd: ditto.
1592
1593	* lib/soap: ditto.
1594
1595	* lib/drb.rb: ditto.
1596
1597	* lib/drb: ditto.
1598
1599
16002006-02-20(Mon) 10:49:31 +0900  Minero Aoki  <aamine@loveruby.net>
1601
1602	* yarvcore.c (Init_yarvcore): fix typo (duo -> dup).
1603
1604
16052006-02-19(Sun) 01:27:08 +0900  Koichi Sasada  <ko1@atdot.net>
1606
1607	* vm.c : "return" from lambda{} break block
1608
1609	* eval.c : Unsupport Proc as Binding
1610
1611	* test/ruby/test_eval.rb : apply above changes
1612
1613	* yarvcore.c : remove unused function yarv_yield_values()
1614
1615
16162006-02-18(Sat) 03:19:36 +0900  Koichi Sasada  <ko1@atdot.net>
1617
1618	* thread.c, insns.def : fix passing value when thread killed
1619
1620	* yarvtest/test_thread.rb : add tests for above
1621
1622
16232006-02-19(Sun) 01:19:42 +0900  Minero Aoki  <aamine@loveruby.net>
1624
1625	* lib/thread.rb (SizedQueue): didn't work.  This patch was
1626	  contributed by yukimizake. [yarv-dev:916]
1627
1628
16292006-02-18(Sat) 03:19:36 +0900  Koichi Sasada  <ko1@atdot.net>
1630
1631	* thread.c, insns.def : fix passing value when thread killed
1632
1633	* yarvtest/test_thread.rb : add tests for above
1634
1635
16362006-02-18(Sat) 02:40:18 +0900  Koichi Sasada  <ko1@atdot.net>
1637
1638	* insns.def, vm.c, vm_macro.def : change BMETHOD algorithm
1639	([yarv-dev:914])
1640
1641	* yarvtest/test_class.rb : add a test for above
1642
1643
16442006-02-17(Fri) 23:59:51 +0900  Koichi Sasada  <ko1@atdot.net>
1645
1646	* vm.c, yarv.h : change th_invoke_proc() interface
1647
1648	* eval_proc.c : ditto
1649
1650	* signal.c : ditto
1651
1652	* thread.c : ditto
1653
1654	* yarvcore.c : ditto
1655
1656	* vm_macro.def : ditto and fix NODE_BMETHOD call
1657
1658	* vm.c : change name ("th_set_env()" to "push_frame()") and
1659	change interface
1660
1661	* insns.def : ditto
1662
1663	* eval.c : remove proc_jump_error()
1664
1665	* benchmark/bm_app_answer.rb : added
1666
1667	* vm_opts.h.base : add optimize option
1668
1669
16702006-02-17(Fri) 13:37:57 +0900  Koichi Sasada  <ko1@atdot.net>
1671
1672	* eval.c, ruby.h : add rb_errinfo()
1673
1674	* eval_error.h (error_pos) : fix process order
1675
1676	* bin/erb : imported from ruby 1.9
1677
1678	* bin/irb : ditto
1679
1680	* bin/rdoc : ditto
1681
1682	* bin/ri : ditto
1683
1684	* bin/testrb : ditto
1685
1686	* ext/curses/.cvsignore : ditto
1687
1688	* ext/curses/curses.c : ditto
1689
1690	* ext/curses/depend : ditto
1691
1692	* ext/curses/extconf.rb : ditto
1693
1694	* ext/curses/hello.rb : ditto
1695
1696	* ext/curses/mouse.rb : ditto
1697
1698	* ext/curses/rain.rb : ditto
1699
1700	* ext/curses/view.rb : ditto
1701
1702	* ext/curses/view2.rb : ditto
1703
1704	* ext/fcntl/.cvsignore : ditto
1705
1706	* ext/fcntl/depend : ditto
1707
1708	* ext/fcntl/extconf.rb : ditto
1709
1710	* ext/fcntl/fcntl.c : ditto
1711
1712	* ext/readline/README : ditto
1713
1714	* ext/readline/README.ja : ditto
1715
1716	* ext/readline/depend : ditto
1717
1718	* ext/readline/extconf.rb : ditto
1719
1720	* ext/readline/readline.c : ditto
1721
1722	* ext/win32ole/.document : ditto
1723
1724	* ext/zlib/doc/zlib.rd : ditto
1725
1726	* ext/zlib/extconf.rb : ditto
1727
1728	* ext/zlib/zlib.c : ditto
1729
1730	* lib/cgi/.document : ditto
1731
1732	* lib/cgi/session.rb : ditto
1733
1734	* lib/cgi/session/pstore.rb : ditto
1735
1736	* lib/shell/builtin-command.rb : ditto
1737
1738	* lib/shell/command-processor.rb : ditto
1739
1740	* lib/shell/error.rb : ditto
1741
1742	* lib/shell/filter.rb : ditto
1743
1744	* lib/shell/process-controller.rb : ditto
1745
1746	* lib/shell/system-command.rb : ditto
1747
1748	* lib/shell/version.rb : ditto
1749
1750	* lib/xmlrpc/.document : ditto
1751
1752	* lib/xmlrpc/README.rdoc : ditto
1753
1754	* lib/xmlrpc/README.txt : ditto
1755
1756	* lib/xmlrpc/base64.rb : ditto
1757
1758	* lib/xmlrpc/client.rb : ditto
1759
1760	* lib/xmlrpc/config.rb : ditto
1761
1762	* lib/xmlrpc/create.rb : ditto
1763
1764	* lib/xmlrpc/datetime.rb : ditto
1765
1766	* lib/xmlrpc/httpserver.rb : ditto
1767
1768	* lib/xmlrpc/marshal.rb : ditto
1769
1770	* lib/xmlrpc/parser.rb : ditto
1771
1772	* lib/xmlrpc/server.rb : ditto
1773
1774	* lib/xmlrpc/utils.rb : ditto
1775
1776	* rdoc/README : ditto
1777
1778	* rdoc/code_objects.rb : ditto
1779
1780	* rdoc/diagram.rb : ditto
1781
1782	* rdoc/dot/dot.rb : ditto
1783
1784	* rdoc/generators/chm_generator.rb : ditto
1785
1786	* rdoc/generators/html_generator.rb : ditto
1787
1788	* rdoc/generators/ri_generator.rb : ditto
1789
1790	* rdoc/generators/template/chm/chm.rb : ditto
1791
1792	* rdoc/generators/template/html/hefss.rb : ditto
1793
1794	* rdoc/generators/template/html/html.rb : ditto
1795
1796	* rdoc/generators/template/html/kilmer.rb : ditto
1797
1798	* rdoc/generators/template/html/old_html.rb : ditto
1799
1800	* rdoc/generators/template/html/one_page_html.rb : ditto
1801
1802	* rdoc/generators/template/xml/rdf.rb : ditto
1803
1804	* rdoc/generators/template/xml/xml.rb : ditto
1805
1806	* rdoc/generators/xml_generator.rb : ditto
1807
1808	* rdoc/markup/sample/rdoc2latex.rb : ditto
1809
1810	* rdoc/markup/sample/sample.rb : ditto
1811
1812	* rdoc/markup/simple_markup.rb : ditto
1813
1814	* rdoc/markup/simple_markup/fragments.rb : ditto
1815
1816	* rdoc/markup/simple_markup/inline.rb : ditto
1817
1818	* rdoc/markup/simple_markup/lines.rb : ditto
1819
1820	* rdoc/markup/simple_markup/preprocess.rb : ditto
1821
1822	* rdoc/markup/simple_markup/to_flow.rb : ditto
1823
1824	* rdoc/markup/simple_markup/to_html.rb : ditto
1825
1826	* rdoc/markup/simple_markup/to_latex.rb : ditto
1827
1828	* rdoc/markup/test/AllTests.rb : ditto
1829
1830	* rdoc/markup/test/TestInline.rb : ditto
1831
1832	* rdoc/markup/test/TestParse.rb : ditto
1833
1834	* rdoc/options.rb : ditto
1835
1836	* rdoc/parsers/parse_c.rb : ditto
1837
1838	* rdoc/parsers/parse_f95.rb : ditto
1839
1840	* rdoc/parsers/parse_rb.rb : ditto
1841
1842	* rdoc/parsers/parse_simple.rb : ditto
1843
1844	* rdoc/parsers/parserfactory.rb : ditto
1845
1846	* rdoc/rdoc.rb : ditto
1847
1848	* rdoc/ri/ri_cache.rb : ditto
1849
1850	* rdoc/ri/ri_descriptions.rb : ditto
1851
1852	* rdoc/ri/ri_display.rb : ditto
1853
1854	* rdoc/ri/ri_driver.rb : ditto
1855
1856	* rdoc/ri/ri_formatter.rb : ditto
1857
1858	* rdoc/ri/ri_options.rb : ditto
1859
1860	* rdoc/ri/ri_paths.rb : ditto
1861
1862	* rdoc/ri/ri_reader.rb : ditto
1863
1864	* rdoc/ri/ri_util.rb : ditto
1865
1866	* rdoc/ri/ri_writer.rb : ditto
1867
1868	* rdoc/template.rb : ditto
1869
1870	* rdoc/tokenstream.rb : ditto
1871
1872	* rdoc/usage.rb : ditto
1873
1874	* test/xmlrpc/data/bug_bool.expected : ditto
1875
1876	* test/xmlrpc/data/bug_bool.xml : ditto
1877
1878	* test/xmlrpc/data/bug_cdata.expected : ditto
1879
1880	* test/xmlrpc/data/bug_cdata.xml : ditto
1881
1882	* test/xmlrpc/data/bug_covert.expected : ditto
1883
1884	* test/xmlrpc/data/bug_covert.xml : ditto
1885
1886	* test/xmlrpc/data/datetime_iso8601.xml : ditto
1887
1888	* test/xmlrpc/data/fault.xml : ditto
1889
1890	* test/xmlrpc/data/value.expected : ditto
1891
1892	* test/xmlrpc/data/value.xml : ditto
1893
1894	* test/xmlrpc/data/xml1.expected : ditto
1895
1896	* test/xmlrpc/data/xml1.xml : ditto
1897
1898	* test/xmlrpc/test_datetime.rb : ditto
1899
1900	* test/xmlrpc/test_features.rb : ditto
1901
1902	* test/xmlrpc/test_marshal.rb : ditto
1903
1904	* test/xmlrpc/test_parser.rb : ditto
1905
1906	* test/xmlrpc/test_webrick_server.rb : ditto
1907
1908	* test/xmlrpc/webrick_testing.rb : ditto
1909
1910	* test/zlib/test_zlib.rb : ditto
1911
1912
19132006-02-17(Fri) 09:41:35 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
1914
1915	* thread.c (sleep_timeval): sleep should always sleep for
1916	  specified amount of time.  [ruby-talk:180067]
1917
1918
19192006-02-17(Fri) 02:20:32 +0900  Koichi Sasada  <ko1@atdot.net>
1920
1921	* eval_safe.h, ruby.h : remove ruby_safe_level and add
1922	rb_safe_level() and rb_set_safe_level_force()
1923
1924	* eval.c : use above functions
1925
1926	* eval_jump.h : ditto
1927
1928	* eval_load.c : ditto
1929
1930	* eval_method.h : ditto
1931
1932	* eval_proc.c : ditto
1933
1934	* eval_thread.c : ditto
1935
1936	* gc.c : ditto
1937
1938	* signal.c : ditto
1939
1940	* variable.c : ditto
1941
1942	* ext/win32ole/win32ole.c : ditto
1943
1944	* vm.c (th_invoke_proc) : save and restore safe level
1945
1946	* yarvtest/test_proc.rb : add tests for above
1947
1948	* thread.c : remove unused functions
1949
1950
19512006-02-17(Fri) 01:08:23 +0900  Koichi Sasada  <ko1@atdot.net>
1952
1953	* compile.c, insns.def : remove a setspecial second unused operand
1954
1955	* eval_load.c : remove unused variable th
1956
1957	* eval_proc.c, yarvcore.c : remove some functions from eval_proc.c
1958	and move to yarvcore.c
1959
1960	* insns.def : fix to delete warnings
1961
1962	* sample/test.rb : comment out Proc#clone tests
1963
1964	* version.c : add constant RUBY_VM_DATE
1965
1966	* vm.c : fix some functions
1967
1968
19692006-02-16(Thu) 22:58:27 +0900  Koichi Sasada  <ko1@atdot.net>
1970
1971	* insns.def, vm.c : use th_yield_setup_args at yield and Proc#call
1972
1973
19742006-02-16(Thu) 19:51:52 +0900  Koichi Sasada  <ko1@atdot.net>
1975
1976	* compile.c : fix analysis of block parameter
1977
1978	* disasm.c : remove rb_bug() (temporarily)
1979
1980	* insns.def, vm.c : fix passing block parameter
1981
1982	* sample/test.rb : add "Proc = YARVCore::VM::Proc"
1983
1984	* test/ruby/test_readpartial.rb : disable on mswin32
1985
1986	* test/socket/test_tcp.rb : ditto
1987
1988	* thread.c : fix syntax error (for non GCC)
1989
1990
19912006-02-15(Wed) 22:34:04 +0900  Koichi Sasada  <ko1@atdot.net>
1992
1993	* eval_method.h : move rb_clear_cache_by_id position
1994
1995	* thread.c : fix Thread#kill
1996
1997	* test/ruby/test_readpartial.rb : enable tests except cygwin version
1998
1999	* test/ruby/test_signal.rb : ditto and enable timeout
2000
2001
20022006-02-15(Wed) 22:13:29 +0900  Minero Aoki  <aamine@loveruby.net>
2003
2004	* lib/runit: forgot to commit.
2005
2006
20072006-02-15(Wed) 22:12:25 +0900  Minero Aoki  <aamine@loveruby.net>
2008
2009	* lib/weakref.rb: do not use Thread.critical=.
2010
2011	* lib/singleton.rb: ditto.
2012
2013	* lib/timeout.rb: ditto.
2014
2015	* lib/thread.rb: ditto.
2016
2017	* test/inlinetest.rb: forgot to commit.
2018
2019
20202006-02-15(Wed) 21:34:17 +0900  Minero Aoki  <aamine@loveruby.net>
2021
2022	* test/test_pp.rb: imported from Ruby CVS trunk HEAD.
2023
2024	* test/test_shellwords.rb: ditto.
2025
2026	* test/test_set.rb: ditto.
2027
2028	* test/test_time.rb: ditto.
2029
2030	* test/test_ipaddr.rb: ditto.
2031
2032	* test/test_prettyprint.rb: ditto.
2033
2034	* test/test_tsort.rb: ditto.
2035
2036	* test/strscan: ditto.
2037
2038	* test/testunit: ditto.
2039
2040
20412006-02-15(Wed) 20:03:21 +0900  Koichi Sasada  <ko1@atdot.net>
2042
2043	* eval_method.h : duplicate NODE_METHOD at make an alias
2044
2045	* yarvtest/test_method.rb : add a test for above
2046
2047
20482006-02-15(Wed) 19:48:59 +0900  Minero Aoki  <aamine@loveruby.net>
2049
2050	* test/rss: imported from Ruby CVS trunk HEAD.
2051
2052
20532006-02-15(Wed) 19:47:51 +0900  Koichi Sasada  <ko1@atdot.net>
2054
2055	* insns.def, compile.c, vm.c : remove methoddef, singletonmethoddef
2056	instructions and make new insn definemethod
2057
2058	* yarvcore.c : set toplevel visibility to private
2059
2060
20612006-02-15(Wed) 17:39:16 +0900  Koichi Sasada  <ko1@atdot.net>
2062
2063	* eval_intern.h :
2064
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
2067
2068	* eval.c : ditto
2069
2070	* eval_load.c : ditto
2071
2072	* insns.def : ditto
2073
2074	* vm.c : ditto
2075
2076	* vm.c (th_make_jump_tag_but_local_jump) : added
2077
2078	* opt_insn_unif.def : fix indnet (revert change)
2079
2080	* opt_operand.def : ditto
2081
2082	* rb/insns2vm.rb : fix error message
2083
2084	* thread.c : raise exception at join if illegal local jump
2085
2086
20872006-02-15(Wed) 14:21:45 +900  Yukihiro Matsumoto  <matz@ruby-lang.org>
2088
2089	* ChangeLog: add local variables line to support Emacs.
2090
2091	* eval.c (rb_obj_instance_exec): add new method from 1.9.
2092
2093	* eval.c (rb_mod_module_exec): ditto.
2094
2095	* eval.c (yield_under_i): should not pass self as an argument to
2096	  the block for instance_eval.  [ruby-core:07364]
2097
2098	* eval.c (rb_obj_instance_eval): should be no singleton classes for
2099	  true, false, and nil.  [ruby-dev:28186]
2100
2101
21022006-02-14(Tue) 19:30:20 +0900  Koichi Sasada  <ko1@atdot.net>
2103
2104	* array.c : fix indent
2105
2106	* eval.c : fix block_given
2107
2108	* gc.c : add STACK_START and use it as a substitute for
2109	rb_gc_stack_start
2110
2111	* vm.c : fix to raise error if th_yield doesn't have block given
2112
2113	* yarvcore.c : fix to skip iseq mark array at ObjectSpace.each_object
2114
2115
21162006-02-14(Tue) 18:15:03 +0900  Koichi Sasada  <ko1@atdot.net>
2117
2118	* configure.in : enable pthread by default
2119
2120	* ascii.c : import ruby 1.9 HEAD
2121
2122	* bignum.c : ditto
2123
2124	* compar.c : ditto
2125
2126	* configure : ditto
2127
2128	* defines.h : ditto
2129
2130	* dln.c : ditto
2131
2132	* dln.h : ditto
2133
2134	* enum.c : ditto
2135
2136	* enumerator.c : ditto
2137
2138	* euc_jp.c : ditto
2139
2140	* ext/win32ole/tests/testWIN32OLE.rb : ditto
2141
2142	* ext/win32ole/win32ole.c : ditto
2143
2144	* file.c : ditto
2145
2146	* hash.c : ditto
2147
2148	* io.c : ditto
2149
2150	* lex.c : ditto
2151
2152	* lib/irb/init.rb : ditto
2153
2154	* lib/rexml/document.rb : ditto
2155
2156	* main.c : ditto
2157
2158	* marshal.c : ditto
2159
2160	* math.c : ditto
2161
2162	* missing.h : ditto
2163
2164	* object.c : ditto
2165
2166	* oniguruma.h : ditto
2167
2168	* pack.c : ditto
2169
2170	* process.c : ditto
2171
2172	* random.c : ditto
2173
2174	* range.c : ditto
2175
2176	* rb/ir.rb : ditto
2177
2178	* re.c : ditto
2179
2180	* regcomp.c : ditto
2181
2182	* regenc.c : ditto
2183
2184	* regenc.h : ditto
2185
2186	* regerror.c : ditto
2187
2188	* regexec.c : ditto
2189
2190	* regint.h : ditto
2191
2192	* regparse.c : ditto
2193
2194	* regparse.h : ditto
2195
2196	* ruby.c : ditto
2197
2198	* ruby.h : ditto
2199
2200	* rubyio.h : ditto
2201
2202	* sjis.c : ditto
2203
2204	* sprintf.c : ditto
2205
2206	* st.c : ditto
2207
2208	* st.h : ditto
2209
2210	* struct.c : ditto
2211
2212	* test/ruby/envutil.rb : ditto
2213
2214	* test/ruby/test_struct.rb : ditto
2215
2216	* time.c : ditto
2217
2218	* utf8.c : ditto
2219
2220	* util.c : ditto
2221
2222	* util.h : ditto
2223
2224	* version.h : ditto
2225
2226	* win32/Makefile.sub : ditto
2227
2228	* win32/win32.c : ditto
2229
2230
22312006-02-14(Tue) 16:40:01 +0900  Koichi Sasada  <ko1@atdot.net>
2232
2233	* yarvcore.c, eval_proc.c : fix rb_proc_arity
2234
2235	* eval.c : declare funcall same as send (temporarily)
2236
2237	* lib/thread.rb : added
2238
2239	* test/pathname/test_pathname.rb : imported from ruby 1.9
2240
2241	* test/scanf/data.txt : ditto
2242
2243	* test/scanf/test_scanf.rb : ditto
2244
2245	* test/scanf/test_scanfblocks.rb : ditto
2246
2247	* test/scanf/test_scanfio.rb : ditto
2248
2249	* test/socket/test_socket.rb : ditto
2250
2251	* test/socket/test_tcp.rb : ditto
2252
2253	* test/socket/test_udp.rb : ditto
2254
2255	* test/socket/test_unix.rb : ditto
2256
2257	* test/stringio/test_stringio.rb : ditto
2258
2259	* test/uri/test_common.rb : ditto
2260
2261	* test/uri/test_ftp.rb : ditto
2262
2263	* test/uri/test_generic.rb : ditto
2264
2265	* test/uri/test_http.rb : ditto
2266
2267	* test/uri/test_ldap.rb : ditto
2268
2269	* test/uri/test_mailto.rb : ditto
2270
2271
22722006-02-14(Tue) 15:59:28 +0900  Koichi Sasada  <ko1@atdot.net>
2273
2274	* thread.c : Change Thread.critical warnning message
2275
2276	* lib/webrick.rb : imported from ruby 1.9
2277
2278	* lib/webrick/accesslog.rb : ditto
2279
2280	* lib/webrick/cgi.rb : ditto
2281
2282	* lib/webrick/compat.rb : ditto
2283
2284	* lib/webrick/config.rb : ditto
2285
2286	* lib/webrick/cookie.rb : ditto
2287
2288	* lib/webrick/htmlutils.rb : ditto
2289
2290	* lib/webrick/httpauth.rb : ditto
2291
2292	* lib/webrick/httpauth/authenticator.rb : ditto
2293
2294	* lib/webrick/httpauth/basicauth.rb : ditto
2295
2296	* lib/webrick/httpauth/digestauth.rb : ditto
2297
2298	* lib/webrick/httpauth/htdigest.rb : ditto
2299
2300	* lib/webrick/httpauth/htgroup.rb : ditto
2301
2302	* lib/webrick/httpauth/htpasswd.rb : ditto
2303
2304	* lib/webrick/httpauth/userdb.rb : ditto
2305
2306	* lib/webrick/httpproxy.rb : ditto
2307
2308	* lib/webrick/httprequest.rb : ditto
2309
2310	* lib/webrick/httpresponse.rb : ditto
2311
2312	* lib/webrick/https.rb : ditto
2313
2314	* lib/webrick/httpserver.rb : ditto
2315
2316	* lib/webrick/httpservlet.rb : ditto
2317
2318	* lib/webrick/httpservlet/abstract.rb : ditto
2319
2320	* lib/webrick/httpservlet/cgi_runner.rb : ditto
2321
2322	* lib/webrick/httpservlet/cgihandler.rb : ditto
2323
2324	* lib/webrick/httpservlet/erbhandler.rb : ditto
2325
2326	* lib/webrick/httpservlet/filehandler.rb : ditto
2327
2328	* lib/webrick/httpservlet/prochandler.rb : ditto
2329
2330	* lib/webrick/httpstatus.rb : ditto
2331
2332	* lib/webrick/httputils.rb : ditto
2333
2334	* lib/webrick/httpversion.rb : ditto
2335
2336	* lib/webrick/log.rb : ditto
2337
2338	* lib/webrick/server.rb : ditto
2339
2340	* lib/webrick/ssl.rb : ditto
2341
2342	* lib/webrick/utils.rb : ditto
2343
2344	* lib/webrick/version.rb : ditto
2345
2346
23472006-02-14(Tue) 14:55:51 +0900  Koichi Sasada  <ko1@atdot.net>
2348
2349	* compile.c, insns.def : support "defined?($1)", ...
2350
2351	* yarvtest/test_syntax.rb : add a test for above
2352
2353	* rb/makedocs.rb : fix template directory path
2354
2355	* vm.c : fix to handle break from proc
2356
2357
23582006-02-14(Tue) 12:42:59 +0900  Koichi Sasada  <ko1@atdot.net>
2359
2360	* eval.c : fix rb_iterate hook
2361
2362	* yarvtest/test_block.rb : add a tests for above
2363
2364	* vm.c : remove unused comment
2365
2366
23672006-02-14(Tue) 12:01:06 +0900  Koichi Sasada  <ko1@atdot.net>
2368
2369	* eval.c : fix to check passed block at block_given_p
2370
2371	* eval_proc.c : fix to pass block at Method#call
2372
2373	* runruby.rb : fix to apply ruby
2374
2375	* test/runner.rb : GC.stress (comment out)
2376
2377	* vm.c : fix indnet
2378
2379
23802006-02-14(Tue) 08:04:33 +0900  Minero Aoki  <aamine@loveruby.net>
2381
2382	* lib/tempfile.rb: use Mutex instead of Thread.critical.
2383
2384	* lib/rss/dublincore.rb: |x,| -> |x,_| to avoid YARV bug (tmp).
2385
2386	* lib/rexml: imported from ruby CVS trunk HEAD.
2387
2388	* test/digest: ditto.
2389
2390	* test/fileutils: ditto.
2391
2392	* test/ostruct: ditto.
2393
2394	* test/erb: ditto.
2395
2396	* test/optparse: ditto.
2397
2398	* test/ruby/test_signal.rb: turn off a test to avoid unknown error
2399	  (tmp).
2400
2401
24022006-02-14(Tue) 07:52:03 +0900  Minero Aoki  <aamine@loveruby.net>
2403
2404	* test/digest: imported from ruby CVS trunk HEAD.
2405
2406	* test/fileutils: ditto.
2407
2408	* test/ostruct: ditto.
2409
2410	* test/erb: ditto.
2411
2412	* test/optparse: ditto.
2413
2414
24152006-02-14(Tue) 06:26:21 +0900  Koichi Sasada  <ko1@atdot.net>
2416
2417	* compile.c, parse.y : support BEGIN{} (remove local scope)
2418
2419	* test/ruby/beginmainend.rb : fix to apply YARV's specification
2420
2421	* test/ruby/test_beginendblock.rb : enable BEGIN{} test
2422
2423	* signal.c : exit at double segv
2424
2425	* insns.def (preexe) : remove instruction "preexe"
2426
2427
24282006-02-14(Tue) 05:53:56 +0900  Minero Aoki  <aamine@loveruby.net>
2429
2430	* eval.c (ruby_cleanup): th->errinfo contains a NODE while
2431	  break'ing, check it before referring klass.
2432
2433
24342006-02-14(Tue) 05:45:07 +0900  Koichi Sasada  <ko1@atdot.net>
2435
2436	* insns.def : fix stack calc of send
2437
2438	* sample/test.rb : remove SEGV causing code
2439
2440
24412006-02-14(Tue) 02:24:21 +0900  Minero Aoki  <aamine@loveruby.net>
2442
2443	* test/ruby/test_module.rb: list order is not a matter.
2444
2445	* test/csv: imported from ruby CVS trunk HEAD.
2446
2447
24482006-02-14(Tue) 02:06:25 +0900  Minero Aoki  <aamine@loveruby.net>
2449
2450	* test/ruby/test_beginendblock.rb: unlock tests.
2451
2452	* test/ruby/beginmainend.rb: new file (imported from ruby CVS
2453	  trunk HEAD).
2454
2455	* test/ruby/endblockwarn.rb: new file (imported from ruby CVS
2456	  trunk HEAD).
2457
2458	* test/ruby/test_file.rb: new file (imported from ruby CVS trunk
2459	  HEAD).
2460
2461
24622006-02-14(Tue) 01:42:11 +0900  Koichi Sasada  <ko1@atdot.net>
2463
2464	* error.c : fix include file position
2465
2466	* test/ruby/test_signal.rb : skip test_exit_action on cygwin
2467
2468
24692006-02-14(Tue) 01:36:57 +0900  Minero Aoki  <aamine@loveruby.net>
2470
2471	* test/ruby/test_class.rb: new file (imported from rubicon).
2472
2473
24742006-02-14(Tue) 01:32:23 +0900  Minero Aoki  <aamine@loveruby.net>
2475
2476	* test/ruby/test_module.rb: ignore PP mixins.
2477
2478
24792006-02-14(Tue) 01:24:56 +0900  Minero Aoki  <aamine@loveruby.net>
2480
2481	* test/ruby/test_lambda.rb: removed (->(){...} syntax is
2482	  obsolete).
2483
2484
24852006-02-14(Tue) 01:20:54 +0900  Minero Aoki  <aamine@loveruby.net>
2486
2487	* test/ruby/test_module.rb: import many tests from rubicon.
2488
2489
24902006-02-14(Tue) 01:06:57 +0900  Koichi Sasada  <ko1@atdot.net>
2491
2492	* compile.c : fix to avoid stack consistency error
2493
2494	* yarvtest/test_exception.rb : add a test for above
2495
2496
24972006-02-14(Tue) 00:42:47 +0900  Koichi Sasada  <ko1@atdot.net>
2498
2499	* yarvcore.h, vm_macro.def : rename VM_CALL_SUPER to VM_CALL_SUPER_BIT
2500
2501	* insns.def (send) : set a flag of super as fcall
2502
2503	* yarvtest/test_class.rb : add a test for above
2504
2505
25062006-02-14(Tue) 00:31:24 +0900  Minero Aoki  <aamine@loveruby.net>
2507
2508	* test/ruby/test_eval.rb: fix typo.
2509
2510	* test/ruby/test_signal.rb: unlock tests.
2511
2512
25132006-02-13(Mon) 23:53:27 +0900  Koichi Sasada  <ko1@atdot.net>
2514
2515	* insns.def, vm_macro.def : fix NODE_ZSUPER dispatch and
2516	fix error message when super without suitable method ([yarv-dev:846])
2517
2518	* yarvcore.h : add VM_CALL_SUPER definition
2519
2520	* yarvtest/test_method.rb : add a test of Module#private_class_method
2521
2522
25232006-02-13(Mon) 22:49:42 +0900  Koichi Sasada  <ko1@atdot.net>
2524
2525	* insns.def : traverse all iseq to find super method ([yarv-dev:859])
2526
2527	* yarvtest/test_class.rb : add a test for above
2528
2529	* yarvcore.c : add clear iseq->defined_method_id
2530
2531	* signal.c : fix to prohibit double segv handler kicked
2532
2533
25342006-02-13(Mon) 22:09:12 +0900  Koichi Sasada  <ko1@atdot.net>
2535
2536	* compile.c : support NODE_DECL, NODE_CLASS with NODE_CLON3 prefix
2537
2538	* yarvtest/test_class.rb : add tests for above
2539
2540
25412006-02-13(Mon) 21:20:57 +0900  Koichi Sasada  <ko1@atdot.net>
2542
2543	* compile.c : fix indent
2544
2545	* compile.c : fix to prohibit "redo" from eval expression
2546
2547
25482006-02-13(Mon) 20:36:06 +0900  Koichi Sasada  <ko1@atdot.net>
2549
2550	* vm.c : fix constant search bug ([yarv-dev:788])
2551
2552	* yarvtest/test_class.rb : add a test of [yarv-dev:788]
2553
2554
25552006-02-13(Mon) 18:09:28 +0900  Koichi Sasada  <ko1@atdot.net>
2556
2557	* test/ruby/test_clone.rb : enable tests with Class#clone
2558
2559	* test/ruby/test_marshal.rb : ditto
2560
2561
25622006-02-13(Mon) 17:42:37 +0900  Koichi Sasada  <ko1@atdot.net>
2563
2564	* class.c : support Class#clone
2565
2566	* compile.c, insns.def : remove popcref
2567
2568	* yarvcore.h, vm.c, insns.def : remove yarv_thread_t#cref_stack
2569
2570	* eval.c, eval_intern.h, eval_load.c : ditto
2571
2572	* yarvtest/test_class.rb : add tests for singleton class
2573
2574	* gc.c : remove "FRAME *" unused variable
2575
2576	* insnhelper.h : fix COPY_CREF
2577
2578	* rb/mklog.rb : add default message
2579
2580	* vm_macro.def : support NODE_ZSUPER as method type
2581
2582
25832006-02-13(Mon) 00:11:17 +0900  Koichi Sasada  <ko1@atdot.net>
2584
2585	* blockinlining.c : refoctoring with CFLAGS+=-Wunused
2586
2587	* eval.c : ditto
2588
2589	* eval_intern.h : ditto
2590
2591	* eval_load.c : ditto
2592
2593	* eval_method.h : ditto
2594
2595	* eval_proc.c : ditto
2596
2597	* eval_thread.c : ditto
2598
2599	* insns.def : ditto
2600
2601	* parse.y : ditto
2602
2603	* thread.c : ditto
2604
2605	* vm.c : ditto
2606
2607
26082006-02-13(Mon) 02:32:34 +0900  Minero Aoki  <aamine@loveruby.net>
2609
2610	* test/ruby/test_const.rb: show better message.
2611
2612	* test/ruby/test_eval.rb: ditto.
2613
2614	* test/ruby/test_module.rb: new file.
2615
2616
26172006-02-12(Sun) 22:22:35 +0900  Koichi Sasada  <ko1@atdot.net>
2618
2619	* array.c : revert last commit
2620
2621	* ascii.c : ditto
2622
2623	* bignum.c : ditto
2624
2625	* class.c : ditto
2626
2627	* compar.c : ditto
2628
2629	* defines.h : ditto
2630
2631	* dir.c : ditto
2632
2633	* dln.c : ditto
2634
2635	* dln.h : ditto
2636
2637	* enum.c : ditto
2638
2639	* enumerator.c : ditto
2640
2641	* error.c : ditto
2642
2643	* euc_jp.c : ditto
2644
2645	* file.c : ditto
2646
2647	* gc.c : ditto
2648
2649	* hash.c : ditto
2650
2651	* intern.h : ditto
2652
2653	* io.c : ditto
2654
2655	* lex.c : ditto
2656
2657	* main.c : ditto
2658
2659	* marshal.c : ditto
2660
2661	* math.c : ditto
2662
2663	* missing.h : ditto
2664
2665	* node.h : ditto
2666
2667	* numeric.c : ditto
2668
2669	* object.c : ditto
2670
2671	* oniguruma.h : ditto
2672
2673	* pack.c : ditto
2674
2675	* prec.c : ditto
2676
2677	* process.c : ditto
2678
2679	* random.c : ditto
2680
2681	* range.c : ditto
2682
2683	* rb/mklog.rb : ditto
2684
2685	* re.c : ditto
2686
2687	* regcomp.c : ditto
2688
2689	* regenc.c : ditto
2690
2691	* regenc.h : ditto
2692
2693	* regerror.c : ditto
2694
2695	* regex.h : ditto
2696
2697	* regexec.c : ditto
2698
2699	* regint.h : ditto
2700
2701	* regparse.c : ditto
2702
2703	* regparse.h : ditto
2704
2705	* ruby.c : ditto
2706
2707	* ruby.h : ditto
2708
2709	* rubyio.h : ditto
2710
2711	* rubysig.h : ditto
2712
2713	* signal.c : ditto
2714
2715	* sjis.c : ditto
2716
2717	* sprintf.c : ditto
2718
2719	* st.c : ditto
2720
2721	* st.h : ditto
2722
2723	* string.c : ditto
2724
2725	* struct.c : ditto
2726
2727	* time.c : ditto
2728
2729	* utf8.c : ditto
2730
2731	* util.c : ditto
2732
2733	* util.h : ditto
2734
2735	* variable.c : ditto
2736
2737	* version.c : ditto
2738
2739
27402006-02-12(Sun) 21:33:10 +0900  Koichi Sasada  <ko1@atdot.net>
2741
2742	* array.c : fix to ruby's indent
2743
2744	* ascii.c : ditto
2745
2746	* bignum.c : ditto
2747
2748	* blockinlining.c : ditto
2749
2750	* call_cfunc.h : ditto
2751
2752	* class.c : ditto
2753
2754	* compar.c : ditto
2755
2756	* compile.c : ditto
2757
2758	* compile.h : ditto
2759
2760	* debug.c : ditto
2761
2762	* debug.h : ditto
2763
2764	* defines.h : ditto
2765
2766	* dir.c : ditto
2767
2768	* disasm.c : ditto
2769
2770	* dln.c : ditto
2771
2772	* dln.h : ditto
2773
2774	* enum.c : ditto
2775
2776	* enumerator.c : ditto
2777
2778	* error.c : ditto
2779
2780	* euc_jp.c : ditto
2781
2782	* eval.c : ditto
2783
2784	* eval_error.h : ditto
2785
2786	* eval_intern.h : ditto
2787
2788	* eval_jump.h : ditto
2789
2790	* eval_load.c : ditto
2791
2792	* eval_method.h : ditto
2793
2794	* eval_proc.c : ditto
2795
2796	* eval_safe.h : ditto
2797
2798	* eval_thread.c : ditto
2799
2800	* file.c : ditto
2801
2802	* gc.c : ditto
2803
2804	* hash.c : ditto
2805
2806	* insnhelper.h : ditto
2807
2808	* insns.def : ditto
2809
2810	* intern.h : ditto
2811
2812	* io.c : ditto
2813
2814	* lex.c : ditto
2815
2816	* main.c : ditto
2817
2818	* marshal.c : ditto
2819
2820	* math.c : ditto
2821
2822	* missing.h : ditto
2823
2824	* node.h : ditto
2825
2826	* numeric.c : ditto
2827
2828	* object.c : ditto
2829
2830	* oniguruma.h : ditto
2831
2832	* opt_insn_unif.def : ditto
2833
2834	* opt_operand.def : ditto
2835
2836	* pack.c : ditto
2837
2838	* prec.c : ditto
2839
2840	* process.c : ditto
2841
2842	* random.c : ditto
2843
2844	* range.c : ditto
2845
2846	* re.c : ditto
2847
2848	* re.h : ditto
2849
2850	* regcomp.c : ditto
2851
2852	* regenc.c : ditto
2853
2854	* regenc.h : ditto
2855
2856	* regerror.c : ditto
2857
2858	* regex.h : ditto
2859
2860	* regexec.c : ditto
2861
2862	* regint.h : ditto
2863
2864	* regparse.c : ditto
2865
2866	* regparse.h : ditto
2867
2868	* ruby.c : ditto
2869
2870	* ruby.h : ditto
2871
2872	* rubyio.h : ditto
2873
2874	* rubysig.h : ditto
2875
2876	* signal.c : ditto
2877
2878	* sjis.c : ditto
2879
2880	* sprintf.c : ditto
2881
2882	* st.c : ditto
2883
2884	* st.h : ditto
2885
2886	* string.c : ditto
2887
2888	* struct.c : ditto
2889
2890	* test.rb : ditto
2891
2892	* thread.c : ditto
2893
2894	* thread_pthread.h : ditto
2895
2896	* thread_win32.h : ditto
2897
2898	* time.c : ditto
2899
2900	* utf8.c : ditto
2901
2902	* util.c : ditto
2903
2904	* util.h : ditto
2905
2906	* variable.c : ditto
2907
2908	* version.c : ditto
2909
2910	* vm.c : ditto
2911
2912	* vm.h : ditto
2913
2914	* vm_dump.c : ditto
2915
2916	* vm_evalbody.h : ditto
2917
2918	* vm_macro.def : ditto
2919
2920	* yarv.h : ditto
2921
2922	* yarv_version.h : ditto
2923
2924	* yarvcore.c : ditto
2925
2926	* yarvcore.h : ditto
2927
2928
29292006-02-12(Sun) 15:53:21 +0900  Koichi Sasada  <ko1@atdot.net>
2930
2931	* lib/abbrev.rb : added
2932
2933	* lib/base64.rb : ditto
2934
2935	* lib/cgi-lib.rb : ditto
2936
2937	* lib/csv.rb : ditto
2938
2939	* lib/date2.rb : ditto
2940
2941	* lib/eregex.rb : ditto
2942
2943	* lib/ipaddr.rb : ditto
2944
2945	* lib/irb.rb : ditto
2946
2947	* lib/irb/cmd/chws.rb : ditto
2948
2949	* lib/irb/cmd/fork.rb : ditto
2950
2951	* lib/irb/cmd/help.rb : ditto
2952
2953	* lib/irb/cmd/load.rb : ditto
2954
2955	* lib/irb/cmd/nop.rb : ditto
2956
2957	* lib/irb/cmd/pushws.rb : ditto
2958
2959	* lib/irb/cmd/subirb.rb : ditto
2960
2961	* lib/irb/completion.rb : ditto
2962
2963	* lib/irb/context.rb : ditto
2964
2965	* lib/irb/ext/change-ws.rb : ditto
2966
2967	* lib/irb/ext/history.rb : ditto
2968
2969	* lib/irb/ext/loader.rb : ditto
2970
2971	* lib/irb/ext/math-mode.rb : ditto
2972
2973	* lib/irb/ext/multi-irb.rb : ditto
2974
2975	* lib/irb/ext/save-history.rb : ditto
2976
2977	* lib/irb/ext/tracer.rb : ditto
2978
2979	* lib/irb/ext/use-loader.rb : ditto
2980
2981	* lib/irb/ext/workspaces.rb : ditto
2982
2983	* lib/irb/extend-command.rb : ditto
2984
2985	* lib/irb/frame.rb : ditto
2986
2987	* lib/irb/help.rb : ditto
2988
2989	* lib/irb/init.rb : ditto
2990
2991	* lib/irb/input-method.rb : ditto
2992
2993	* lib/irb/lc/error.rb : ditto
2994
2995	* lib/irb/lc/help-message : ditto
2996
2997	* lib/irb/lc/ja/CVS/Entries : ditto
2998
2999	* lib/irb/lc/ja/CVS/Repository : ditto
3000
3001	* lib/irb/lc/ja/CVS/Root : ditto
3002
3003	* lib/irb/lc/ja/error.rb : ditto
3004
3005	* lib/irb/lc/ja/help-message : ditto
3006
3007	* lib/irb/locale.rb : ditto
3008
3009	* lib/irb/notifier.rb : ditto
3010
3011	* lib/irb/output-method.rb : ditto
3012
3013	* lib/irb/ruby-lex.rb : ditto
3014
3015	* lib/irb/ruby-token.rb : ditto
3016
3017	* lib/irb/slex.rb : ditto
3018
3019	* lib/irb/version.rb : ditto
3020
3021	* lib/irb/workspace.rb : ditto
3022
3023	* lib/irb/ws-for-case-2.rb : ditto
3024
3025	* lib/irb/xmp.rb : ditto
3026
3027	* lib/jcode.rb : ditto
3028
3029	* lib/logger.rb : ditto
3030
3031	* lib/mailread.rb : ditto
3032
3033	* lib/mathn.rb : ditto
3034
3035	* lib/parsedate.rb : ditto
3036
3037	* lib/pathname.rb : ditto
3038
3039	* lib/ping.rb : ditto
3040
3041	* lib/pstore.rb : ditto
3042
3043	* lib/resolv-replace.rb : ditto
3044
3045	* lib/resolv.rb : ditto
3046
3047	* lib/rss.rb : ditto
3048
3049	* lib/rss/0.9.rb : ditto
3050
3051	* lib/rss/1.0.rb : ditto
3052
3053	* lib/rss/2.0.rb : ditto
3054
3055	* lib/rss/content.rb : ditto
3056
3057	* lib/rss/converter.rb : ditto
3058
3059	* lib/rss/dublincore.rb : ditto
3060
3061	* lib/rss/image.rb : ditto
3062
3063	* lib/rss/maker.rb : ditto
3064
3065	* lib/rss/maker/0.9.rb : ditto
3066
3067	* lib/rss/maker/1.0.rb : ditto
3068
3069	* lib/rss/maker/2.0.rb : ditto
3070
3071	* lib/rss/maker/base.rb : ditto
3072
3073	* lib/rss/maker/content.rb : ditto
3074
3075	* lib/rss/maker/dublincore.rb : ditto
3076
3077	* lib/rss/maker/image.rb : ditto
3078
3079	* lib/rss/maker/syndication.rb : ditto
3080
3081	* lib/rss/maker/taxonomy.rb : ditto
3082
3083	* lib/rss/maker/trackback.rb : ditto
3084
3085	* lib/rss/parser.rb : ditto
3086
3087	* lib/rss/rexmlparser.rb : ditto
3088
3089	* lib/rss/rss.rb : ditto
3090
3091	* lib/rss/syndication.rb : ditto
3092
3093	* lib/rss/taxonomy.rb : ditto
3094
3095	* lib/rss/trackback.rb : ditto
3096
3097	* lib/rss/utils.rb : ditto
3098
3099	* lib/rss/xml-stylesheet.rb : ditto
3100
3101	* lib/rss/xmlparser.rb : ditto
3102
3103	* lib/rss/xmlscanner.rb : ditto
3104
3105	* lib/rubyunit.rb : ditto
3106
3107	* lib/scanf.rb : ditto
3108
3109	* lib/shell.rb : ditto
3110
3111	* lib/singleton.rb : ditto
3112
3113	* lib/tsort.rb : ditto
3114
3115	* lib/weakref.rb : ditto
3116
3117	* eval_jump.c : removed
3118
3119
31202006-02-12(Sun) 15:39:09 +0900  Koichi Sasada  <ko1@atdot.net>
3121
3122	* parse.y : fix to remove including env.h
3123
3124	* yarvtest/test_exception.rb : fix syntax (add 'end')
3125
3126
31272006-02-12(Sun) 15:14:44 +0900  Koichi Sasada  <ko1@atdot.net>
3128
3129	* env.h : removed
3130
3131	* common.mk : remove env.h dependency
3132
3133	* compile.c, eval_intern.h : remove include env.h
3134
3135	* vm.c : ditto
3136
3137	* ruby.h, gc.c, error.c : remove T_SCOPE, T_VARMAP
3138
3139	* parse.y, eval.c : use rb_parse_in_eval() instead of ruby_in_eval
3140
3141	* yarvcore.c, yarvcore.h : add a prase_in_eval member to yarv_thread_t
3142
3143	* insns.def : add push value to throw instruction
3144	for stack consistency
3145
3146	* yarvtest/test_exception.rb : add a test for above
3147
3148	* test/ruby/test_gc.rb : fix typo
3149
3150
31512006-02-12(Sun) 05:05:02 +0900  Koichi Sasada  <ko1@atdot.net>
3152
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
3157
3158
31592006-02-11(Sat) 23:41:11 +0900  Koichi Sasada  <ko1@atdot.net>
3160
3161	* insns.def (methoddef) : fix method declaration in method
3162
3163	* thread.c : Thread.critical to show warning (no effect)
3164
3165
31662006-02-11(Sat) 20:20:18 +0900  Koichi Sasada  <ko1@atdot.net>
3167
3168	* insns.def : fix [yarv-dev:831]
3169
3170	* yarvtest/test_class.rb : add a test for above
3171
3172
31732006-02-11(Sat) 14:29:01 +0900  Koichi Sasada  <ko1@atdot.net>
3174
3175	* rb/mklog.rb : use svk
3176
3177	* error.c : remove newline
3178
3179	* eval.c (rb_block_call) : added
3180
3181	* eval_thread.c : remove some unused functions, comments
3182
3183	* thread.c : add comments (move from eval_thread.c) and support Mutex
3184
3185	* thread.c (rb_thread_select) : supported
3186
3187	* thread_pthread.h (native_mutex_trylock) : added (macro)
3188
3189	* thread_win32.h (native_mutex_trylock) : added
3190
3191	* yarvcore.c : remove unused code
3192
3193	* array.c : import ruby 1.9
3194
3195	* compar.c : ditto
3196
3197	* dln.c : ditto
3198
3199	* enum.c : ditto
3200
3201	* enumerator.c : ditto
3202
3203	* ext/digest/digest.c : ditto
3204
3205	* ext/digest/digest.h : ditto
3206
3207	* ext/digest/sha2/sha2.c : ditto
3208
3209	* ext/etc/etc.c : ditto
3210
3211	* ext/win32ole/win32ole.c : ditto
3212
3213	* hash.c : ditto
3214
3215	* intern.h : ditto
3216
3217	* io.c : ditto
3218
3219	* main.c : ditto
3220
3221	* missing.h : ditto
3222
3223	* missing/flock.c : ditto
3224
3225	* missing/isinf.c : ditto
3226
3227	* missing/vsnprintf.c : ditto
3228
3229	* lib/cgi.rb : ditto
3230
3231	* lib/complex.rb : ditto
3232
3233	* lib/delegate.rb : ditto
3234
3235	* lib/erb.rb : ditto
3236
3237	* lib/fileutils.rb : ditto
3238
3239	* lib/matrix.rb : ditto
3240
3241	* lib/mkmf.rb : ditto
3242
3243	* lib/optparse.rb : ditto
3244
3245	* lib/ostruct.rb : ditto
3246
3247	* lib/pp.rb : ditto
3248
3249	* lib/timeout.rb : ditto
3250
3251	* lib/tmpdir.rb : ditto
3252
3253	* lib/test/unit/autorunner.rb : ditto
3254
3255	* node.h : ditto
3256
3257	* object.c : ditto
3258
3259	* parse.y : ditto
3260
3261	* ruby.c : ditto
3262
3263	* sample/test.rb : ditto
3264
3265	* sprintf.c : ditto
3266
3267	* st.c : ditto
3268
3269	* test/ruby/test_whileuntil.rb : ditto
3270
3271	* test/runner.rb : ditto
3272
3273	* time.c : ditto
3274
3275	* lib/net/.document : added
3276
3277	* lib/net/ftp.rb : ditto
3278
3279	* lib/net/http.rb : ditto
3280
3281	* lib/net/https.rb : ditto
3282
3283	* lib/net/imap.rb : ditto
3284
3285	* lib/net/pop.rb : ditto
3286
3287	* lib/net/protocol.rb : ditto
3288
3289	* lib/net/smtp.rb : ditto
3290
3291	* lib/net/telnet.rb : ditto
3292
3293	* lib/open-uri.rb : ditto
3294
3295
32962006-02-10(Fri) 08:07:34 +0900  Koichi Sasada  <ko1@atdot.net>
3297
3298	* compile.c, insns.def, yarvcore.h : support defined?(private_method) and
3299	defined?(protected_method) (separate DEFINE_METHOD / DEFINE_FUNC)
3300
3301	* yarvtest/test_syntax.rb : add a test for above
3302
3303	* compile.c (iseq_compile_each) : fix NODE_RETURN bug
3304	(double ensure invoke)
3305
3306	* yarvtest/test_flow.rb : add a test for above
3307
3308	* eval.c (get_errinfo) : fix to search $!
3309
3310	* yarvtest/test_exception.rb : add tests for above
3311
3312	* eval_safe.h : support $SAFE
3313
3314	* ext/socket/socket.c : import ruby 1.9
3315
3316	* gc.c (gc_mark_children) : fix making T_VALUE
3317
3318	* test/ruby/test_gc.rb : use GC.stress
3319
3320	* signal.c (sighandler) : send interrupt signal if thread blocked
3321
3322	* test/ruby/test_proc.rb : remove assert false
3323
3324	* test/ruby/test_readpartial.rb : change fail message
3325
3326	* test/ruby/test_signal.rb : remove assert false
3327
3328	* thread.c (thread_start_func_2) : set local_lfp/local_svar
3329	at thread creation
3330
3331	* thread_pthread.h : export native_thread_interrupt
3332
3333	* thread_win32.h : export native_thread_interrupt
3334
3335	* version.h : import ruby 1.9
3336
3337	* vm.c (lfp_svar), yarvcore.h : fix to use Thread local svar
3338
3339	* yarvtest/test_thread.rb : add a test for above
3340
3341	* win32/Makefile.sub : import ruby 1.9
3342
3343	* win32/dir.h : ditto
3344
3345	* win32/setup.mak : ditto
3346
3347	* win32/win32.c : ditto
3348
3349	* yarvtest/yarvtest.rb : fix to remove using ARGV
3350
3351
33522006-02-10(Fri) 01:04:58 +0900  Yukihiro Matsumoto  <matz@ruby-lang.org>
3353
3354	* gc.c (rb_gc_call_finalizer_at_exit): turn on during_gc while
3355	  invoking finalizers.
3356
3357	* gc.c (rb_gc_finalize_deferred): ditto.
3358
3359
33602006-02-08(Wed) 23:17:44 +0900  Minero Aoki  <aamine@loveruby.net>
3361
3362	* test/ruby/test_proc.rb: method names were wrongly duplicated.
3363
3364
33652006-02-08(Wed) 21:30:01 +0900  Minero Aoki  <aamine@loveruby.net>
3366
3367	* ext/nkf: added (imported from ruby CVS trunk HEAD).
3368
3369	* ext/nkf/depend: new file (rev 1.5).
3370
3371	* ext/nkf/extconf.rb: new file (rev 1.2).
3372
3373	* ext/nkf/nkf.c: new file (rev 1.12).
3374
3375	* ext/nkf/test.rb: new file (rev 1.7).
3376
3377	* ext/nkf/nkf-utf8/nkf.c: new file (rev 1.17).
3378
3379	* ext/nkf/nkf-utf8/config.h: new file (rev 1.4).
3380
3381	* ext/nkf/nkf-utf8/utf8tbl.c: new file (rev 1.6).
3382
3383	* ext/nkf/lib/kconv.rb: new file (rev 1.13).
3384
3385	* test/nkf: added (imported from ruby CVS trunk HEAD).
3386
3387	* test/nkf/test_kconv.rb: new file (rev 1.1).
3388
3389	* test/nkf/test_nkf.rb: new file (rev 1.1).
3390
3391
33922006-02-08(Wed) 21:07:36 +0900  Minero Aoki  <aamine@loveruby.net>
3393
3394	* lib/find.rb: new file (imported from ruby CVS trunk HEAD,
3395	  rev 1.15).
3396
3397
33982006-02-07(Tue) 17:58:18 +0900  Koichi Sasada  <ko1@atdot.net>
3399
3400	* compile.c, insns.def : support BEGIN{} and add preexe instruction
3401
3402	* insns.def : fix getspecial/setspecial instructions
3403	to catch up svar change
3404
3405	* test/ruby/test_system.rb : remove stopper
3406
3407	* thread.c (rb_thread_fd_writable) : add a debug output
3408
3409	* thread.c (rb_thread_wait_fd) : add a debug output
3410
3411	* vm.c (lfp_svar) : refactoring and fix some problems
3412
3413	* vm_dump.c (yarv_bug) : add branch
3414
3415	* yarv.h : remove unused declarations
3416
3417	* yarvcore.c (vm_free) : VM object should not free by GC
3418
3419
34202006-02-07(Tue) 14:42:25 +0900  Koichi Sasada  <ko1@atdot.net>
3421
3422	* eval.c, eval_load.c : remove rb_thread_start_1()
3423
3424	* eval.c : fix some prototypes and indents
3425
3426	* eval_thread.c, thread.c : move some functions
3427	from eval_thread.c to thread.c
3428
3429	* signal.c (sighandler) : add line braek in error message
3430
3431	* yarvcore.c, yarvcore.h, thread.c : support ThreadGroup
3432
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
3436
3437
34382006-02-06(Mon) 23:51:41 +0900  Minero Aoki  <aamine@loveruby.net>
3439
3440	* test/ruby/test_hash.rb: import many tests from rubicon.
3441
3442
34432006-02-04(Sat) 18:36:41 +0900  Minero Aoki  <aamine@loveruby.net>
3444
3445	* test/ruby/test_array.rb: import many tests from rubicon.
3446
3447
34482006-02-04(Sat) 17:47:44 +0900  Minero Aoki  <aamine@loveruby.net>
3449
3450	* test/ruby/test_signal.rb (test_exit_action): lib/timeout.rb is
3451	  not implemented yet.
3452
3453
34542006-02-04(Sat) 17:42:31 +0900  Minero Aoki  <aamine@loveruby.net>
3455
3456	* test/ruby/test_readpartial.rb: lib/timeout.rb is not implemented
3457	  yet.
3458
3459
34602006-02-04(Sat) 16:22:38 +0900  Minero Aoki  <aamine@loveruby.net>
3461
3462	* test/ruby/test_pipe.rb: remove useless require.
3463
3464	* test/ruby/test_signal.rb: turn off the test case which causes
3465	  segmentation fault (tmp).
3466
3467
34682006-02-04(Sat) 08:19:50 +0900  Koichi Sasada  <ko1@atdot.net>
3469
3470	* common.mk : add dependency to yarvcore.h on signal.o
3471
3472	* compile.c (iseq_compile_each) : fix [yarv-dev:795] problem
3473	(prohibit "break", "next" jump from eval)
3474
3475	* eval.c : fix indent
3476
3477	* eval_thread.c, thread.c : remove some functions and move to thread.c
3478
3479	* insns.def, vm.c : fix [yarv-dev:799] and [yarv-dev:800]
3480
3481	* yarvtest/test_class.rb : add a test for above
3482
3483	* test/ruby/test_gc.rb : remove GC.debug_flag control
3484
3485	* test/ruby/test_readpartial.rb : disable
3486
3487	* test/ruby/test_signal.rb : disable
3488
3489	* thread.c : fix thread_debug() and many bugs
3490
3491	* thread.c (yarv_thread_s_new) : move living_threads setting
3492
3493	* thread.c (yarv_thread_join) : fix
3494
3495	* thread_pthread.h : add type native_thread_data_t (dummy)
3496	and support interrupt blocking thread
3497
3498	* thread_pthread.h (native_thread_apply_priority) : added
3499
3500	* thread_win32.h : add type native_thread_data_t (dummy)
3501	and support interrupt blocking thread
3502
3503	* yarvcore.h : use win32 thread system on cygwin and fix
3504	some struct members
3505
3506	* yarvtest/test_thread.rb : added
3507
3508
35092006-02-03(Fri) 00:08:09 +0900  Minero Aoki  <aamine@loveruby.net>
3510
3511	* test/ruby/test_string.rb: import many tests from rubicon.
3512
3513
35142006-02-02(Thu) 23:20:13 +0900  Minero Aoki  <aamine@loveruby.net>
3515
3516	* test/ruby/envutil.rb: new file (imported from ruby trunk HEAD).
3517
3518	* test/ruby/marshaltestlib.rb: ditto.
3519
3520	* test/ruby/test_array.rb: ditto.
3521
3522	* test/ruby/test_beginendblock.rb: ditto.
3523
3524	* test/ruby/test_clone.rb: ditto.
3525
3526	* test/ruby/test_dir.rb: ditto.
3527
3528	* test/ruby/test_env.rb: ditto.
3529
3530	* test/ruby/test_file.rb: ditto.
3531
3532	* test/ruby/test_float.rb: ditto.
3533
3534	* test/ruby/test_fnmatch.rb: ditto.
3535
3536	* test/ruby/test_hash.rb: ditto.
3537
3538	* test/ruby/test_io.rb: ditto.
3539
3540	* test/ruby/test_marshal.rb: ditto.
3541
3542	* test/ruby/test_math.rb: ditto.
3543
3544	* test/ruby/test_pack.rb: ditto.
3545
3546	* test/ruby/test_path.rb: ditto.
3547
3548	* test/ruby/test_pipe.rb: ditto.
3549
3550	* test/ruby/test_rand.rb: ditto.
3551
3552	* test/ruby/test_range.rb: ditto.
3553
3554	* test/ruby/test_readpartial.rb: ditto.
3555
3556	* test/ruby/test_regexp.rb: ditto.
3557
3558	* test/ruby/test_settracefunc.rb: ditto.
3559
3560	* test/ruby/test_signal.rb: ditto.
3561
3562	* test/ruby/test_sprintf.rb: ditto.
3563
3564	* test/ruby/test_string.rb: ditto.
3565
3566	* test/ruby/test_stringchar.rb: ditto.
3567
3568	* test/ruby/test_struct.rb: ditto.
3569
3570	* test/ruby/test_symbol.rb: ditto.
3571
3572	* test/ruby/test_system.rb: ditto.
3573
3574	* test/ruby/test_time.rb: ditto.
3575
3576	* test/ruby/ut_eof.rb: ditto.
3577
3578
35792006-02-02(Thu) 22:53:44 +0900  Minero Aoki  <aamine@loveruby.net>
3580
3581	* test/ruby/test_proc.rb: test [yarv-dev:777].
3582
3583
35842006-02-01(Wed) 03:51:39 +0900  Koichi Sasada  <ko1@atdot.net>
3585
3586	* gc.c : add GC.debug_flag= method
3587
3588	* insns.def : support method definition in method
3589
3590	* yarvtest/test_method.rb : add tests for above
3591
3592
35932006-01-29(Sun) 11:40:26 +0900  Koichi Sasada  <ko1@atdot.net>
3594
3595	* eval_proc.c (proc_alloc) : fix [yarv-dev:777]
3596
3597	* yarvtest/test_proc.rb : add a test for above
3598
3599	* insns.def : fix [yarv-dev:782] and add YARV_CHECK_INTS()
3600
3601	* yarvtest/test_class.rb : add a test for above
3602
3603	* thread_win32.h : fix [yarv-dev-en:23]
3604
3605	* vm.c (th_call0) : add YARV_CHECK_INTS()
3606
3607
36082006-01-09(Mon) 11:56:34 +0900  Minero Aoki  <aamine@loveruby.net>
3609
3610	* yarvcore.h: add prototype (remove warning).
3611
3612	* vm.c (th_invoke_proc): make save variables volatile.
3613
3614	* eval.c (eval): initialize local variables (remove warnings).
3615
3616	* eval_thread.c (rb_exec_recursive): ditto.
3617
3618	* yarvcore.c (thread_mark): ditto.
3619
3620	* vm.c (th_invoke_proc): ditto.
3621
3622	* eval.c: remove useless prototypes.
3623
3624
36252006-01-09(Mon) 10:25:12 +0900  Minero Aoki  <aamine@loveruby.net>
3626
3627	* eval_thread.c: rb_thread_join is required to build ruby on
3628	  Linux.
3629
3630	* compile.c: unify coding style.
3631
3632	* yarvcore.c: ditto.
3633
3634
36352006-01-06(Fri) 09:21:34 +0900  Minero Aoki  <aamine@loveruby.net>
3636
3637	* vm.c: coding style change only.
3638
3639
36402006-01-04(Wed) 14:12:47 +0900  Koichi Sasada  <ko1@atdot.net>
3641
3642	* eval.c (ruby_init), eval_intern.h : use POP_TAG_INIT() at bootstrap
3643
3644	* eval_thread.c : remove unused functions and comments
3645
3646	* intern.h : expose rb_make_exception()
3647
3648	* signal.c : support signal
3649
3650	* thread.c (yarv_thread_execute_interrupts) : added
3651
3652	* thread_pthread.h (thread_timer) : set interrupt_flag of
3653	current running threads
3654
3655	* vm.c (th_invoke_proc) : jump with JUMP_TAG() if some exception
3656	occurs
3657
3658	* yarv.h : add yarv_set_current_running_thread_raw() for bootstrap
3659
3660	* yarvcore.c : add yarv_segv() and segv() method for test
3661
3662	* yarvcore.c (Init_yarvcore) : set yarv_thread_t#running_thread
3663
3664	* yarvcore.h : fix yarv_thread_t members
3665
3666
36672006-01-03(Tue) 22:25:04 +0900  Koichi Sasada  <ko1@atdot.net>
3668
3669	* disasm.c (insn_operand_intern) : fix to add child iseq
3670
3671	* eval.c, gc.c : remove obsolete static variables (ruby_scope,
3672	ruby_dyna_vars, ruby_frame)
3673
3674	* eval.c (rb_mod_s_constants) : use ruby_cref()
3675
3676	* eval.c (eval) : use th_restore_klass()
3677
3678	* eval_proc.c (rb_f_binding) : use th_store_klass()
3679
3680	* insns.def (concatarray) : fix insn ([expr, *nil] => [expr])
3681
3682	* vm.c (th_set_env), insnhelper.h : remove macro
3683
3684	* vm.c (eval_get_cvar_base) : use get_cref
3685
3686	* vm.c (th_make_proc) : use th_store_klass()
3687
3688	* vm_macro.def (macro_eval_invoke_func) : fix option args size
3689
3690	* vm_macro.def (macro_eval_invoke_func) : raise stack overflow error
3691
3692	* yarvcore.h : add yarv_stored_klass_t type
3693
3694	* yarvcore.c : fix mark functions around yarv_stored_klass_t
3695
3696
36972006-01-01(Sun) 05:14:26 +0900  Minero Aoki  <aamine@loveruby.net>
3698
3699	* lib/benchmark.rb: new file (imported from original ruby, rev
3700	  1.10).
3701
3702
37032006-01-01(Sun) 03:51:10 +0900  Minero Aoki  <aamine@loveruby.net>
3704
3705	* yarvcore.c: add prototype.
3706
3707	* re.c: remove warning: long -> unsigned long.
3708
3709	* debug.c: adjust coding style.
3710
3711	* yarv.h: ditto.
3712
3713
37142006-01-01(Sun) 03:43:33 +0900  Minero Aoki  <aamine@loveruby.net>
3715
3716	* variable.c: add prototype.
3717
3718	* eval.c: ditto.
3719
3720	* eval_load.c: ditto.
3721
3722
37232006-01-01(Sun) 02:41:21 +0900  Koichi Sasada  <ko1@atdot.net>
3724
3725	* common.mk : add address analyse to vtune rule
3726
3727	* rb/vtlh.rb : added for above
3728
3729	* rb/insns2vm.rb, template/vm.inc.tmpl : insert #line directive
3730	to reference above
3731
3732	* vm_macro.def (macro_eval_invoke_cfunc) : fix indent
3733
3734	* yarvtest/test_method.rb : fix indent, spacing
3735	and add a test for alias
3736
3737
37382005-12-31(Sat) 12:42:05 +0900  Koichi Sasada  <ko1@atdot.net>
3739
3740	* common.mk : add Intel VTune rule (make vtune)
3741
3742	* eval.c, yarvcore.h : fix to remove yarv_thread_t#local_*
3743
3744	* parse.y (top_local_init_gen) : fix a problem ([yarv-dev:765])
3745
3746	* yarvtest/test_eval.rb : add a test for above
3747
3748	* vm.c (thread_eval) :remove unused function
3749
3750	* yarvcore.c (Init_yarvcore) : remove YARVCore::Thread::eval method
3751
3752	* yarvcore.c (thread_eval) : remove unused function
3753
3754
37552005-12-31(Sat) 06:05:00 +0900  Koichi Sasada  <ko1@atdot.net>
3756
3757	* vm.c (eval_search_super_klass) : pass block to method missing
3758
3759	* vm_macro.def (macro_eval_invoke_method) : ditto
3760
3761	* yarvtest/test_method.rb : add a test for above
3762
3763
37642005-12-31(Sat) 03:11:14 +0900  Koichi Sasada  <ko1@atdot.net>
3765
3766	* eval.c (eval), eval_proc.c (rb_f_binding) : save klass, etc to
3767	binding and use it at eval
3768
3769	* eval_intern.h : ditto
3770
3771	* yarvtest/test_eval.rb : add tests for above
3772
3773	* yarvcore.c (th_get_special_cref) : added
3774
3775	* yarvcore.h : add a prototype of above
3776
3777	* vm.c (th_get_cref) : refactoring
3778
3779	* vm.c (eval_get_ev_const) : fix SEGV at A::B (A is not class/module)
3780	([yarv-dev:758])
3781
3782	* yarvtest/test_bin.rb : add a test for above
3783
3784	* rb/mklog.rb : use external diff command and show function name
3785
3786
37872005-12-30(Fri) 19:07:51 +0900  Koichi Sasada  <ko1@atdot.net>
3788
3789	* yarvcore.c, yarvcore.h, eval.c, eval_proc.c : support
3790	Ruby's Binding
3791
3792	* yarvcore.c : support TOPLEVEL_BINDING
3793
3794	* yarvtest/test_eval.rb : add tests for above
3795
3796
37972005-12-30(Fri) 13:12:28 +0900  Minero Aoki  <aamine@loveruby.net>
3798
3799	* test/ruby/test_eval.rb: more tests for
3800	  module_eval/instance_eval.
3801
3802
38032005-12-30(Fri) 05:06:49 +0900  Koichi Sasada  <ko1@atdot.net>
3804
3805	* common.mk : add dependency (yarvcore.h) for gc.c
3806
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
3810
3811	* yarvtest/test_eval.rb : added
3812
3813	* yarvtest/test_proc.rb :
3814
3815
38162005-12-29(Thu) 12:27:12 +0900  Koichi Sasada  <ko1@atdot.net>
3817
3818	* compile.c, yarvcore.h :
3819	remvoe needless yarv_iseq_t#rewind_frame_size
3820
3821
38222005-12-29(Thu) 11:17:58 +0900  Koichi Sasada  <ko1@atdot.net>
3823
3824	* common.mk : add dependency to test-all rule
3825
3826	* eval.c (rb_sourceline), vm.c (th_get_sourceline) :
3827	fix to skip process if iseq is ifunc
3828
3829	* test/ruby/test_lambda.rb : assert(fail, ...) instead of assert_fail
3830
3831	* test/ruby/test_proc.rb : ditto
3832
3833	* vm_dump.c : fix stack dump (iseq name)
3834
3835	* vm_macro.def : store proc (block proc) to cfp#proc for GC mark
3836
3837	* yarvcore.c : mark above on thread_mark
3838
3839	* eval.c (exec_under) : replace block#self ([yarv-dev:751])
3840
3841
38422005-12-29(Thu) 01:56:46 +0900  Koichi Sasada  <ko1@atdot.net>
3843
3844	* vm.c : fix setting of Proc cref ([yarv-dev:741])
3845
3846	* yarvcore.c : fix indent
3847
3848
38492005-12-29(Thu) 00:17:03 +0900  Koichi Sasada  <ko1@atdot.net>
3850
3851	* disasm.c : show (block) local variable simple (not as symbol)
3852
3853	* gc.c : fix syntax error
3854
3855
38562005-12-28(Wed) 23:35:06 +0900  Koichi Sasada  <ko1@atdot.net>
3857
3858	* class.c (method_entry) : fixed for undefed method ([yarv-dev:743])
3859
3860	* compile.c : fix errinfo dvar id (#$!)
3861	and fix NODE_ERRINFO compilation
3862
3863	* eval_proc.c, yarvcore.c : support YARVCore::VM::Proc.new
3864
3865	* insns.def : remove useless TODO comments
3866
3867	* insns.def : fix to use strict array conversion on
3868	checkarrayinclude
3869
3870	* insns.def : fix defined?(yield) ([yarv-dev:744])
3871
3872	* yarvcore.h : change yarv_iseq_t layout
3873
3874
38752005-12-28(Wed) 16:49:55 +0900  Minero Aoki  <aamine@loveruby.net>
3876
3877	* test/ruby/test_eval.rb: add TODO comment.
3878
3879	* test/ruby/test_iterator.rb: rename YARVCore::VM::Proc -> Proc
3880	  (tmp).
3881
3882	* test/ruby/test_lambda.rb: use assert_fail.
3883
3884	* test/ruby/test_proc.rb: ditto.
3885
3886
38872005-12-28(Wed) 16:28:35 +0900  Minero Aoki  <aamine@loveruby.net>
3888
3889	* test/ruby/test_clone.rb: removed (tmp).
3890
3891	* test/ruby/test_eval.rb: define missing method Object#funcall
3892	  (tmp).
3893
3894	* test/ruby/test_lambda.rb: turn off tests for "->".
3895
3896	* test/ruby/test_proc.rb: turn off tests for |&b|.
3897
3898	* test/ruby/test_proc.rb: turn off tests for $SAFE setter.
3899
3900
39012005-12-28(Wed) 15:31:46 +0900  Koichi Sasada  <ko1@atdot.net>
3902
3903	* compile.c : fix calculation of stack_max
3904
3905	* eval.c (rb_iter) : fix block/retry handling
3906
3907	* yarvtest/test_flow.rb : add tests for above
3908
3909	* insns.def : fix block passing on super (super(&nil))
3910
3911	* vm_macro.def, insns.def : fix convert method of object to array
3912
3913	* yarvtest/test_method.rb : fix a test for above
3914
3915	* vm.c : fix backtrace generate algorithm
3916
3917
39182005-12-28(Wed) 10:36:45 +0900  Koichi Sasada  <ko1@atdot.net>
3919
3920	* compile.c, compile.h : refactoring (remove self passing, etc)
3921
3922	* disasm.c : support showing ID of method/dynamic local variables
3923
3924	* rb/allload.rb : add verbose version (it's enable by $DEBUG)
3925
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
3930
3931	* variable.c (mod_av_set) : fix to clear inline cache ([yarv-dev:720])
3932
3933	* eval_method.h : fix to clear inline method cache
3934
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, ...)
3938
3939	* vm_macro.def : fix to check SPECIAL_CONST_P() at splat array
3940	([yarv-dev:722])
3941
3942	* yarvcore.c : fix to throw syntax error
3943
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])
3946
3947	* insns.def : fix to invoke zsuper in method defined by define_method
3948	([yarv-dev:704])
3949
3950	* yarvtest/test_class.rb : add tests for above
3951
3952	* yarvtest/test_method.rb : fix comments
3953
3954
39552005-12-27(Tue) 01:52:07 +0900  Koichi Sasada  <ko1@atdot.net>
3956
3957	* array.c, intern.h, insns.def : expose rb_ary_replace and use it
3958	in insns.def
3959
3960	* eval.c : fix to use SCOPE_* to NOEX_*
3961
3962	* eval_intern.h : remove SCOPE_*
3963	and fix SCOPE_TEST() and SCOPE_SET(f)
3964
3965	* eval_load.c : save and store klass and visibility
3966	at require and load
3967
3968	* eval_method.h : fix undefed method node ([yarv-dev-en:8])
3969
3970	* eval_proc.c : fix define_method ([yarv-dev:704])
3971
3972	* insnhelper.h, vm.h : remove GET_VM_STATE_VERSION(),
3973	INC_VM_STATE_VERSION() and move these to vm.h
3974
3975	* insns.def : supportintg visibility
3976
3977	* node.h : remove NOEX_RECV
3978
3979	* variable.c, vm.c : add rb_vm_change_state() and use it in
3980	remove_const
3981
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
3984
3985	* yarv.h : add a prototype of rb_vm_change_state()
3986
3987	* yarvcore.h, insns.def : add defined_method_id and support
3988	super in define_method scope
3989
3990	* yarvtest/test_class.rb : add tests for above
3991
3992
39932005-12-26(Mon) 20:44:38 +0900  Minero Aoki  <aamine@loveruby.net>
3994
3995	* test/ruby/test_basicinstructions.rb: new file.
3996
3997
39982005-12-26(Mon) 08:40:02 +0900  Koichi Sasada  <ko1@atdot.net>
3999
4000	* vm.c (eval_get_ev_const) : fix to skip nil
4001
4002
40032005-12-26(Mon) 08:27:15 +0900  Koichi Sasada  <ko1@atdot.net>
4004
4005	* insnhelper.h : fix GET_CVAR_EV_KLASS [yarv-dev:703]
4006
4007
40082005-12-26(Mon) 07:51:01 +0900  Koichi Sasada  <ko1@atdot.net>
4009
4010	* compile.c : add emptstack insn for all NODE_RETURN
4011	and optimize it if it's not needed
4012
4013	* yarvtest/test_flow.rb : add a test for above
4014
4015
40162005-12-26(Mon) 07:08:22 +0900  Koichi Sasada  <ko1@atdot.net>
4017
4018	* eval.c, gc.c : add "gc_debug_flag" to debug gc
4019
4020	* insns.def : add emptstack
4021
4022	* compile.c, rb/insns2vm.rb, template/insns_info.inc.tmpl :
4023	change interface of insn_stack_increase
4024
4025	* compile.c : fix return from ensure in method [yarv-dev:702]
4026
4027	* yarvtest/test_flow.rb : add tests for above
4028
4029
40302005-12-26(Mon) 02:15:02 +0900  Minero Aoki  <aamine@loveruby.net>
4031
4032	* test/ruby/test_alias.rb: do not use unimplemented defined?.
4033
4034
40352005-12-26(Mon) 02:00:11 +0900  Minero Aoki  <aamine@loveruby.net>
4036
4037	* test/runner.rb: new file.
4038
4039	* test/ruby/test_alias.rb: new file.
4040
4041	* test/ruby/test_clone.rb: new file.
4042
4043	* test/ruby/test_eval.rb: new file.
4044
4045	* test/ruby/test_iterator.rb: new file.
4046
4047	* test/ruby/test_lambda.rb: new file.
4048
4049	* test/ruby/test_proc.rb: new file.
4050
4051	* test/ruby/test_super.rb: new file.
4052
4053	* test/ruby/test_assignment.rb: new file.
4054
4055	* test/ruby/test_bignum.rb: new file.
4056
4057	* test/ruby/test_call.rb: new file.
4058
4059	* test/ruby/test_case.rb: new file.
4060
4061	* test/ruby/test_condition.rb: new file.
4062
4063	* test/ruby/test_const.rb: new file.
4064
4065	* test/ruby/test_defined.rb: new file.
4066
4067	* test/ruby/test_exception.rb: new file.
4068
4069	* test/ruby/test_gc.rb: new file.
4070
4071	* test/ruby/test_ifunless.rb: new file.
4072
4073	* test/ruby/test_method.rb: new file.
4074
4075	* test/ruby/test_trace.rb: new file.
4076
4077	* test/ruby/test_variable.rb: new file.
4078
4079	* test/ruby/test_whileuntil.rb: new file.
4080
4081
40822005-12-25(Sun) 07:40:08 +0900  Koichi Sasada  <ko1@atdot.net>
4083
4084	* blockinlining.c, compile.c : fix block inlining
4085
4086	* rb/insns2vm.rb : fix to support tracing stack depth
4087	with operands unification
4088
4089	* vm_dump.c : fix to print Qundef on stack dump
4090
4091
40922005-12-25(Sun) 01:45:55 +0900  Koichi Sasada  <ko1@atdot.net>
4093
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
4097
4098	* yarvtest/test_exception.rb : add tests for above
4099
4100	* yarvtest/test_flow.rb : ditto
4101
4102	* Merry Xmas :)
4103
4104
41052005-12-24(Sat) 19:34:04 +0900  Koichi Sasada  <ko1@atdot.net>
4106
4107	* compile.c, compile.h : fix ADD_CATCH_ENTRY and add LABEL#sp
4108
4109	* eval_jump.h : fix catch to remove illegal error
4110
4111
41122005-12-24(Sat) 09:05:23 +0900  Koichi Sasada  <ko1@atdot.net>
4113
4114	* eval_method.h : change data structure for RClass#m_tbl
4115
4116	* class.c, eval.c, eval_proc.c : fix for above changes
4117
4118	* node.h, gc.c : change NODE_FBODY, NODE_METHOD members
4119	for above changes
4120
4121	* insns.def : support private/protected visibility
4122
4123	* vm_macro.def : ditto
4124
4125	* vm.c : ditto
4126
4127	* thread.c : fix typo
4128
4129	* thread_pthread.h : fix typo
4130
4131	* thread_win32.h : fix typo
4132
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
4135
4136	* compile.c : use ADD_CALL instead of ADD_SEND for
4137	NODE_X(D)STR, NODE_CONST (func)
4138
4139
41402005-12-22(Thu) 02:45:27 +0900  Koichi Sasada  <ko1@atdot.net>
4141
4142	* yarv_version.h, Changes : 0.3.3
4143
4144
41452005-12-20(Tue) 04:04:45 +0900  Koichi Sasada  <ko1@atdot.net>
4146
4147	* compile.c : fix self::Const access
4148
4149	* yarvtest/test_bin.rb : add a test for above
4150
4151
41522005-12-20(Tue) 01:52:52 +0900  Koichi Sasada  <ko1@atdot.net>
4153
4154	* insns.def : fix to expand VALUES value
4155
4156	* yarvtest/test_massign.rb : add a test for above
4157
4158
41592005-12-20(Tue) 01:32:35 +0900  Koichi Sasada  <ko1@atdot.net>
4160
4161	* insns.def, insnhelper.h : fix cvar in singleton method/class
4162
4163	* yarvtest/test_bin.rb : add tests for above
4164
4165
41662005-12-20(Tue) 01:03:34 +0900  Koichi Sasada  <ko1@atdot.net>
4167
4168	* compile.c, yarvcore.h : support all defined?() syntax
4169
4170	* compile.c : fix NODE_COLON2
4171
4172	* yarvtest/test_bin.rb : add or fix tests for above
4173
4174	* win32/* : update all
4175
4176
41772005-12-17(Sat) 10:46:08 +0900  Minero Aoki  <aamine@loveruby.net>
4178
4179	* vm_macro.def: fix printf type mismatch for LP64 system (again).
4180
4181	* parse.y: introduce descriptive macro for special values of
4182	  lvtbl->dvars.
4183
4184
41852005-12-17(Sat) 09:39:27 +0900  Minero Aoki  <aamine@loveruby.net>
4186
4187	* vm_macro.def (macro_eval_invoke_method): fix printf type mismatch
4188	  for LP64 system.
4189
4190
41912005-12-14(Wed) 03:49:40 +0900  Koichi Sasada  <ko1@atdot.net>
4192
4193	* compile.c : change rescue/ensure iseq name
4194
4195	* eval.c, intern.h : fix a prototype
4196
4197	* insns.def, yarvcore.h : add trace_function
4198
4199	* vm.c : fix deadly bug (illegal pointer cast)
4200
4201	* vm_dump.c : remove unused local variables
4202
4203	* vm_macro.def : add parameter size check
4204
4205	* yarvtest/test_bin.rb : comment out 2 assertions
4206
4207
42082005-12-13(Tue) 03:55:27 +0900  Koichi Sasada  <ko1@atdot.net>
4209
4210	* eval_proc.c : fix indent
4211
4212	* insns.def : fix getspecial instruction to return nil
4213	if no entry
4214
4215	* yarvtest/test_syntax.rb : add a test for above
4216
4217	* lib/un.rb : added
4218
4219	* template/*.tmpl : fix typo
4220
4221
42222005-12-13(Mon) 01:38:17 +0900  Minero Aoki  <aamine@loveruby.net>
4223
4224	* yarv.h: add prototypes.
4225
4226	* intern.h: ditto.
4227
4228	* eval.c: ditto.
4229
4230	* debug.c: ditto.
4231
4232	* thread_pthread.h: fix printf type mismatch for LP64 system
4233	  (Linux/AMD64).
4234
4235	* variable.c: ditto.
4236
4237	* object.c: ditto.
4238
4239	* gc.c: ditto.
4240
4241	* process.c: ditto.
4242
4243	* error.c: ditto.
4244
4245	* vm.c: ditto.
4246
4247	* vm.h: ditto.
4248
4249	* vm_dump.c: ditto.
4250
4251	* disasm.c: ditto.
4252
4253	* marshal.c: ditto.
4254
4255	* eval_thread.c: ditto.
4256
4257
42582005-12-11(Sun) 22:00:34 +0900  Koichi Sasada  <ko1@atdot.net>
4259
4260	* insns.def : call "inherited" method when a class is inherited
4261
4262	* yarvcore.h : fix yarv_iseq_t field layout
4263
4264	* common.mk : add dependence on yarvcore.h to eval*.o files
4265
4266	* compile.c : fix NODE_POSTEXE logic
4267
4268	* insnhelper.h : use GC_GUARDED_PTR_REF instead of magic number
4269
4270	* eval_proc.c : fix indent
4271
4272	* configure : re-autoconf
4273
4274
42752005-12-10(Sat) 03:57:20 +0900  Koichi Sasada  <ko1@atdot.net>
4276
4277	* common.mk : fix blockinlining.o build rule
4278
4279	* insns.def : remove logic for zsuper
4280
4281	* template/optinsn.inc.tmpl :
4282
4283	* vm.c : remove thread_yield_light_prepare, thread_yield_light_invoke
4284
4285	* compile.c : support NODE_ZSUPER with optargs, restarg
4286
4287	* yarvtest/test_class.rb : add tests for above
4288
4289
42902005-12-09(Fri) 01:13:37 +0900  Koichi Sasada  <ko1@atdot.net>
4291
4292	* array.c, numeric.c, range.c : add prototype of
4293	block inlining function
4294
4295	* blockinlining.c, vm_opts.h.base : add block inlining flag
4296
4297	* common.mk, debug.h, debug.c : add debug_breakpoint() for gdb
4298
4299	* compile.c : fix to use size_t on compile_data_alloc(),
4300	fix illegal cast, fix to set arg_simple at compiling block,
4301
4302	* compile.c, vm.c : fix NODE_NEXT, NODE_BREAK logic
4303
4304	* yarvtest/test_flow.rb : add a test for above
4305
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
4309
4310	* eval_method.h : fix indent
4311
4312	* gc.c : fix indent
4313
4314	* insns.def, compile.c : remove "zsuper" instruction (use "super"
4315	instead).  This is because NODE_ZSUPER represent with only "super"
4316	instruction
4317
4318	* yarvcore.c : add proc_arity
4319
4320
43212005-12-05(Mon) 03:58:30 +0900  Koichi Sasada  <ko1@atdot.net>
4322
4323	* array.c, blockinlining.c : support block inlining for Array#each
4324
4325	* disasm.c : fix catch table format
4326
4327	* insns.def : fix stack consistency error message
4328
4329	* vm.c : fix to skip pushing value at "next"
4330
4331	* yarvcore.h : move definition of
4332	"struct iseq_compile_data_ensure_node_stack" to compile.c
4333
4334	* compile.c : fix ensure catch table creation
4335
4336	* yarvtest/test_flow.rb : add tests for above
4337
4338
43392005-12-03(Sat) 22:27:08 +0900  Koichi Sasada  <ko1@atdot.net>
4340
4341	* blockinlining.c, compile.c, yarvcore.c, yarvcore.h,
4342	numeric.c, range.c : collect block inlining logic to blockinlining.c
4343
4344
43452005-12-03(Sat) 20:24:07 +0900  Koichi Sasada  <ko1@atdot.net>
4346
4347	* blockinlining.c, common.mk : add blockinlining.c
4348
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
4352
4353	* compile.c : fix to set block redo/next point at last,
4354	and fix NODE_OP_ASGN1
4355
4356	* compile.c, vm.c : add specialized instruction "opt_le"
4357
4358	* disasm.c : fix to show block, and to show catch type as string
4359	and change node_name logic
4360
4361	* eval_thread.c : fix function type declaration
4362
4363	* insns.def : add instruction "putundef", "opt_checkenv"
4364	to support block inlining and add stack check routine
4365
4366	* lib/cgi.rb : add global variable $CGI_DONTINPUT
4367
4368	* opt_operand.def : add some operand unification rules
4369
4370	* rb/insns2vm.rb : fix operand unification logic for BLOCKISEQ
4371
4372	* vm.c : fix exception handling routine (collect stack operations)
4373
4374	* vm_macro.def : fix macro_eval_invoke_bmethod
4375
4376	* yarvsubst.c : removed
4377
4378	* yarvtest/test_syn.rb : rename to yarvtest/test_syntax.rb
4379
4380	* yarvtest/yarvtest.rb : remove tempfile explicitly
4381
4382
43832005-11-30(Wed) 01:13:57 +0900  Koichi Sasada  <ko1@atdot.net>
4384
4385	* common.mk : add vm_opts.h rule
4386
4387	* vm.c, insns.def : fix proc creation under class and block
4388	environment
4389
4390
43912005-11-29(Tue) 16:39:07 +0900  Koichi Sasada  <ko1@atdot.net>
4392
4393	* eval.c, eval_proc.c, vm.c, vm_macro.def :
4394	support define_method and invoke NODE_BMETHOD method
4395
4396
43972005-11-29(Tue) 13:18:06 +0900  Koichi Sasada  <ko1@atdot.net>
4398
4399	* compile.c : add iseq_add_mark_object, iseq_add_mark_object_compile_time
4400	and use it to mark objects on iseq
4401
4402	* compile.h, compile.c : remove cast on NEW_CHILD_ISEQVAL, NEW_ISEQVAL
4403	and interface
4404
4405	* compile.c, disasm.c, insns.def, vm_macro.def, rb/insns2vm.rb :
4406	add BLOCKISEQ parameter type
4407
4408	* gc.c : fix garbage_collect to return true if only allocate memory
4409
4410	* vm.c : fix insertion order of proc/env
4411
4412	* vm_evalbody.h : add typedef yarv_iseq_t *BLOCKISEQ
4413
4414	* yarvcore.c, yarvcore.c : add idTimes
4415
4416	* yarvcore.c : fix proc_mark, env_mark around iseq mark
4417
4418
44192005-11-28(Mon) 09:02:57 +0900  Koichi Sasada  <ko1@atdot.net>
4420
4421	* compile.c, insns.def, vm_evalbody.h : support super
4422	with splat argument and block (and zsuper with block)
4423
4424	* yarvtest/test_class.rb : add tests for above
4425
4426	* compile.c, yarvcore.h, yarvcore.c, insns.def, time.c, string.c :
4427	add opt_succ insn
4428
4429	* eval_method.h : fix indent
4430
4431	* eval_thread.c : apply cast to vanish a warning
4432
4433	* lib/tempfile.rb, lib/tmpdir.rb : added
4434
4435	* vm.c : eval_method_missing added
4436
4437	* vm_macro.def : refactoring
4438
4439
44402005-11-21(Mon) 21:21:33 +0900  Koichi Sasada  <ko1@atdot.net>
4441
4442	* compile.c, compile.h, yarvcore.c : remove "iseqobj"
4443	variables and rename to "iseq"
4444
4445
44462005-11-21(Mon) 07:31:50 +0900  Koichi Sasada  <ko1@atdot.net>
4447
4448	* compile.c : fix block parameter error
4449
4450	* ext/* : added
4451
4452	* lib/optparse* : added
4453
4454	* benchmark/bm_so_sieve.rb : fix parameter
4455
4456
4457
44582005-11-21(Mon) 03:47:28 +0900  Koichi Sasada  <ko1@atdot.net>
4459
4460	* compile.c : optimize condition in literal
4461
4462	* thread_win32.h : fix win32 thread function prototype
4463
4464
44652005-11-20(Sun) 17:58:24 +0900  Koichi Sasada  <ko1@atdot.net>
4466
4467	* compile.c : fix NODE_AND/OR bug
4468
4469	* eval.c : support rb_frame_this_func()
4470
4471
44722005-11-20(Sun) 12:32:31 +0900  Koichi Sasada  <ko1@atdot.net>
4473
4474	* compile.c, yarvcore.c, yarvcore.h : support NODE_OPT_N
4475
4476	* compile.h : add macro ADD_CALL
4477
4478	* debug.c : add debug_v() and change to use only printf
4479	on debug_id()
4480
4481	* sample/test.rb :
4482
4483	* vm.c : fix make_proc_from_block
4484
4485
44862005-11-19(Sat) 14:55:17 +0900  Koichi Sasada  <ko1@atdot.net>
4487
4488	* import ruby 1.9.0 (2005-11-18)
4489
4490
44912005-11-19(Sat) 06:08:37 +0900  Koichi Sasada  <ko1@atdot.net>
4492
4493	* lib/test : added
4494
4495
44962005-11-19(Sat) 05:48:50 +0900  Koichi Sasada  <ko1@atdot.net>
4497
4498	* compile.c : useless jump elimination (if/unless destination)
4499
4500	* eval.c : rb_iter_break support,
4501	 fix rb_iterate (clear errinfo if break)
4502
4503	* eval_proc.c : support rb_node_arity (YARV_METHOD_NODE)
4504
4505	* insns.def : change variable name
4506
4507	* vm.c : fix th_invoke_yield and add th_iter_break()
4508
4509	* vm_dump.c : fix yarv_bug()
4510
4511	* yarvcore.c : fix proc_mark to check IFUNC node and add
4512	global ruby method SDR() for debug
4513
4514	* yarvtest/test_syn.rb : add a test for all condition combination
4515
4516
45172005-11-15(Tue) 05:52:58 +0900  Koichi Sasada  <ko1@atdot.net>
4518
4519	* lib/forwardable.rb : added
4520
4521	* common.mk : remove "vm.o : CFLAGS += -fno-crossjumping" rule
4522
4523	* compile.c, yarvcore.h, insns.def : add FCALL/VCALL flag
4524
4525	* compile.c, insns.def : add onceinlinecache instruction
4526
4527	* eval.c : support $!, $@, raise (== raise $!)
4528
4529	* opt_operand.def : add some unification rule (send flags)
4530
4531	* vm.c : fix return process
4532
4533	* vm_macro.def : fix option prameters
4534
4535	* yarvtest/test_method.rb : add tests for above
4536
4537
45382005-11-15(Tue) 00:42:49 +0900  Koichi Sasada  <ko1@atdot.net>
4539
4540	* eval.c : support rb_frame_pop() and rb_frame_callee(),
4541	add rb_sourcefile(), rb_sourceline(),
4542
4543
4544	* compile.c : support postposition while/until,
4545	fix block parameter index
4546
4547	* yarvtest/test_syn.rb : add tests for above
4548
4549	* yarvcore.c : fix env_mark
4550
4551	* vm.h, yarvcore.h : move vm.h#cmethod_info to
4552	 yarvcore.h#yarv_cmethod_info
4553
4554	* vm.c : add th_get_sourceline()
4555
4556	* eval_intern.h : fix PASS_PASSED_BLOCK()
4557
4558	* eval_load.c : fix re-enter require (temporalily)
4559
4560	* insns.def : permit re-open class when superclass is same
4561
4562
45632005-11-11(Fri) 01:20:15 +0900  Koichi Sasada  <ko1@atdot.net>
4564
4565	* common.mk : add "allload" rule
4566
4567	* compile.c, yarvcore.h, insns.def, vm_macro.def, disasm.c :
4568	change arg_rest, arg_block offset (1)
4569
4570	* insns.def : add postexe instruction
4571
4572	* insns.def, vm.c : support rest block parameter
4573
4574	* yarvtest/test_block.rb : add tests for above
4575
4576	* rb/allload.rb : get path from ARGV
4577
4578	* vm_opts.h.base : set default off
4579
4580
45812005-11-01(Tue) 08:28:19 +0900  Koichi Sasada  <ko1@atdot.net>
4582
4583	* benchmark/other-lang/eval.rb : fix path
4584
4585	* lib/English.rb, lib/cgi.rb, lib/complex.rb, lib/delegate.rb :
4586	added
4587
4588
45892005-11-01(Tue) 08:18:33 +0900  Koichi Sasada  <ko1@atdot.net>
4590
4591	* compile.c : push and pop values after checkincludearray for
4592	stack caching
4593
4594
45952005-10-31(Mon) 15:37:09 +0900  Koichi Sasada  <ko1@atdot.net>
4596
4597	* benchmark/bm_app_mandelbrot.rb : added
4598
4599	* benchmark/bm_app_factorial.rb : fixed parameter
4600
4601	* benchmark/bm_so_count_words.rb, benchmark/run_rite.rb : use
4602	real file
4603
4604	* common.mk : add "ext" rule, add some dependencies and add option
4605	to bench-each rule (renamed from bench-item)
4606
4607	* compile.c : fix get_root_iseq_object (check iseq type),
4608	support splat case/when. support //o (regexp)
4609
4610	* eval.c : support *_eval, fix rb_obj_call_init to pass block
4611
4612	* eval_jump.h : support throw/catch
4613
4614	* eval_load.c : save klass_nest_stack when require
4615
4616	* eval_method.h : fix ruby_cbase()
4617
4618	* insnhelper.h : GET_EV_KLASS checks toplevel or not
4619
4620	* insns.def, yarvcore.c : fix singleton method definition and fix
4621	super class's method
4622
4623	* lib/shellwords.rb : use String() instead of String.new()
4624
4625	* vm.c : check class iseq or not when making Proc and
4626	add eval_search_super_klass function
4627
4628	* vm.h : CMETHOD_INFO_P to yarvcore.h
4629
4630	* vm_macro.def : splat if object type is T_ARRAY
4631
4632	* vm_opts.h, vm_opts.h.base : rename to vm_opts.h.base
4633	insns2vm.rb will copy it to build directory
4634
4635	* yarvcore.c : add Proc#[]
4636
4637	* yarvcore.h : change INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE
4638	to 512
4639
4640	* yarvtest/test_* : invalidate splat non array code (like: "*1")
4641
4642	* yarvtest/yarvtest.rb : use tempfile instead of popen
4643
4644
46452005-10-28(Fri) 09:11:53 +0900  Koichi Sasada  <ko1@atdot.net>
4646
4647	* yarvtest/test_method.rb : fix test
4648
4649
46502005-10-28(Fri) 08:43:29 +0900  Koichi Sasada  <ko1@atdot.net>
4651
4652	* benchmark/run_rite.rb : add -I options to run benchmark
4653
4654	* common.mk : pass options to some rules with RUNOPT
4655	and add -I options
4656
4657	* compile.c : fix massign with constant
4658
4659	* yarvtest/test_massign.rb : add tests for above
4660
4661	* eval_load.c : fix load_wait()
4662
4663	* eval_method.h : support ruby_cbase()
4664
4665	* lib/*.rb : add or modify libraries to run on yarv
4666	* parse.y : change to ANSI C style
4667
4668	* vm.c : fix making proc process under cfunc/ifunc environment
4669
4670	* vm_macro.def : fix block pass
4671
4672	* yarvtest/test_method.rb : add tests for above
4673
4674	* yarvcore.c : add yarv_obj_is_proc()
4675
4676	* eval.c : fix rb_obj_is_proc to use yarv_obj_is_proc()
4677
4678
46792005-10-27(Thu) 11:50:15 +0900  Koichi Sasada  <ko1@atdot.net>
4680
4681	* some files : import from ruby 1.9.0 (2005-10-12)
4682
4683
46842005-10-16(Sun) 14:50:02 +0900  Koichi Sasada  <ko1@atdot.net>
4685
4686	* insns.def, compile.c, yarvcore.h, yarvcore.c : add insns "bitblt" and "answer"
4687
4688
46892005-10-11(Tue) 17:01:13 +0900  Koichi Sasada  <ko1@atdot.net>
4690
4691	* yarv_version.h, Changes : 0.3.2
4692
4693
46942005-10-11(Tue) 13:35:25 +0900  Koichi Sasada  <ko1@atdot.net>
4695
4696	* insns.def : add YARV_CHECK_INTS()
4697
4698	* thread.c, thread_pthread.h, thread_win32.h : kick timer thread
4699	when another thread kicked
4700
4701	* vm.c : remove debug print
4702
4703	* vm_opts.h : add OPT_CALL_THREADED_CODE
4704
4705	* yarvtest/yarvtest.rb : remove "\r" from answer
4706
4707
47082005-10-07(Fri) 09:36:36 +0900  Koichi Sasada  <ko1@atdot.net>
4709
4710	* yarvcore.h : add member variable "interrupt_flag" to yarv_thread_t
4711
4712
47132005-10-05(Wed) 21:20:13 +0900  Koichi Sasada  <ko1@atdot.net>
4714
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
4717
4718	* thread_win32.h, thread_pthread.h : set stack size to 4KB
4719
4720	* vm.c : fix making env routine
4721
4722	* vm_dump.c, vm.h : support frame type "EVAL" and fix magic number
4723
4724	* yarvcore.c : fix some mark/free routine
4725
4726
47272005-10-05(Wed) 09:08:11 +0900  Koichi Sasada  <ko1@atdot.net>
4728
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
4731
4732	* inits.c, yarvcore.c : fix boostrap
4733
4734
47352005-10-03(Mon) 22:28:24 +0900  Koichi Sasada  <ko1@atdot.net>
4736
4737	* compile.c : fix NODE_COLON2 bugs
4738
4739	* compile.h : fix debug routine
4740
4741	* disasm.c : add space between insn and operand
4742
4743	* insns.def : add comment of classdef, singletonclassdef
4744
4745	* vm.c, yarv.h : fix invoke_light routine
4746
4747	* yarvcore.c : fix to mark each threads
4748
4749
47502005-10-02(Sun) 05:55:34 +0900  Koichi Sasada  <ko1@atdot.net>
4751
4752	* thread_pthread.h : add "system_working" global variable
4753
4754
47552005-10-02(Sun) 01:23:44 +0900  Koichi Sasada  <ko1@atdot.net>
4756
4757	* thread.c : add raw gets (for test), and fix indent
4758
4759
47602005-10-01(Sat) 23:06:21 +0900  Koichi Sasada  <ko1@atdot.net>
4761
4762	* thread_win32.h, common.mk : add thread_win32.h
4763
4764	* thread.c : support _WIN32 thread
4765
4766	* thread.c, thread_pthread.h : fix some interface
4767
4768	* eval_thread.c : remove debug print
4769
4770	* gc.c : fix stack region
4771
4772	* win32/Makefile.sub : add -MD flag to LDFLAGS
4773
4774	* yarvcore.c : fix mark and sweep debug print
4775
4776	* yarvcore.h : fix VM#living_threads data type to st_table
4777
4778
47792005-10-01(Sat) 00:25:28 +0900  Koichi Sasada  <ko1@atdot.net>
4780
4781	* thread.c, yarvcore.h : rename GIL (Global Interpreter Lock) to
4782	GVL (Global VM Lock)
4783
4784	* thread_pthread.h : fix pthread mutex initialize
4785
4786
47872005-09-30(Fri) 20:11:19 +0900  Koichi Sasada  <ko1@atdot.net>
4788
4789	* thread.c : support join with timeout
4790
4791	* yarvcore.h : use GET_VM()
4792
4793
47942005-09-30(Fri) 14:59:29 +0900  Koichi Sasada  <ko1@atdot.net>
4795
4796	* thread.c, common.mk : add thread.c
4797
4798	* thread.c, gc.c, eval_thread.c, yarvcore.c, yarvcore.h :
4799	support native thread (on pthread)
4800
4801	* insns.def : add YARV_CHECK_INTS() check
4802
4803	* yarv.h : add GET_VM() macro
4804
4805
48062005-09-29(Thu) 22:43:08 +0900  Koichi Sasada  <ko1@atdot.net>
4807
4808	* eval_intern.h, eval_thread.c : move thread_status to eval_intern.h
4809
4810	* yarvcore.c : fix thread/vm value
4811
4812	* yarvcore.h : add some parameter to yarv_thread_t
4813
4814
48152005-09-29(Thu) 01:52:33 +0900  Koichi Sasada  <ko1@atdot.net>
4816
4817	* compile.c, yarvcore.h : add line number on last end instruction
4818
4819	* vm.c : fix line no detection
4820
4821
48222005-09-28(Wed) 00:02:10 +0900  Koichi Sasada  <ko1@atdot.net>
4823
4824	* common.mk, eval_load.c, eval.c, eval_intern.h : add eval_load.c
4825
4826	* disasm.c : fix around block local variables
4827
4828	* eval_proc.c : fix typo
4829
4830
48312005-09-27(Tue) 16:45:20 +0900  Koichi Sasada  <ko1@atdot.net>
4832
4833	* eval.c : remove debug print
4834
4835
48362005-09-27(Tue) 16:41:47 +0900  Koichi Sasada  <ko1@atdot.net>
4837
4838	* eval.c : support Kernel.local_variables
4839
4840	* parse.y, yarvcore.c : move some functions
4841	(rb_(backref|lastline)_(get|set)) from parse.y to yarvcore.c
4842
4843	* yarvcore.h : fix typo of YARV_PREVIOUS_CONTROL_FRAME
4844
4845
48462005-09-26(Mon) 18:51:29 +0900  Koichi Sasada  <ko1@atdot.net>
4847
4848	* eval.c, compile.c, parse.y, vm.c, yarvcore.h :
4849	 eval() works with binding (Env)
4850
4851	* vm.c : add th_set_eval_stack
4852
4853	* yarvtest/test_syn.rb : remove an assert "defined?(local_var)"
4854
4855
48562005-09-25(Sun) 19:30:59 +0900  Koichi Sasada  <ko1@atdot.net>
4857
4858	* benchmark/bm_vm2_send.rb : added
4859
4860	* common.mk : add rule "bench-item"
4861
4862	* eval_intern.h : add PASS_PASSED_BLOCK()
4863
4864	* eval_proc.c : support some functions
4865
4866	* rb/mklog.rb : added
4867
4868	* vm.c : fix prototype style and coding style
4869
4870	* yarv.h : add some prototypes of functions
4871
4872	* yarvcore.c, yarvcore.h, eval.c : yarv_thread_t#ifuncnode -> passed_block,
4873	and add yarv_proc_t#safe_level
4874
4875
48762005-09-25(Sun) 11:01:17 +0900  Koichi Sasada  <ko1@atdot.net>
4877
4878	* some files : import from ruby 1.9.0 (2005-09-25)
4879
4880	* eval*, vm.c, vm_macro.def : remove frame, scope, ...
4881
4882	* yarvcore.c : remove yarv_block_given_p()
4883
4884	* yarvcore.h, insnhelper.h : move some macro from insnhelper.h to yarvcore.h
4885	to use these in eval.c
4886
4887
48882005-09-24(Sat) 15:51:42 +0900  Koichi Sasada  <ko1@atdot.net>
4889
4890	* eval* : remove dependency to ruby_dyna_vars and ruby_class
4891
4892
48932005-09-23(Fri) 20:39:14 +0900  Koichi Sasada  <ko1@atdot.net>
4894
4895	* eval_*.[ch] : split eval.c to some files
4896
4897	* *.[ch] : import ruby 1.9.0 (2004-09-23)
4898
4899	* parse.y : remove dependency to ruby_dyna_vars and ruby_scope
4900
4901
49022005-09-15(Thu) 16:51:06 +0900  Koichi Sasada  <ko1@atdot.net>
4903
4904	* compile.c, yarvcore.h : fix "for" scope
4905
4906	* yarvtest/test_block.rb : add tests for above
4907
4908
49092005-09-14(Wed) 06:11:43 +0900  Koichi Sasada  <ko1@atdot.net>
4910
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
4914
4915	* vm_opts.h : fix default options
4916
4917
49182005-09-10(Sat) 14:10:08 +0900  Koichi Sasada  <ko1@atdot.net>
4919
4920	* vm_opts.h : added
4921
4922	* yarvcore.h, rb/insns2vm.h : use vm_opts.h
4923
4924
49252005-09-10(Sat) 04:53:22 +0900  Koichi Sasada  <ko1@atdot.net>
4926
4927	* yarvcore.h, insns.def, compile.c : add DEFINED_YIELD
4928
4929	* yarvtest/test_yield.rb : add test_1_ary_and_1_params
4930
4931	* insns.def : fix splat and svalue
4932
4933	* vm.c : fix to perform with proc with ifunc (incomplete)
4934
4935	* sample/test.rb : added (comment out unsupported features)
4936
4937	* common.mk : add rule "runtest"
4938
4939
49402005-09-09(Fri) 19:32:11 +0900  Koichi Sasada  <ko1@atdot.net>
4941
4942	* insns.def, compile.c : add splatarray
4943
4944	* yarvtest/test_massign.rb : add tests for above
4945
4946
49472005-08-31(Wed) 22:55:15 +0900  Koichi Sasada  <ko1@atdot.net>
4948
4949	* yarvcore.c (yarvcore_eval_parsed): fix to return value
4950
4951	* yarv_version.h, Changes : 0.3.1
4952
4953
49542005-08-20(Sat) 10:19:27 +0900  Koichi Sasada  <ko1@atdot.net>
4955
4956	* rb/ir.rb : add some check
4957
4958	* import today's ruby HEAD
4959
4960
49612005-08-18(Thu) 23:29:52 +0900  Koichi Sasada  <ko1@atdot.net>
4962
4963	* common.mk : fix object file extension
4964
4965	* rb/ir.rb : added (import ruby script)
4966
4967	* rb/diff.rb : removed
4968
4969	* import today's ruby HEAD
4970
4971
49722005-08-18(Thu) 12:59:38 +0900  Koichi Sasada  <ko1@atdot.net>
4973
4974	* common.mk : rule test -> test2, test1 -> test
4975
4976	* compile.c : fix when clause bug and splat arugment
4977
4978
49792005-08-17(Wed) 05:22:31 +0900  Koichi Sasada  <ko1@atdot.net>
4980
4981	* compile.c : fix block local parameter setting routine and support
4982	massign in block parameter initialze
4983
4984	* yarvtest/test_yield.rb : add tests for above
4985
4986	* insns.def, compile.c : support array concat (ex: "[x, *y]")
4987
4988	* yarvtest/test_bin.rb : add tests for above
4989
4990
49912005-08-16(Tue) 19:51:19 +0900  Koichi Sasada  <ko1@atdot.net>
4992
4993	* compile.c : support nested massign
4994
4995	* yarvtest/test_massign.rb : add tests for above
4996
4997
49982005-08-16(Tue) 10:25:29 +0900  Koichi Sasada  <ko1@atdot.net>
4999
5000	* eval.c : support rb_yield_0 with 0 args
5001
5002
50032005-08-16(Tue) 09:09:21 +0900  Koichi Sasada  <ko1@atdot.net>
5004
5005	* lib/fileutils.rb : imported
5006
5007	* insns.def : fix yield argument (same as last commit)
5008
5009	* yarvtest/test_yield.rb : add tests for above
5010
5011
50122005-08-16(Tue) 08:29:47 +0900  Koichi Sasada  <ko1@atdot.net>
5013
5014	* eval.c : fix to support rb_yield_0 with multiple values
5015
5016	* common.mk : add parse, run1p ruelse
5017
5018	* compile.c : support yield with ARGSCAT/SPLAT
5019
5020	* vm.c, insns.def : fix yield arguments to do compatible behaviour
5021
5022	* yarvtest/test_yield.rb : added for above
5023
5024
50252005-08-16(Tue) 06:00:17 +0900  Koichi Sasada  <ko1@atdot.net>
5026
5027	* insns.def : fix to set klass_nest_stack on singleton
5028	method definition
5029
5030	* yarvtest/test_method.rb : add a test for above
5031
5032
50332005-08-16(Tue) 05:34:48 +0900  Koichi Sasada  <ko1@atdot.net>
5034
5035	* test1.rb : added.  gdb and run1 rule run this script
5036
5037	* compile.c : fix error handled variable access
5038
5039	* yarvtest/test_exception.rb : add tests for above
5040
5041
50422005-08-16(Tue) 04:26:08 +0900  Koichi Sasada  <ko1@atdot.net>
5043
5044	* base ruby : ruby 1.9.0 (2005-08-15)
5045
5046
50472005-08-16(Tue) 03:54:17 +0900  Koichi Sasada  <ko1@atdot.net>
5048
5049	* common.mk, Makefile.in : move some rules to common.mk
5050
5051	* rb/diff.rb : added
5052
5053	* yarvtest/yarvtest.rb : fix to compare output last value
5054
5055
50562005-08-15(Mon) 18:27:58 +0900  Koichi Sasada  <ko1@atdot.net>
5057
5058	* Changes : 0.3.0
5059
5060
50612005-08-15(Mon) 17:56:09 +0900  Koichi Sasada  <ko1@atdot.net>
5062
5063	* yarvcore.c : fix to add prototype
5064
5065	* all files : propset svn:eol-style native
5066
5067
50682005-08-15(Mon) 10:48:53 +0900  Koichi Sasada  <ko1@atdot.net>
5069
5070	* eval.c : support rb_load
5071
5072
50732005-08-15(Mon) 09:42:01 +0900  Koichi Sasada  <ko1@atdot.net>
5074
5075	* yarvcore.h : define SDR()
5076
5077	* vm_dump.c : stack_dump_raw() -> vm_stack_dump_raw()
5078
5079	* yarvtest/yarvtest.rb : add rite test scheme
5080
5081	* benchmark/run_rite.rb : added
5082
5083	* yarvcore.c, inits.c : add Init_vm()
5084
5085	* yarv.h : add some prototype declarations, GET_THREAD()
5086
5087	* eval.c : remove unused functions
5088
5089	* eval.c : support Kernel.eval, some schemes (same as evalc.patch)
5090
5091
50922005-08-15(Mon) 00:53:28 +0900  Koichi Sasada  <ko1@atdot.net>
5093
5094	* yarv_version.h : move configurations to yarvcore.h
5095
5096	* yarvcore.c : remove VALUE yarv_get_current_running_thread() and
5097	add yarv_thread_t *yarv_get_current_running_thread(), ...
5098
5099	* yarvcore.h : yarv_thread_t#vm -> vm_value
5100
5101	* compile.c : fix "break from nested classes"
5102
5103	* yarvext/extconf.rb : use have_func instead of defined?(YARV_PACHED)
5104
5105	* depend : fix pass
5106
5107	* eval.c : change to kick VM
5108
5109	* version.c : fix to show yarv version
5110
5111	* common.mk : fix dependent
5112
5113	* inits.c : fix to kick Init_yarvcore
5114
5115
51162005-08-14(Sun) 02:05:15 +0900  Koichi Sasada  <ko1@atdot.net>
5117
5118	* README : add description
5119
5120	* yarvext/depend : move to topdir/depend
5121
51222005-08-14(Sun) 01:50:43 +0900  Koichi Sasada  <ko1@atdot.net>
5123
5124	* merge yarv to ruby (prepare)
5125
5126	* make yarvext/ to build as extension
5127
5128
51292005-08-13(Sat) 09:36:26 +0900  Koichi Sasada  <ko1@atdot.net>
5130
5131	* evalc.patch, insns.def, compile.c : fix to support current
5132	ruby HEAD.
5133
5134	* 0.2.3
5135
5136
51372005-08-08(Mon) 19:13:02 +0900  Koichi Sasada  <ko1@atdot.net>
5138
5139	* version.h, Changes : 0.2.2
5140
5141
51422005-08-08(Mon) 17:17:50 +0900  Koichi Sasada  <ko1@atdot.net>
5143
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
5147
5148	* vm_evalbody.h, vm.h, extconf.rb, version.h :
5149	support call threaded code (incomplete)
5150
5151
51522005-08-01(Mon) 05:26:12 +0900  Koichi Sasada  <ko1@atdot.net>
5153
5154	* yarvcore.c : support yield with multiple values
5155
5156	* compile.c : fix dynavars
5157
5158	* yarvcore.h : fix to mark defined method
5159
5160
51612005-07-31(Sun) 23:27:24 +0900  Koichi Sasada  <ko1@atdot.net>
5162
5163	* yarvcore.c, vm.c, insns.def : fix search object path
5164
5165	* compile.c : fix "for" statement
5166
5167	* vm_macro.def : fix rest, opt arguments
5168
5169
51702005-07-31(Sun) 14:52:06 +0900  Koichi Sasada  <ko1@atdot.net>
5171
5172	* vm_macro.def : fix block parameter
5173
5174	* compile.c : fix to unuse compile_data->in_ensure
5175
5176	* insns.def : add orphan check when return
5177
5178
51792005-07-31(Sun) 03:25:05 +0900  Koichi Sasada  <ko1@atdot.net>
5180
5181	* vm.c, compile.c, yarvcore.h, insns.def :
5182	support jump from rescue/ensure/class/module
5183
5184	* test/test_flow.rb : add tests for above fix
5185
5186
51872005-07-30(Sat) 04:44:33 +0900  Koichi Sasada  <ko1@atdot.net>
5188
5189	* yarvcore.h : struct iseq_compile_data_ensure_node_stack is added
5190
5191	* compile.c : insert ensure clause before break/next/redo
5192
5193	* vm.c : fix return/break handling
5194
5195	* yarv.h, vm.c : fix lightweight yield
5196
5197	* vm.c, insns.def, vm_macro.def : change arguments of th_set_env (add sp)
5198
5199	* test/test_flow.rb : added
5200
5201	* test/yarvtest.rb : add ae_flow
5202
5203	* compile.c, vm_macro.def : add tail-call/tail-recursion optimization
5204	(experimental)
5205
5206
52072005-07-29(Fri) 20:14:11 +0900  Koichi Sasada  <ko1@atdot.net>
5208
5209	* compile.c : make_name_for_block and make_name_with_str
5210	are added
5211
5212	* insns.def : fix if unmatched size arg size to yield
5213
5214	* test/test_block.rb : add test for above fix
5215
5216	* vm.c : add th_backtrace_each and fix backtrace notation
5217
5218	* yarvcore.c : set top level iseq name to "<main>"
5219
5220
52212005-07-29(Fri) 13:20:19 +0900  Koichi Sasada  <ko1@atdot.net>
5222
5223	* yarvcore.h : fix yarv_iseq_t to pass VC (cl)
5224
5225	* vm_dump.c : ditto
5226
5227	* compile.h : ditto
5228
5229	* insnhelper.h : ditto
5230
5231	* vm_evalbody.h : include 'math.h'
5232
5233	* insns.def, vm.c : raise error when yield without block
5234
5235	* vm.c : implement thread_backtrace
5236
5237	* vm.c, yarvsubst.c, yarv.h : implement thread_yield_light_prepare and
5238	thread_yield_light_invoke
5239
5240	* yarvcore.c : Integer#times uses yarv specific version
5241
5242
52432005-07-28(Thu) 21:35:09 +0900  Koichi Sasada  <ko1@atdot.net>
5244
5245	* yarvcore.c : add another mark function for thread/stack
5246
5247	* vm_evalbody.h : fix register allocation for x86_64
5248
5249	* vm.h : use asm for tc on x86_64
5250
5251
52522005-07-28(Thu) 20:17:09 +0900  Koichi Sasada  <ko1@atdot.net>
5253
5254	* yarvcore.c : add mark/free message to debug gc
5255
5256	* insnhelper.h, insns.def, vm_macro.def : remove and
5257	add new RESTORE_REGS
5258
5259	* vm_evalbody.h : fix register allocation
5260
5261
52622005-07-28(Thu) 02:00:42 +0900  Koichi Sasada  <ko1@atdot.net>
5263
5264	* vm.c, etc : change VM stack structure. re-write all
5265	vm functions to do it
5266
5267	* vm_macro.def : added
5268
5269
52702005-07-08(Fri) 01:36:49 +0900  Koichi Sasada  <ko1@atdot.net>
5271
5272	* insns.def : don't use fmod on AMD64
5273
5274
52752005-07-08(Fri) 00:14:22 +0900  Koichi Sasada  <ko1@atdot.net>
5276
5277	* Changes : added
5278
5279
52802005-07-07(Thu) 23:54:37 +0900  Koichi Sasada  <ko1@atdot.net>
5281
5282	* version.h : 0.3.0
5283
5284
52852005-07-07(Thu) 23:52:03 +0900  Koichi Sasada  <ko1@atdot.net>
5286
5287	* 0.2.1 : released
5288
5289
52902005-07-07(Thu) 23:50:22 +0900  Koichi Sasada  <ko1@atdot.net>
5291
5292	* version.h : 0.2.1
5293
5294
52952005-07-07(Thu) 23:47:55 +0900  Koichi Sasada  <ko1@atdot.net>
5296
5297	* rb/insns2vm.rb, extconf.rb : add --[enable|disable]-opt-unify-all-combination
5298	and --disable-opts
5299
5300	* vm.h : DISPATCH_ARCH_DEPEND_WAY is only enabled on GCC 3.x
5301
5302
53032005-07-06(Wed) 13:20:27 +0900  Koichi Sasada  <ko1@atdot.net>
5304
5305	* depend, rb/eval.rb : add ITEMS option to benchmark rule
5306
5307	* benchmark/* : changed
5308
5309	* benchmark/other-lang/* : added
5310
5311
53122005-07-04(Mon) 04:02:15 +0900  Koichi Sasada  <ko1@atdot.net>
5313
5314	* yarvcore.h. yarvcore.c : add idDIV, idMOD, idEq, idLength
5315
5316	* compile.c, insns.def : add specialized insn for above method id
5317
5318	* test/test_bin.rb : add tests for above
5319
5320
53212005-07-03(Sun) 20:31:09 +0900  Koichi Sasada  <ko1@atdot.net>
5322
5323	* yarvcore.c, yarvcore.h : remove cYarvThrowObject (unused)
5324
5325	* yarvcore.c, yarvcore.h, insns.def :
5326	thread_object#stack_mark_poinetr
5327
5328	* depend, rb/eval.rb : BOPT, TOPT -> OPT
5329
5330
53312005-07-03(Sun) 13:53:47 +0900  Koichi Sasada  <ko1@atdot.net>
5332
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
5336
5337	* tmpl/optinsn.inc.tmpl : ditto
5338
5339	* yarvcore.c, yarvcore.h : remove label_object, insn_object
5340	prepare_iseq_build, cleanup_iseq_build are added
5341
5342	* insns.def : remove unused variable from send
5343
5344
53452005-07-02(Sat) 04:19:22 +0900  Koichi Sasada  <ko1@atdot.net>
5346
5347	* insns.def : add GC protect for opt_aset
5348
5349
53502005-07-02(Sat) 03:49:17 +0900  Koichi Sasada  <ko1@atdot.net>
5351
5352	* extconf.rb : add option -fno-reorder-blocks to vm.asm rule
5353
5354	* insns.def : fix opt_aset bugs
5355
5356	* test/test_bin.rb : add tests for aset, aref
5357
5358
53592005-07-02(Sat) 03:05:12 +0900  Koichi Sasada  <ko1@atdot.net>
5360
5361	* benchmark/run.rb : fix output
5362
5363	* vm_evalbody.h : add register for x86_64
5364
5365	* rb/asm_parse.rb : fix to shor size and length
5366
5367
53682005-07-02(Sat) 02:56:31 +0900  Koichi Sasada  <ko1@atdot.net>
5369
5370	* compile.c : move specialized instruction point (new_insn_send)
5371
5372	* insns.def : add opt_aref, opt_aset
5373
5374
53752005-07-01(Fri) 11:04:11 +0900  Koichi Sasada  <ko1@atdot.net>
5376
5377	* compile.h : fix to pass VALUE type to new_insn_body
5378
5379	* insnhelper.h : add cast
5380
5381	* compile.c : fix getdynamic argument (0 == Qfalse -> I2F(0))
5382
5383
53842005-06-30(Thu) 23:34:10 +0900  Koichi Sasada  <ko1@atdot.net>
5385
5386	* rb/eval.rb : add and fix some rules
5387
5388	* rb/insns2vm.rb : generate all
5389
5390	* benchmark/run.rb : add -r (ruby only) option
5391
5392
53932005-06-30(Thu) 23:25:23 +0900  Koichi Sasada  <ko1@atdot.net>
5394
5395	* tmpl/vmtc.inc.tmpl : add const prefix
5396
5397	* /rb/asm_parse.rb, extconf.rb : added and make assembler analised output
5398
5399	* opt_operand.def : add send operands unification
5400
5401	* insnhelper.h : add HEAP_CLASS_OF(obj)
5402
5403	* insns.def : fix opt_plus, opt_ltlt
5404
5405	* vm_evalbody.h : move _tag
5406
5407	* benchmark/run.rb : fix file select
5408
5409
54102005-06-30(Thu) 06:07:04 +0900  Koichi Sasada  <ko1@atdot.net>
5411
5412	* extconf.rb : add collect-usage-analysis option
5413
5414	* opt_operand.def, opt_insn_unif.def : add some rules
5415
5416
54172005-06-29(Wed) 23:28:44 +0900  Koichi Sasada  <ko1@atdot.net>
5418
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
5423
5424	* benchmark/* : fix name and parameters
5425
5426	* rb/eval.rb : added for YARV evaluation
5427
5428
54292005-06-29(Wed) 16:16:52 +0900  Koichi Sasada  <ko1@atdot.net>
5430
5431	* benchmark/run.rb : fix output format
5432
5433	* call_cfunc.inc -> call_cfunc.h
5434
5435	* vm.h : add sign by asm statement
5436
5437
54382005-06-28(Tue) 22:28:40 +0900  Koichi Sasada  <ko1@atdot.net>
5439
5440	* vm.c : fix method search
5441
5442
54432005-06-28(Tue) 22:26:34 +0900  Koichi Sasada  <ko1@atdot.net>
5444
5445	* extconf.rb : fix options
5446
5447
54482005-06-28(Tue) 21:50:58 +0900  Koichi Sasada  <ko1@atdot.net>
5449
5450	* benchmark/run.rb : fix output format
5451
5452
54532005-06-28(Tue) 21:34:54 +0900  Koichi Sasada  <ko1@atdot.net>
5454
5455	* depend : add option TOPT to test rules
5456
5457	* benchmark/run.rb : fix output format
5458
5459
54602005-06-28(Tue) 21:15:54 +0900  Koichi Sasada  <ko1@atdot.net>
5461
5462	* compile.c : fix opt_case_dispatch instruction
5463
5464	* benchmark/run.rb : output all usertimes when exit benchmark
5465
5466
54672005-06-28(Tue) 20:35:55 +0900  Koichi Sasada  <ko1@atdot.net>
5468
5469	* extconf.rb, compile.c, tmpl/optinsn.inc.tmpl, vm.c :
5470	change extconf options
5471
54722005-06-28(Tue) 13:20:59 +0900  Koichi Sasada  <ko1@atdot.net>
5473
5474	* benchmark/run.rb : add -y, --yarv-only option
5475
5476	* depend : add BOPT to tbench rule
5477
5478
54792005-06-27(Mon) 23:31:12 +0900  Koichi Sasada  <ko1@atdot.net>
5480
5481	* depend : add gdb rule
5482
5483	* vm.h : use inline assembler for x86 (to support gcc 3.4.x)
5484
5485
54862005-06-27(Mon) 20:04:10 +0900  Koichi Sasada  <ko1@atdot.net>
5487
5488	* yarvcore.c, compile.c, disasm.c : remove unused variables
5489
5490	* vm.h, insnhelper.h, debug.h : fix to reduce warning
5491
5492	* vm.c, vm_dump.c : move VM state dump (debug) functions to vm_dump.c
5493
5494	* depend : adde reconf rule
5495
5496	* insnhelper.h :
5497
5498	* vm_evalbody.inc : rename to vm_evalbody.h
5499
5500
55012005-06-27(Mon) 16:50:31 +0900  Koichi Sasada  <ko1@atdot.net>
5502
5503	* insns2vm.rb : fix generating unif insn
5504
5505	* compile.c : add useless pop/swap insn elimination with stack caching
5506
5507	* depend : remove compiled.o dependency
5508
5509
55102005-06-26(Sun) 14:06:22 +0900  Koichi Sasada  <ko1@atdot.net>
5511
5512	* benchmark/run.rb : use tmpfile instead of popen
5513
5514	* rb/insns2vm.rb : fix generating insn unification logic
5515
5516	* opt_insn_unif.def : add some unification rules
5517
5518	* compile.c : add verify_list function and fix unification logic
5519
5520
55212005-06-22(Wed) 12:58:26 +0900  Koichi Sasada  <ko1@atdot.net>
5522
5523	* yarvcore.h, yarvcore.c, insns.def,  compile.c : add mult optimization
5524
5525	* test/test_bin.rb : add test_fact
5526
5527
55282005-06-21(Tue) 22:34:07 +0900  Koichi Sasada  <ko1@atdot.net>
5529
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)
5533
5534	* disasm.c : add separator
5535
5536
55372005-06-14(Tue) 07:48:58 +0900  Koichi Sasada  <ko1@atdot.net>
5538
5539	* compile.c : support "for" statement
5540
5541	* test/test_block.rb : add test for above
5542
5543	* yarvcore.[ch] : add global id idEach
5544
5545
55462005-06-08(Wed) 22:30:44 +0900  Koichi Sasada  <ko1@atdot.net>
5547
5548	* compile.c : add if/unless(L1) jump (L2) :L1 => unless/if(L2)
5549	optimize (condition reversal) and fix typo
5550
5551
55522005-06-07(Tue) 08:29:41 +0900  Koichi Sasada  <ko1@atdot.net>
5553
5554	* yarvcore.c : fix to remove compiler warning
5555
5556	* version.h : 0.2.1
5557
5558
55592005-06-07(Tue) 08:16:22 +0900  Koichi Sasada  <ko1@atdot.net>
5560
5561	* yarvcore.h : iseq_link_element changed to double linked list
5562
5563	* disasm.c : support dump struct iseq_link_element
5564
5565	* compile.c : use double linked list instead of array
5566	for intermediate representation
5567
5568
55692005-06-06(Mon) 15:38:44 +0900  Koichi Sasada  <ko1@atdot.net>
5570
5571	* yarvcore.h, yarvcore.c : add link structure to insn and label object
5572
5573	* compile.h, compile.c : remove some variables in function top scope
5574	of iseq_compile_each and some optimization (now working)
5575
5576
55772005-06-04(Sat) 16:12:59 +0900  Koichi Sasada  <ko1@atdot.net>
5578
5579	* compile.c : fix previous commit
5580
5581
55822005-06-04(Sat) 15:56:21 +0900  Koichi Sasada  <ko1@atdot.net>
5583
5584	* compile.c : fix stack caching (after jump state)
5585
5586
55872005-06-04(Sat) 09:12:13 +0900  Koichi Sasada  <ko1@atdot.net>
5588
5589	* compile.c : fix some point for previous commit
5590
5591
55922005-06-04(Sat) 07:31:21 +0900  Koichi Sasada  <ko1@atdot.net>
5593
5594	* compile.c, insns.def : optimize case/when statement
5595	(dispatch on constant time)
5596
5597	* yarvcore.h, disasm.c, rb/insns2vm.rb : fixed for above
5598	(CDHASH)
5599
5600	* test/test_syn.rb : add test for above
5601
5602
56032005-06-04(Sat) 03:41:29 +0900  Koichi Sasada  <ko1@atdot.net>
5604
5605	* yarvcore.h, yarvcore.c : add some temporary variable test
5606	(it'll be vanished)
5607
5608	* compile.c : NODE_CASE optimize (use topn instead of dup/swap)
5609
5610
56112005-06-03(Fri) 00:54:38 +0900  Koichi Sasada  <ko1@atdot.net>
5612
5613	* compile.c : apply flow optimization for while/until statement
5614
5615
56162005-03-04(Fri) 19:34:32 +0900  Koichi Sasada  <ko1@atdot.net>
5617
5618	* rb/insns2vm.rb : fix category (comment)
5619
5620	* depend : remove space between target name and colon
5621
5622
56232005-03-04(Fri) 15:55:51 +0900  Koichi Sasada  <ko1@atdot.net>
5624
5625	* tmpl/yarvarch.ja : fix typo
5626
5627
56282005-03-04(Fri) 13:30:19 +0900  Koichi Sasada  <ko1@atdot.net>
5629
5630	* depend : add a rule for jitcompile.o
5631
5632	* vm.h : fix a macro argument
5633
5634	* version.h : 0.2.0
5635
5636
56372005-03-03(Thu) 08:35:14 +0900  Koichi Sasada  <ko1@atdot.net>
5638
5639	* extconf.rb : remove vm_evalbody.inc call_cfunc.inc from clean target
5640
5641
56422005-03-03(Thu) 00:54:15 +0900  Koichi Sasada  <ko1@atdot.net>
5643
5644	* tmpl/insns.inc.tmpl : fixed typo
5645
5646	* insns.def : store th->pc to current pc
5647
5648
56492005-03-03(Thu) 00:31:47 +0900  Koichi Sasada  <ko1@atdot.net>
5650
5651	* tmpl/yarvarch.ja, doc/yarv.rb : write current architecture of yarv
5652
5653
56542005-03-01(Tue) 13:50:04 +0900  Koichi Sasada  <ko1@atdot.net>
5655
5656	* yarvcore.c (yarvcore_eval_parsed) : added
5657	(separeted from yarvcore_eval)
5658
5659	* yarvcore.c, compile.c : iseq_translate_direct_threaded_code
5660	is moved to compile.c
5661
5662	* depend : add rule for yasmdata.rb
5663
5664	* rb/yasm.rb : support top-level and method-level assemble
5665
5666
56672005-02-26(Sat) 08:09:57 +0900  Koichi Sasada  <ko1@atdot.net>
5668
5669	* rb/insns2vm.rb, compile.c, vm.h : change type long to OFFSET
5670
5671	* tmpl/yasmdata.rb.tmpl : added
5672
5673	* rb/insns2vm.rb : add yasmdata_rb method
5674
5675	* rb/yasm.rb : fix some interface (incomplete)
5676
5677	* compile.c : iseq_setup added
5678
5679	* yarvcore.c : YARVCore::InstructionSequence::Instruction#make added
5680
5681
56822005-02-24(Thu) 07:45:37 +0900  Koichi Sasada  <ko1@atdot.net>
5683
5684	* rb/yasm.rb : added
5685
5686
56872005-02-24(Thu) 01:13:33 +0900  Koichi Sasada  <ko1@atdot.net>
5688
5689	* compile.c : remove useless statements
5690
5691
56922005-02-24(Thu) 00:46:44 +0900  Koichi Sasada  <ko1@atdot.net>
5693
5694	* rb/insns2vm.rb (InsnInfo) : add @is_sc attr and remove
5695	is_sc method
5696
5697	* compile.c : fix NODE_CASE/NODE_WHEN bug (cond at 'when'
5698	must not be popped)
5699
5700	* compile.c : support NODE_OP_ASGN1 to &&= and ||=
5701
5702	* test/test_bin.rb : add tests for above
5703
5704
57052005-02-23(Wed) 09:17:01 +0900  Koichi Sasada  <ko1@atdot.net>
5706
5707	* vm.c, yarvcore.c : thread_svar added and fix svar location
5708
5709
57102005-02-21(Mon) 08:38:02 +0900  Koichi Sasada  <ko1@atdot.net>
5711
5712	* yarvcore.h : make type "struct iseq_compile_data"
5713
5714	* yarvcore.h : iseq_object#insn_info_ary to iseq_object#insn_info_tbl
5715
5716
57172005-02-21(Mon) 05:24:01 +0900  Koichi Sasada  <ko1@atdot.net>
5718
5719	* yarvcore.c (compile_string) : remove null check of node
5720
5721
57222005-02-19(Sat) 03:52:45 +0900  Koichi Sasada  <ko1@atdot.net>
5723
5724	* version.h : 0.1.1
5725
5726
57272005-02-18(Fri) 20:57:18 +0900  Koichi Sasada  <ko1@atdot.net>
5728
5729	* yarvcore.h, yarvcore.c : add idLTLT, idMethodMissing
5730
5731	* compile.c : suopport lval (or others) block parameter
5732
5733	* test/test_block.rb : add tests for above
5734
5735	* insns.def (send) : support method_missing
5736
5737	* test/test_method.rb : add tests for above
5738
5739	* insns.def : opt_ltlt and
5740
5741
57422005-02-18(Fri) 08:54:40 +0900  Koichi Sasada  <ko1@atdot.net>
5743
5744	* benchmark/runc.rb : added
5745
5746	* benchmark/contrib/pentomino.rb : added opt_ltlt
5747	and Float, String plus specialization
5748
5749
57502005-02-18(Fri) 07:49:42 +0900  Koichi Sasada  <ko1@atdot.net>
5751
5752	* compile.c : remove debug print
5753
5754	* rb/aotcompile.rb : skip if yarvcore.so is not created
5755
5756
57572005-02-18(Fri) 06:46:13 +0900  Koichi Sasada  <ko1@atdot.net>
5758
5759	* compile.c : fix block passing
5760	and block argument
5761
5762
57632005-02-18(Fri) 05:52:41 +0900  Koichi Sasada  <ko1@atdot.net>
5764
5765	* vm.c : thread_get_ev_const, thread_get_ev_defined is added
5766	(separated from insns.def)
5767
5768	* insnhelper.h : GET_EV_KLASS(klass) is added
5769	(separated from insns.def)
5770
5771	* yarvcore.h, insns.def, compile.c : support defined? expression (limited)
5772
5773	* test/test_syn.rb : tests for above is added
5774
5775	* compile.c, insns.def : support block passed method dispatch
5776
5777	* test/test_method.rb : tests for above is added
5778
5779	* compile.h : CALL_ARGS_SPLAT is removed
5780
5781
57822005-02-16(Wed) 13:32:37 +0900  Koichi Sasada  <ko1@atdot.net>
5783
5784	* disasm.c : fix ID to String method
5785
5786	* compile.c : NODE_SUPER, NODE_ZSUPER check 'popped'
5787	and NODE_RETURN check outer type
5788	and NODE_DREGX_ONCE supported (temporarily)
5789
5790	* test/test_syn.rb : add a test
5791
5792	* test/test_jump.rb : add a test
5793
5794
57952005-02-16(Wed) 06:07:41 +0900  Koichi Sasada  <ko1@atdot.net>
5796
5797	* compile.[hc] : use Symbol instead of Fixnum to represent ID
5798
5799	* rb/insns2vm.rb : add attr_reader :insns, :insn_map
5800
5801	* vm.h, rb/insns2vm.rb : END_INSN have one arg
5802
5803	* jitcompile.c : jit compiler framework (experimental)
5804
5805	* rb/aotcompile.rb : refactoring
5806
5807	* compiled.c : add constant pool
5808
5809	* vm_evalbody.inc, call_cfunc.inc, vm.c : separeted from vm.c
5810
5811	* insns.def : fix return val
5812
5813	* depend : add rules for compiled.o
5814
5815
58162005-02-14(Mon) 13:09:01 +0900  Koichi Sasada  <ko1@atdot.net>
5817
5818	* insnhelper.h, yarvcore.h: move YARV_METHOD_NODE to yarvcore.h
5819
5820	* yarvcore.h : add 2 members jit_compiled and iseq_orig
5821	to struct iseq_object
5822
5823	* yarvcore.c : add yarv_jitcompile and global function jitcompile
5824
5825	* insns.def : insn opt_call_native_compiled added
5826
5827	* jitcompile.c : added
5828
5829
58302005-02-12(Sat) 05:38:51 +0900  Koichi Sasada  <ko1@atdot.net>
5831
5832	* insns.def (putstring) : fixed to duplicate string object
5833
5834	* rb/insns2vm.rb, tmpl/optunifs.inc.tmpl, compile.c : support
5835	instructions unification (aka super instruction)
5836
5837	* opt_insn_unif.def : added for above
5838
5839	* benchmark/bm_unif1.rb : added to measure efficiency of unification
5840
5841	* depend : fixed for above
5842
5843	* extconf.rb : add option --(enable|disalbe)-opt-insns-unification
5844
5845
58462005-02-11(Fri) 12:14:39 +0900  Koichi Sasada  <ko1@atdot.net>
5847
5848	* yarvcore.c, vm.c, insns.def : permit to access svar from
5849	cfunc environment
5850
5851	* test/test_method.rb : add tests for above
5852
5853
58542005-02-09(Wed) 19:31:06 +0900  Koichi Sasada  <ko1@atdot.net>
5855
5856	* ite.rb : added (ruby -rite [script file])
5857
5858
58592005-02-09(Wed) 02:25:43 +0900  Koichi Sasada  <ko1@atdot.net>
5860
5861	* yarvcore.[hc] : add member compile_data (hash) to iseq_object
5862
5863	* compile.c, yarvcore.h : check label is already set
5864
5865	* compile.c, extconf.rb : support __goto__ and __label__ statement
5866
5867
58682005-01-25(Tue) 12:49:27 +0900  Koichi Sasada  <ko1@atdot.net>
5869
5870	* test/test_block.rb : add break test to test_times
5871
5872
58732005-01-25(Tue) 03:34:04 +0900  Koichi Sasada  <ko1@atdot.net>
5874
5875	* extconf.rb : check ruby version if yarv patch is applied or not
5876
5877	* evalc.patch : fixed for rb_call_super and above check
5878
5879
58802005-01-25(Tue) 03:21:48 +0900  Koichi Sasada  <ko1@atdot.net>
5881
5882	* rb/insns2vm.rb : refactoring (mainly, make InsnsDef::InsnInfo
5883	to represent each instruction information)
5884
5885	* depend, rb/makedocs.rb : fixed for above
5886
5887	* yarvcore.c (thread_call_super) : added
5888
5889	* vm.c (thread_call_super) : added
5890
5891	* vm.h : add struct cmethod_info
5892
5893	* insns.def, vm.c : use cmethod_info to represent C method info
5894
5895	* insns.def : use iseq_object#klass_nest_stack
5896	to search super/zsuper's class
5897
5898	* prosym.rb : removed
5899
5900	* ToDo : write todo things on wiki
5901
5902
5903
59042005-01-18(Tue) 23:44:47 +0900  Koichi Sasada  <ko1@atdot.net>
5905
5906	* benchmark/run.rb : check ENV['RUBY'] to use ruby binary
5907
5908
59092005-01-10(Mon) 08:44:40 +0900  Koichi Sasada  <ko1@atdot.net>
5910
5911	* version.h : 0.1.0
5912
5913
59142005-01-09(Sun) 22:01:29 +0900  Koichi Sasada  <ko1@atdot.net>
5915
5916	* repository : svn propset svn:eol-style native *.c *.h tmpl/*.tmpl
5917
5918
59192005-01-09(Sun) 21:48:38 +0900  Koichi Sasada  <ko1@atdot.net>
5920
5921	* yarvcore.c : FREE_UNLESS_NULL, MARK_UNLESS_NULL macros are added
5922
5923	* yarvcore.c : some insn/label methods are added
5924
5925	* yarvcore.h : add structure menber "insns_ary" to iseq_object
5926
5927	* vm.c, insns.def (thread_eval_body) : return values with throw
5928
5929	* prosym.rb : added
5930
5931	* insns.def : add YARV_AOT_COMPILED and some procedure
5932
5933	* depend : add compiled.c
5934
5935	* compiled.c : added to build compiled Ruby program (C source)
5936	by AOT compiler
5937
5938	* rb/aotcompile.rb : AOT compiler
5939
5940	* aotct.rb, rb/aotctest.rb : test and benchmark AOT compiler
5941
5942	* rb/allload.rb : added
5943
5944
59452005-01-09(Sun) 08:30:38 +0900  Koichi Sasada  <ko1@atdot.net>
5946
5947	* yarvcore.c (yarv_yield_values) : added
5948
5949	* vm.c (thread_call0) : change interface. substitute rb_call0 in
5950	yarv environment
5951
5952	* yarvcore.c (yarv_call0) : fix for above
5953
5954	* yarvcore.c (yarv_call0_cfunc) : removed
5955
5956	* yarvcore.c : change passing items for yarv_setup
5957
5958	* evalc.patch : fix for above
5959
5960	* benchmark/bm_lists.rb : fix (unsupport block passing)
5961
5962	* benchmark/run.rb : use full path to ruby
5963
5964	* insns.def (yield): raise error if argc > expected argc
5965
5966
59672005-01-08(Sat) 16:07:48 +0900  Koichi Sasada  <ko1@atdot.net>
5968
5969	* extconf.rb : add descrioptions
5970
5971	* compile.c : fix bugs (getinlinecache operands)
5972
5973	* yarvcore.c : initial value of yarvGlobalStateVersion
5974	to 1
5975
5976
59772005-01-08(Sat) 14:39:04 +0900  Koichi Sasada  <ko1@atdot.net>
5978
5979	* yarvcore.c, vm.c, evalc.patch : support making backtrace
5980	(incompatible with current ruby interpreter)
5981
5982
59832005-01-08(Sat) 11:25:46 +0900  Koichi Sasada  <ko1@atdot.net>
5984
5985	* evalc.patch : commit for previous commit change
5986
5987	* yarvcore.h, compile.c, insns.def : MC to IC (inline cache),
5988	and changed to using IC by set/getinlinecache
5989
5990
59912005-01-08(Sat) 10:04:33 +0900  Koichi Sasada  <ko1@atdot.net>
5992
5993	* yarvcore.c : add global variable sym[IC]FUNC
5994
5995	* yarvcore.c (yarv_iterate, yarv_call0_cfunc) : added
5996	(each called from rb_iterate, rb_call0 with NODE_CFUNC)
5997
5998	* vm.c (stack_dump_raw) : fixed to prints more detail
5999
6000	* vm.c (stack_dump_th, stack_dump_thobj) : added to
6001	dumps thread_object states (for VALUE, struct pointer)
6002
6003	* vm.c (thread_dump_regs) : added
6004
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
6008
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 *')
6012
6013	* vm.c (stack_dump_each) : fixed for above
6014
6015	* test/test_block.rb (test_ifunc) : test for above
6016
6017	* vm.c (get_block_objec, thread_make_env_object) : fixed bugs
6018
6019	* test/test_bin.rb (test_xstr) : remove `ls` test
6020
6021
60222005-01-06(Thu) 21:35:18 +0900  Koichi Sasada  <ko1@atdot.net>
6023
6024	* yarv : trying to support NODE_IFUNC (rb_iterate)
6025
6026
60272005-01-05(Wed) 06:50:42 +0900  Koichi Sasada  <ko1@atdot.net>
6028
6029	* yarvcore.h, insns.def, disasm.c, rb/insns2vm.rb, compile.[ch] :
6030	support inline method cache
6031
6032	* extconf.rb : add -*-inline-method-cache (default: enable)
6033
6034	* test/test_method.rb : add a test for above
6035
6036	* benchmark/bm_poly_method.rb : added
6037
6038	* yarvcore.c : add option string
6039
6040
60412005-01-04(Tue) 17:15:41 +0900  Koichi Sasada  <ko1@atdot.net>
6042
6043	* insns.def, compile.c : add compile_array and duparray insn
6044	to optimize only literal array creation
6045
6046	* benchmark/bm_array.rb : added
6047
6048
60492005-01-04(Tue) 10:02:40 +0900  Koichi Sasada  <ko1@atdot.net>
6050
6051	* README : fix version
6052
6053
60542005-01-04(Tue) 09:57:25 +0900  Koichi Sasada  <ko1@atdot.net>
6055
6056	* ToDo : reflect current status
6057
6058
60592005-01-04(Tue) 09:43:54 +0900  Koichi Sasada  <ko1@atdot.net>
6060
6061	* compile.c : support NODE_VALUES, NODE_ARGSCAT, NODE_SPLAT
6062
6063	* test/test_massign.rb : add tests for above
6064
6065	* benchmark/bm_swap.rb : added
6066
6067
60682005-01-04(Tue) 06:25:45 +0900  Koichi Sasada  <ko1@atdot.net>
6069
6070	* compile.h : COMPILE_ERROR break contol (instead of return)
6071
6072	* compile.c : support NODE_MASGN
6073
6074	* insns.def : change expandarray for massign and add topn insn
6075
6076	* test/test_massign.rb : added
6077
6078
60792005-01-03(Mon) 21:20:28 +0900  Koichi Sasada  <ko1@atdot.net>
6080
6081	* vm.c : store block when create proc
6082
6083	* test/test_proc.rb : add a test for above change
6084
6085	* yarvcore.c : add global function "once"
6086
6087
60882005-01-02(Sun) 00:40:08 +0900  Koichi Sasada  <ko1@atdot.net>
6089
6090	* benchmark/bm_super.rb : fix bug (remove infinite loop)
6091
6092
60932005-01-01(Sat) 23:45:49 +0900  Koichi Sasada  <ko1@atdot.net>
6094
6095	* benchmark/bm_z?super.rb : added
6096
6097
60982005-01-01(Sat) 23:37:38 +0900  Koichi Sasada  <ko1@atdot.net>
6099
6100	* benchmark/bmx_so_object.rb : rename to benchmark/bm_so_object.rb
6101
6102
61032005-01-01(Sat) 23:19:02 +0900  Koichi Sasada  <ko1@atdot.net>
6104
6105	* compile.c : support NODE_OP_ASGN2, NODE_OP_ASGN_AND, NODE_OP_ASGN_OR,
6106	NODE_SUPER, NODE_ZSUPER, NODE_MATCH
6107
6108	* insns.def : support super, zsuper (currently, super can't
6109	handle with block)
6110
6111	* test/test_bin.rb : add test for op_asgin2, op_assgin_and/or
6112
6113	* test/test_class.rb : add test for super, zsuper
6114
6115
61162005-01-01(Sat) 20:39:29 +0900  Koichi Sasada  <ko1@atdot.net>
6117
6118	* compile.c : support NODE_MATCH
6119
6120	* yarvcore.c : fix yarv_svar bug (fix condition boundary)
6121
6122	* insnhelper.h : save cfp/lfp/dfp vars to thread_object (th)
6123
6124
61252005-01-01(Sat) 20:03:10 +0900  Koichi Sasada  <ko1@atdot.net>
6126
6127	* version.h : 0.0.1
6128
6129	* yarvcore.h : add idIntern declaration
6130
6131	* insns.def : add getspecial, setspecial.
6132	implement getclassvariable, setclassvariable.
6133	store lfp before reg match (opt_regexpmatch1)
6134
6135	* compile.c : support ditto, flipflop
6136
6137	* yarvcore.c : support svar
6138
6139	* test/test_syn.rb : add test for flipflop
6140
6141	* test/test_bin.rb : add test for dsym, cvar, backref
6142
6143
61442005-01-01(Sat) 09:09:32 +0900  Koichi Sasada  <ko1@atdot.net>
6145
6146	* insns.def : add getspecial insn
6147
6148	* compile.c : support NODE_NTH_REF, NODE_BACK_REF
6149
6150
61512005-01-01(Sat) 06:53:38 +0900  Koichi Sasada  <ko1@atdot.net>
6152
6153	* insns.def, compile.c : support alias, undef
6154
6155	* test/test_method.rb : test for above
6156
6157	* rb/insns2vm.rb : fix enbug
6158
6159
61602005-01-01(Sat) 06:00:32 +0900  Koichi Sasada  <ko1@atdot.net>
6161
6162	* test/test_jump.rb : add test (next with value)
6163
6164	* yarvcore.h, yarvcore.c, compile.c, compile.h :
6165	raise compile error exception instead of rb_bug
6166
6167	* yarvcore.c, evalc.patch : support "require"
6168
6169	* test.rb : restore $" after evaluation with ruby
6170
6171	* rb/insns2vm.rb : remove unnecessary each
6172
6173
61742004-12-17(Fri) 18:56:38 +0900  Koichi Sasada  <ko1@atdot.net>
6175
6176	* insns.def : fix newhash
6177
6178
61792004-12-15(Wed) 13:29:27 +0900  Koichi Sasada  <ko1@atdot.net>
6180
6181	* yarvcore.c : add version string
6182
6183	* compile.c : fix rescure clause bug
6184
6185
61862004-12-14(Tue) 22:46:30 +0900  Koichi Sasada  <ko1@atdot.net>
6187
6188	* insns.def : add reput insn
6189
6190	* vm.h : show stack cache registers when stack dump
6191
6192	* rb/insns2vm.rb, compile.c : fix stack caching bugs
6193
6194
61952004-12-14(Tue) 00:51:58 +0900  Koichi Sasada  <ko1@atdot.net>
6196
6197	* insns2vm.rb, compile.c, tmpl/opt_sc.inc.tmpl : fix bugs
6198
6199	* rb/mixc-asm.rb : added
6200
6201
62022004-12-14(Tue) 00:17:02 +0900  Koichi Sasada  <ko1@atdot.net>
6203
6204	* yarvcore.h, yarvcore.c, compile.c : fix SC bugs
6205	(SC state management)
6206
6207	* extconf.rb : add option -[enable|disable]-opt-stack-caching
6208
6209	* insns2vm.rb : accept CPPFLAGS options
6210
6211	* vm.c : support restrore register for pc
6212
6213
62142004-12-13(Mon) 16:53:42 +0900  Koichi Sasada  <ko1@atdot.net>
6215
6216	* rb/insns2vm.rb : add macro INSN_IS_SC()
6217
6218
62192004-12-11(Sat) 10:51:44 +0900  Koichi Sasada  <ko1@atdot.net>
6220
6221	* insns.def, compile.c : support singleton method definition
6222
6223	* test/test_method.rb : add test for above
6224
6225
62262004-12-11(Sat) 03:17:54 +0900  Koichi Sasada  <ko1@atdot.net>
6227
6228	* benchmark/*.rb : modify
6229
6230	* extconf.rb : add $cleanfiles
6231
6232
62332004-12-08(Wed) 13:01:38 +0900  Koichi Sasada  <ko1@atdot.net>
6234
6235	* compile.c, insns.def : change to disable stack caching
6236
6237
62382004-12-07(Tue) 19:37:13 +0900  Koichi Sasada  <ko1@atdot.net>
6239
6240	* rb/insns2vm.rb : add default after
6241
6242	* insns.def : fix to work on stack caching
6243
6244
62452004-12-07(Tue) 15:07:13 +0900  Koichi Sasada  <ko1@atdot.net>
6246
6247	* depend : add some dependency to *.inc files
6248
6249	* vm.c : add "register" and asm("regname") descriptor
6250
6251	* rb/insns2vm.rb, compile.c : add stack caching support
6252
6253	* tmpl/opt_sc.inc.tmpl : added to above change
6254
6255	* rb/makedocs.rb : fix file path
6256
6257	* extconf.rb : fix option selection
6258
6259
62602004-12-06(Mon) 11:20:11 +0900  Koichi Sasada  <ko1@atdot.net>
6261
6262	* extconf.rb : add vm.asm target if compiler is gcc
6263
6264
62652004-12-06(Mon) 09:56:24 +0900  Koichi Sasada  <ko1@atdot.net>
6266
6267	* vm.h : rename method_frame's member block to block_ptr
6268
6269	* extconf.rb : add "-fno-crossjumping" option when compiler
6270	is gcc
6271
6272	* opt_operand.def : add unification insn send
6273
6274	* rb/insns2vm.rb : define symbol instead of declare const
6275	variable (for more optmize on VC)
6276
6277	* insns.def : move enter point in send
6278
6279
62802004-12-06(Mon) 04:53:51 +0900  Koichi Sasada  <ko1@atdot.net>
6281
6282	* compile.c, opt_operand.def, rb/insns2vm.rb, depend :
6283	support operand unification
6284
6285
62862004-12-05(Sun) 03:16:10 +0900  Koichi Sasada  <ko1@atdot.net>
6287
6288	* vm.c, insns.def : speed up throw/catch scheme
6289
6290
62912004-12-05(Sun) 01:47:05 +0900  Koichi Sasada  <ko1@atdot.net>
6292
6293	* vm.c : fix catch handler bugs
6294
6295	* test/test_jump.rb : test_complex_jump added
6296
6297
62982004-12-03(Fri) 20:39:05 +0900  Koichi Sasada  <ko1@atdot.net>
6299
6300	* benchmark/contrib/mcq.rb : added
6301	(from URABE Syouhei)
6302
6303
63042004-12-03(Fri) 20:35:28 +0900  Koichi Sasada  <ko1@atdot.net>
6305
6306	* vm.c : support break in rb_yield block
6307
6308
63092004-12-03(Fri) 14:26:35 +0900  Koichi Sasada  <ko1@atdot.net>
6310
6311	* compile.c : support block local variable in current
6312	ruby specification (patche from Kent Sibilev)
6313
6314	* insns.def : support attr_* (patch from Kent Sibilev)
6315
6316
63172004-12-02(Thu) 21:04:27 +0900  Koichi Sasada  <ko1@atdot.net>
6318
6319	* opt_operand.def : added
6320
6321
63222004-12-02(Thu) 13:20:41 +0900  Koichi Sasada  <ko1@atdot.net>
6323
6324	* yarvcore.c, vm.h, vm.c, insns.def, insnhelper.h, yarvutil.rb :
6325	add usage analisys framework
6326
6327	* disasm.c : insn_operand_intern to separate function
6328
6329	* benchmark/run.rb : run each benchmark on another process
6330
6331
63322004-12-01(Wed) 10:26:49 +0900  Koichi Sasada  <ko1@atdot.net>
6333
6334	* vm.c : yield check block is given
6335
6336	* benchmark/bm_lists.rb : rename to bmx_lists.rb
6337	(because it's not work ... bug?)
6338
6339	* insns.def : opt_* support other type calc
6340
6341
63422004-11-30(Tue) 16:14:54 +0900  Koichi Sasada  <ko1@atdot.net>
6343
6344	* benchmark/bm_so_array.rb : added
6345
6346	* benchmark/bm_so_matrix.rb : added
6347
6348
63492004-11-30(Tue) 14:11:30 +0900  Koichi Sasada  <ko1@atdot.net>
6350
6351	* rb/getrev.rb : added
6352
6353	* yarvcore.c : add YARVCore::REV, YARVCore::DATE constant
6354
6355
63562004-11-30(Tue) 13:05:42 +0900  Koichi Sasada  <ko1@atdot.net>
6357
6358	* compile.c : support NODE_OP_ASGN1 (incomplete)
6359
6360	* insns.def : add dupn
6361
6362
63632004-11-30(Tue) 08:52:01 +0900  Koichi Sasada  <ko1@atdot.net>
6364
6365	* version.h : 0.0.0.f
6366
6367
63682004-11-30(Tue) 08:43:59 +0900  Koichi Sasada  <ko1@atdot.net>
6369
6370	* test/test_class.rb : add test_initialize and test_to_s
6371
6372	* yarvsubst.c : use rb_funcall instead of yarv_funcall
6373
6374	* evalc.patch : fix ruby's patch
6375
6376	* benchmark/bm_so_*.rb : change naming rule. "bm_so_*" from
6377	language shootout
6378
6379	* depend : tbench target item is ITEM env val (default: bmx_temp)
6380
6381	* vm.c : show raw address if environment is in heap at dumping stack trace
6382
6383	* vm.c : thread_call0 added
6384
6385	* vm.c : fix thread_yield_light_invoke
6386
6387	* yarv.h, yarvcore.c : remove yarv_funcall
6388
6389
63902004-11-29(Mon) 11:37:08 +0900  Koichi Sasada  <ko1@atdot.net>
6391
6392	* test/test/test_proc.rb : add test test_nestproc
6393
6394	* yarvsubst.c : comment out yarv_Array_each
6395
6396	* insns.def : restore lfp/dfp after call_cfunc
6397
6398	* vm.c : fix stack dump routine
6399
6400	* vm.c : implement thread_funcall (temporarily)
6401
6402	* yarv.h : add IS_YARV_WORKING(), SET_YARV_START(), SET_YARV_STOP()
6403
6404	* yarvcore.c : remove check with yarv_in_work
6405
6406	* evalc.patch : added
6407
6408
64092004-11-27(Sat) 00:19:52 +0900  Koichi Sasada  <ko1@atdot.net>
6410
6411	* yarvcore.c : free -> ruby_xfree
6412
6413
64142004-11-26(Fri) 02:11:11 +0900  Koichi Sasada  <ko1@atdot.net>
6415
6416	* vm,c : fix bug
6417
6418
64192004-11-22(Mon) 11:19:48 +0900  Koichi Sasada  <ko1@atdot.net>
6420
6421	* benchmark/bm_ackermann.rb, bm_proc.rb, bm_simpleiter.rb,
6422	bm_so_exception.rb, bm_wc.rb, wc.input added
6423
6424
64252004-11-22(Mon) 02:31:56 +0900  Koichi Sasada  <ko1@atdot.net>
6426
6427	* test/test_proc.rb : add some test
6428
6429	* yarvcore.c, vm.c : support yield in C method (as rb_yield)
6430
6431	* vm.c (thread_yield_light_(prepare|invoke)) : support lightweight
6432	yield
6433
6434	* yarv.h : added
6435
6436	* yarvcore.c, yarv.h : support yarv_is_working, yarv_block_given_p,
6437	yarv_yield, yarv_funcall (only dummy function)
6438
6439	* vm.c : thread_eval_body changed return value
6440
6441	* yarvsubst.c : added and add yarv_Integer_times, yarv_Array_each
6442
6443	* yarvcore.h : block_ptr is added to struct thread_object
6444
6445	* insns.def : pass block when C method call
6446
6447	* insnhelper.h : add GET_ISEQOBJ(cfp) macro
6448
6449
64502004-11-21(Sun) 07:25:49 +0900  Koichi Sasada  <ko1@atdot.net>
6451
6452	* vm.c : support Proc#call
6453
6454	* test/test_proc.rb : added
6455
6456
64572004-11-19(Fri) 18:04:10 +0900  Koichi Sasada  <ko1@atdot.net>
6458
6459	* insns.def, vm.c : support creating Proc object
6460
6461
64622004-11-15(Mon) 14:19:27 +0900  Koichi Sasada  <ko1@atdot.net>
6463
6464	* insns.def (send) : use clear_local_size to specify
6465	clear local table vars.
6466
6467	* insns.def : block represent data shares lfp, dfp with frame data
6468
6469
64702004-11-13(Sat) 18:19:41 +0900  Koichi Sasada  <ko1@atdot.net>
6471
6472	* yarvcore.h, insns.def : add VM_CALL_ARGS_SPLAT_BIT and
6473	VM_CALL_ARGS_BLOCKARG_BIT
6474
6475	* compile.c, compile.h : add ADD_SEND, ADD_SEND_R
6476
6477
64782004-11-10(Wed) 08:26:25 +0900  Koichi Sasada  <ko1@atdot.net>
6479
6480	* add "vm_" prefix to (block_object, proc_object, env_object)
6481
6482
64832004-11-03(Wed) 15:52:14 +0900  Koichi Sasada  <ko1@atdot.net>
6484
6485	* yarvcore.h, yarvcore.c, disasm.c, compile.c, insns.def, vm.c :
6486	fix to move x86_64 (illegal cast, etc)
6487
6488
64892004-11-01(Mon) 04:45:54 +0900  Koichi Sasada  <ko1@atdot.net>
6490
6491	* yarvcore.h, compile.c, debug.c, version.h :
6492	redesgin gc debug scheme (GC_CHECK())
6493
6494	* yarvcore.c : mark iseqobj->current_block on GC
6495
6496	* insns.def, compile.c : last "throw" in ensure/rescue block
6497	use operand throwobj and before this insn, use "getdynamic 0, 1"
6498
6499	* benchmark/bm_temp.rb : move to benchmark bmx_temp.rb
6500
6501	* depend : change some targets
6502
6503
65042004-10-25(Mon) 19:57:58 +0900  Koichi Sasada  <ko1@atdot.net>
6505
6506	* compile.c : push exception iseq to iseqobj->iseq_mark_ary
6507	to mark for GC
6508
6509
65102004-10-10(Sun) 16:25:03 +0900  Koichi Sasada  <ko1@atdot.net>
6511
6512	* compile.c : remove $_, $' area from method local frame
6513	and provide that's special method local variables pointer(LFP[-1])
6514
6515	* disasm.c : change environment showing format
6516
6517	* yarvcore.(h|c) : add YarvProc, YarvEnv
6518
6519	* yarvcore.h : add arg_block field to iseq_object
6520	and init -1 as default value
6521
6522
65232004-09-30(Thu) 19:50:48 +0900  Koichi Sasada  <ko1@atdot.net>
6524
6525	* compile.c, insns.def : support passing splat argument
6526
6527	* compile.c, insns.def : support rest argument
6528
6529	* compile.c, insns.def : support optional argument initializer
6530
6531	* test/test_method.rb : add tests for above
6532
6533
65342004-09-29(Wed) 10:50:03 +0900  Koichi Sasada  <ko1@atdot.net>
6535
6536	* compile.c : fix rescue clause popped
6537
6538	* benchmark/bm_random.rb : move to benchmark/bmx_random.rb
6539
6540
65412004-09-29(Wed) 01:25:35 +0900  Koichi Sasada  <ko1@atdot.net>
6542
6543	* many many files: change stack frame design
6544
6545
65462004-09-16(Thu) 08:51:37 +0900  Koichi Sasada  <ko1@atdot.net>
6547
6548	* compile.c, yarvcore.h : support 'return' from method
6549	in ensure clause
6550
6551
65522004-09-13(Mon) 21:56:40 +0900  Koichi Sasada  <ko1@atdot.net>
6553
6554	* compile.c : support inline cache constant access
6555	on NODE_COLON2, NODE_COLON3
6556
6557	* depend : add 'vtest' rule(verbose test)
6558
6559
65602004-09-13(Mon) 10:58:44 +0900  Koichi Sasada  <ko1@atdot.net>
6561
6562	* compile.c, yarvcore.h : support redo/next/break in
6563	while/until
6564
6565
65662004-09-13(Mon) 08:50:19 +0900  Koichi Sasada  <ko1@atdot.net>
6567
6568	* test/test_jump.rb : added(correctly)
6569
6570	* benchamark/bm_(ensure|rescue|simplereturn).rb added
6571
6572
65732004-09-12(Sun) 23:30:20 +0900  Koichi Sasada  <ko1@atdot.net>
6574
6575	* test/test_jump.rb : added
6576
6577	* insns.def, compile.c : add 'putnil' insn
6578
6579	* compile.c : use '===' when rescue check
6580
6581	* insns.def : remove 'rescuecheck' insn
6582
6583	* compile.c : support retry in begin/rescue clause
6584
6585	* ToDo : added
6586
6587
65882004-09-08(Wed) 12:34:04 +0900  Koichi Sasada  <ko1@atdot.net>
6589
6590	* yarvcore.h, yarvcore.c : add idThrow*
6591
6592	* insns.def, compile.c, vm.c : support retry, break,
6593	next, redo, return(incomplete)
6594
6595
65962004-09-03(Fri) 13:40:08 +0900  Koichi Sasada  <ko1@atdot.net>
6597
6598	* compile.c : add nop after rescue body
6599
6600	* insns.def, vm.c : support stack rewind when thrown
6601
6602
66032004-09-01(Wed) 17:31:01 +0900  Koichi Sasada  <ko1@atdot.net>
6604
6605	* test/test_exception.rb : added
6606
6607
66082004-09-01(Wed) 13:15:14 +0900  Koichi Sasada  <ko1@atdot.net>
6609
6610	* vm.c, insns.def : implementing exception handling
6611
6612
66132004-09-01(Wed) 00:18:54 +0900  Koichi Sasada  <ko1@atdot.net>
6614
6615	* insns.def : add 'throw' insn
6616
6617	* compile.c : support 'rescue' and 'ensure' clause
6618
6619	* yarvcore.c, yarvcore.h : add 'catch_table' to iseq_struct
6620
6621
66222004-08-30(Mon) 19:06:12 +0900  Koichi Sasada  <ko1@atdot.net>
6623
6624	* compile.h : NEW_ISEQOBJ don't pass self as parent
6625
6626	* compile.c : use NEW_CHILD_ISEQOBJ explicitly
6627
6628
66292004-08-29(Sun) 21:09:55 +0900  Koichi Sasada  <ko1@atdot.net>
6630
6631	* compile.c : trying to implement rescue/ensure
6632
6633	* insns.def : fix yield bug(lfp, dfp link)
6634
6635
66362004-08-28(Sat) 13:52:15 +0900  Koichi Sasada  <ko1@atdot.net>
6637
6638	* compile.c : fix dvar bug
6639
6640	* test/test_block.rb : add test
6641
6642	* insns.def, insnhelper.h : remove unused source code
6643
6644
66452004-08-28(Sat) 08:51:26 +0900  Koichi Sasada  <ko1@atdot.net>
6646
6647	* compile.c : support NODE_DASGN
6648
6649	* test/test_block.rb : add test
6650
6651
66522004-08-28(Sat) 08:13:04 +0900  Koichi Sasada  <ko1@atdot.net>
6653
6654	* compile.c, insns.def : support access to instance variable
6655
6656	* test/test_class.rb : add test of instance variable
6657
6658	* benchmark/bm_block.rb : added
6659
6660
66612004-08-28(Sat) 07:48:43 +0900  Koichi Sasada  <ko1@atdot.net>
6662
6663	* test/test_block.rb : fix block parameter name
6664
6665
66662004-08-28(Sat) 07:27:52 +0900  Koichi Sasada  <ko1@atdot.net>
6667
6668	* compile.c, insns.def : support method call with block
6669	and yield and add some functions
6670
6671	* compile.c, insns.def : support dynavars accessor
6672
6673	* test/test_block.rb : added
6674
6675	* vm.c : fix block parameter stack dump
6676
6677
66782004-08-27(Fri) 23:56:47 +0900  Koichi Sasada  <ko1@atdot.net>
6679
6680	* compile.c(iseq_compile) : remove parameter iseqtype
6681	(this information can access via self)
6682
66832004-08-27(Fri) 17:13:35 +0900  Koichi Sasada  <ko1@atdot.net>
6684
6685	* test/test_bin.rb : add test(absolute path constant)
6686
6687	* yarvcore.h, compile.c(iseq_compile) : change parameter
6688
6689	* insns.def(classdef) : fix bug
6690
6691
66922004-08-27(Fri) 04:53:13 +0900  Koichi Sasada  <ko1@atdot.net>
6693
6694	* insns.def : support setconstant, getconstant, classdef,
6695	moduledef
6696
6697	* vm.h : fix debug levels and so on
6698
6699	* vm.h : foo_WORD -> foo_WC
6700
6701	* test/test_class.rb : added
6702
6703
67042004-08-25(Wed) 17:51:50 +0900  Koichi Sasada  <ko1@atdot.net>
6705
6706	* insns.def : fix getconstant/setconstant/classdef
6707
6708
67092004-08-25(Wed) 14:27:10 +0900  Koichi Sasada  <ko1@atdot.net>
6710
6711	* debug.[ch] : added
6712
6713	* compile.c, disasm.c : use debug interface
6714
6715	* compile.c : support some nodes
6716
6717	* compile.c, rb/insns2vm.rb : remove TS_CPATH
6718
6719	* insns.def : modify classdef/moduledef/singletonclassdef
6720	and add popcref
6721
6722	* and others...
6723
6724
67252004-08-18(Wed) 20:16:45 +0900  Koichi Sasada  <ko1@atdot.net>
6726
6727	* compile.c : fix case/when statement with empty else clause
6728
6729	* insns.def : enable compile
6730
6731	* yarvcore.h : add class search path scheme
6732
6733	* test/test_syn.rb : add switch/case test case
6734
6735	* tmpl/yarvarch.ja : update documents
6736
6737
67382004-05-22(Sat) 01:30:44 +0900  Koichi Sasada  <ko1@atdot.net>
6739
6740	* yarvutil.rb : add eval_in_wrap
6741
6742	* test/test_*.rb : change to use eval_in_wrap
6743
6744
67452004-05-20(Thu) 02:50:32 +0900  Koichi Sasada  <ko1@atdot.net>
6746
6747	* support global variables
6748
6749	* benchmark/bm_*.rb : add some benchmarks
6750
6751	* compile.c : support NODE_ATTRASGN
6752
6753	* compile.c : add debugi(...)
6754
6755
67562004-05-19(Wed) 23:19:38 +0900  Koichi Sasada  <ko1@atdot.net>
6757
6758	* test/test_method.rb : added
6759
6760
67612004-05-19(Wed) 22:56:09 +0900  Koichi Sasada  <ko1@atdot.net>
6762
6763	* insns.def : fix typo
6764
6765	* benchmark/run.rb : sort benchmark order by filename
6766
6767	* extconf.rb : use --enable/disable-xxx
6768
6769	* version.h : ditto(don't touch to change yarv options)
6770
6771
67722004-05-19(Wed) 21:18:55 +0900  Koichi Sasada  <ko1@atdot.net>
6773
6774	* yarvutil.rb : added
6775
6776	* test.rb, test/*, benchmark/run.rb : use yarvutil.rb
6777
6778	* version.h : USE_OPTIMIZED_REGEXP_MATCH added
6779
6780	* yarvcore.h : add idEqTilde
6781
6782	* yarvcore.c(yarvcore_parse, yarvcore_eval) : require file and line
6783	parameter
6784
6785	* test/test_bin.rb : add regexp test
6786
6787	* benchmark/bm_regexp.rb : added
6788
6789
67902004-05-19(Wed) 13:57:31 +0900  Koichi Sasada  <ko1@atdot.net>
6791
6792	* compile.c : add compile_dstr(self, node)
6793
6794	* compile.c : support NODE_MATCH2, NODE_MATCH3, NODE_DXSTR
6795
6796	* insns.def : add toregexp
6797
6798
67992004-05-18(Tue) 10:12:20 +0900  Koichi Sasada  <ko1@atdot.net>
6800
6801	* compile.c : support NODE_XDSTR
6802
6803	* test/test_bin.rb : add test for above change
6804
6805
68062004-05-18(Tue) 09:46:33 +0900  Koichi Sasada  <ko1@atdot.net>
6807
6808	* insns.def(send) : store regs before call_cfunc
6809
6810
68112004-05-18(Tue) 08:55:17 +0900  Koichi Sasada  <ko1@atdot.net>
6812
6813	* compile.c : support NODE_DSTR, NODE_EVSTR
6814
6815	* compile.c : support NODE_XSTR
6816
6817	* insns.def : add tostring operation
6818
6819	* rb/makedocs.rb : fix directory path
6820
6821	* depend : add tbench rule
6822
6823	* yarvcore.h : add 'exten ID idBackquote'
6824
6825
68262004-05-18(Tue) 00:09:48 +0900  Koichi Sasada  <ko1@atdot.net>
6827
6828	* version.h : add USE_OPTIMIZED_BASIC_OPERATION
6829
6830	* yarvcore.h(struct thread_object) : add 'VALUE stat_insn_usage'
6831
6832
68332004-05-17(Mon) 11:28:55 +0900  Koichi Sasada  <ko1@atdot.net>
6834
6835	* version.h, insns.def, yarvcore.c : add FAKE_INLINE_METHOD_CACHE
6836
6837
68382004-05-17(Mon) 09:05:53 +0900  Koichi Sasada  <ko1@atdot.net>
6839
6840	* compile.c : fix generating opt_* insn process
6841
6842
68432004-05-17(Mon) 08:58:49 +0900  Koichi Sasada  <ko1@atdot.net>
6844
6845	* benchmark/(bm_tarai.rb, bm_fib.rb) : added
6846
6847
68482004-05-17(Mon) 08:20:12 +0900  Koichi Sasada  <ko1@atdot.net>
6849
6850	* benchmark/(bm_tak.rb, bm_reccount.rb) : added
6851
6852	* insns.def : test method cache(incomplete)
6853
6854	* insns.def : add expandarray insn
6855
6856	* yarvcore.c(iseq_init) : add parameter 'parent'
6857
6858
68592004-05-17(Mon) 01:49:48 +0900  Koichi Sasada  <ko1@atdot.net>
6860
6861	* benchmark/run.rb, bm_factorial.rb, bm_whileloop.rb : added
6862
6863	* insns.def(send) : set id to ruby_frame->orig_func
6864
6865	* check behavior on mswin32 and cygwin
6866
6867	* insns.def(send) : check stack overflow
6868
6869
68702004-05-16(Sun) 08:00:55 +0900  Koichi Sasada  <ko1@atdot.net>
6871
6872	* change frame structure(debugging)
6873
6874
68752004-05-14(Fri) 15:06:02 +0900  Koichi Sasada  <ko1@atdot.net>
6876
6877	* insns2vm.rb : support file name arguments
6878
6879
68802004-05-14(Fri) 04:33:09 +0900  Koichi Sasada  <ko1@atdot.net>
6881
6882	* insns.def : support (easy) constant
6883
6884
68852004-05-12(Wed) 01:51:48 +0900  Koichi Sasada  <ko1@atdot.net>
6886
6887	* rb/insns2vm.b : set directory prefix
6888
6889	* disasm.c : fix bug
6890
6891
68922004-05-12(Wed) 00:00:17 +0900  Koichi Sasada  <ko1@atdot.net>
6893
6894	* vm.h, compiler.h, version.h : move *DEBUG defs to version.h
6895
6896
68972004-05-11(Tue) 23:00:11 +0900  Koichi Sasada  <ko1@atdot.net>
6898
6899	* vm.h, version.h, yarvcore.h : move gcc ver check to version.h
6900	and include version.h from yarvcore.h
6901
6902
69032004-05-11(Tue) 19:16:26 +0900  Koichi Sasada  <ko1@atdot.net>
6904
6905	* 0.0.0.d : imported
6906
6907
6908Local variables:
6909add-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)))
6915indent-tabs-mode: t
6916tab-width: 8
6917end:
6918