summaryrefslogtreecommitdiff
path: root/compile.c
AgeCommit message (Collapse)Author
2007-12-25* compile.c (iseq_compile_each): fix stack consistency errorko1
(break is compiled to throw instead of jump insn). these problems are reported by Yusuke ENDOH <mame AT tsg.ne.jp> * bootstraptest/test_knownbug.rb, test_syntax.rb: move fixed test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25* compile.c (iseq_compile_each): fix stack consistency error.ko1
a patch from Yusuke ENDOH <mame AT tsg.ne.jp> [ruby-dev:32720] * bootstraptest/test_syntax.rb: add 2 tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24* compile.c (iseq_compile): clear local table if node == 0.ko1
a patch from Yusuke ENDOH <mame AT tsg.ne.jp> * vm.c: clear VM stack. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24* compile.c (iseq_compile_each): fix stack consistency bug.ko1
a patch from Yusuke ENDOH <mame AT tsg.ne.jp> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24* compile.c (iseq_compile_each): add a "pop" insn after breakko1
to fix stack consistency error. [ruby-core:14385] * bootstraptest/test_syntax.rb: add tests for above. * bootstraptest/test_knownbug.rb: remove fixed bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24* id.c (Init_id): remove several unused symbols. [ruby-core:14362]matz
* compile.c (iseq_specialized_instruction): do not use VM_CALL_SEND_BANG flag any longer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24* proc.c (method_name): preserve Symbol's encoding.matz
* numeric.c (fix_id2name): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21* compile.c: remove "illegal".ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21* regerror.c, string.c, io.c, lib/getoptlong.rb, lib/net/imap.rb,akr
compile.c, sprintf.c, parse.y, ext/win32ole/win32ole.c, ext/tk/sample/demos-en/entry3.rb, ext/tk/lib/tcltk.rb, ext/openssl/ossl_bn.c, numeric.c, vm.c, benchmark/bm_so_meteor_contest.rb, bignum.c, ruby.c: don't "illegal" for non law violation context. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-20* compile.c (iseq_compile_each/NODE_RETURN): fix stack consistency.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-19* compile.c (iseq_compile_each): add pop after throw as return.ko1
* bootstraptest/test_knownbug.rb, test_syntax.rb: move resolved test. * vm_core.h, iseq.c, compile.h: add debug output code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-19* compile.c (iseq_compile_each): remove unused retry entry.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-19* compile.c (iseq_compile_each): should handle upper level eval iseqnobu
from break/next, and COMPILE_ERROR() breaks only one block. [ruby-dev:31372] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-19* compile.c (iseq_compile_each): remove "retry" in block.ko1
("iter{retry}" cause syntax error) Currently, "begin; ...; rescue; iter{retry}; end" cause syntax error too. * bootstraptest/test_jump.rb: ditto. * lib/drb/invokemethod.rb: ditto. * sample/drb/darrayc.rb: ditto. * sample/test.rb: ditto. * test/drb/drbtest.rb: ditto. * test/ruby/test_iterator.rb: ditto. * sample/test.rb: add a 'test' directory on the SYSTEM test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18* compile.c (iseq_compile_each): fix for segfault. [ruby-dev:31372]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18* compile.c, insnhelper.ci, insns.def, object.c, vm.c, vm.h:ko1
optimize !@, != method invocation. * id.c, id.h: ditto. * bootstraptest/test_syntax.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-09* parse.y (expr): redefinable not (!) operator.matz
* parse.y (arg): ditto. * object.c (rb_obj_not): new method "!". * object.c (rb_obj_not_equal): new method "!=". * object.c (rb_obj_not_match): new method "!~". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-08unused variables removed.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05* compile.c (iseq_compile_each): fix typo.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-27* compile.c (iseq_compile_each): "when *[],1" dumps core.ko1
a patch from Yusuke ENDOH <mame AT tsg.ne.jp>. [ruby-dev:32350] * bootstraptest/test_syntax.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-27* compile.c (iseq_compile_each): "a[*b] += 1" dumps core.ko1
a patch from Yusuke ENDOH <mame AT tsg.ne.jp>. [ruby-dev:32354] * bootstraptest/test_syntax.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-27* compile.c, insns.def: change return value of "defined?"ko1
for $&, $1, ... . If such variables are defined, return "global-variable". * test/ruby/test_defined.rb: add tests. * bootstraptest/test_syntax.rb: fix a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-27* insns.def, compile.c: fix to allow dsym for alias/undef.ko1
[ruby-dev:32355] * bootstraptest/test_method.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-23* compile.c (defined_expr): defined(method(x)) dumped core. amatz
patch from Yusuke ENDOH <mame AT tsg.ne.jp>. [ruby-dev:32335] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18* compile.c (iseq_compile_each): alias and undef accept dsyms as wellnobu
as literals. [ruby-dev:32308] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-13* blockinlining.c, compile.c, compile.h, debug.c, debug.h,ko1
id.c, insnhelper.h, insns.def, thread.c, thread_pthread.ci, thread_pthread.h, thread_win32.ci, thread_win32.h, vm.h, vm_dump.c, vm_evalbody.ci, vm_opts.h: fix comments and copyright year. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-13* compile.c (iseq_specialized_instruction): check argc.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-04* eval.c (rb_f_send): allow send/__send__ to call methods of allmatz
visibility again. we no longer provide __send, __send!. * eval.c (rb_invoke_method): new method to honor private visibility. if it's invoked in a function call style, it calls private methods as well (previous 1.9 send behavior). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28* insnhelper.ci (vm_call_method): allow send! to call protectedmatz
methods as well. [ruby-core:12280] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-13* compile.c (iseq_compile_each): inline cache entries are overwrittennobu
in iseq_build_body(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-24* id.h, id.c: remove idFuncall.ko1
* compile.c (iseq_specialized_instruction): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-24* compile.c (compile_massign_opt): fix to skip massign optimizationko1
with global variables. * bootstraptest/test_massign.rb: add some tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-23* compile.c: optimize simple massign.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-23* compile.c (compile_massign), insnhelper.ci (vm_throw): not use C99nobu
comment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-23* compile.c, insns.def, parse.y: fix massign order. This changeko1
causes performance problem. Try vm1_swap benchmark. [ruby-dev:31522] * insns.def, insnhelper.ci: move process body of expandarray insn to vm_expandarray(). * bootstraptest/test_knownbug.rb, bootstraptest/test_massign.rb: move a solved test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-23* compile.c (make_masgn_lhs, iseq_compile_each): fixed indent.nobu
* compile.c (iseq_translate_threaded_code), vm_evalbody.ci (get_insns_address_table), template/vmtc.inc.tmpl (insns_address_table): constified. * vm_evalbody.ci (vm_eval), template/insns_info.inc.tmpl (insn_stack_increase, insn_ret_num): suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-19* compile.c (iseq_compile_each/NODE_RESBODY): fix to addko1
additional nop to prevent tailcall optimization. * vm_opts.h: clean up comments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* compile.c (iseq_compile_each): fix to allow self.x=ko1
if x= is private. * bootstraptest/test_method.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-18* compile.c (iseq_set_arguments), insnhelper.ciko1
(vm_callee_setup_arg, vm_yield_setup_args): * bootstraptest/test_block.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-17* compile.c (iseq_compile_each): massign should return rvalue(s).ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16* compile.c (iseq_compile_each): fix thorw insn option of next.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16* compile.c (iseq_set_arguments), insnhelper.ciko1
(vm_callee_setup_arg, vm_yield_setup_args): fix block parameter problems. [ruby-dev:31437], [ruby-dev:31440] * bootstraptest/test_block.rb: add a test of [ruby-dev:31440]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-16* compile.c (iseq_compile_each): fix next/redo stack consistency.ko1
[ruby-dev:31373] * bootstraptest/test_syntax.rb: add tests for above. * sample/test.rb: fix to use __FILE__ instead of $0 to know basedir. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-12* compile.c (iseq_peephole_optimize): fix peephole optimizationko1
bug. [ruby-dev:31360] * bootstraptest/test_syntax.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20* compile.c (iseq_set_sequence): raise SyntaxError instead of rb_bugnobu
since this function can be called from VM::InstructionSequence.load. * compile.c (insn_set_sc_state, iseq_set_sequence_stackcaching): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20* compile.c, compile.h (DECL_ANCHOR, INIT_ANCHOR): split not tonobu
initialize aggregations with dynamic values. [ruby-talk:259306] * eval.c (rb_protect): not to initialize aggregations with dynamic values. [ruby-talk:259306] * gc.c (mark_current_machine_context): ditto. * thread.c (thgroup_list, call_trace_func): ditto. * vm.c (vm_init_redefined_flag): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-12* blockinlining.c: remove "yarv" prefix.ko1
* array.c, numeric.c: ditto. * insnhelper.ci, insns.def, vm_evalbody.ci: ditto. * yarvcore.c: removed. * yarvcore.h: renamed to core.h. * cont.c, debug.c, error.c, process.c, signal.c : ditto. * ext/probeprofiler/probeprofiler.c: ditto. * id.c, id.h: added. * inits.c: ditto. * compile.c: rename internal functions. * compile.h: fix debug flag. * eval.c, object.c, vm.c: remove ruby_top_self. use rb_vm_top_self() instead. * eval_intern.h, eval_load: ditto. * gc.c: rename yarv_machine_stack_mark() to rb_gc_mark_machine_stack(). * insnhelper.h: remove unused macros. * iseq.c: add iseq_compile() to create iseq object from source string. * proc.c: rename a internal function. * template/insns.inc.tmpl: remove YARV prefix. * thread.c: * vm.c (rb_iseq_eval): added. * vm.c: move some functions from yarvcore.c. * vm_dump.c: fix to remove compiler warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-10* vm.c, insnhelper.ci: fix svar interface.ko1
* compile.c (iseq_compile_each), yarvcore.h: fix to use new svar interface for flip flop. * eval.c: ditto. * insns.def: ditto. * include/ruby/intern.h: remove "rb_svar()" declaration. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-10* compile.c (rb_iseq_compile): formatted if/else to switch statement.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-07* compile.c: use rb_bug() instead of rb_compile_error().ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e