summaryrefslogtreecommitdiff
path: root/eval.c
AgeCommit message (Collapse)Author
2009-02-10merge revision(s) 20225:shyouhei
* eval.c (load_lock): makes circular require deadlock. [ruby-core:19821] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@22205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-10merge revision(s) 20214:shyouhei
* eval.c (rb_feature_p): returns found feature name if loading. [ruby-core:19798] * eval.c (search_required): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@22201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-28merge revision(s) 19690:shyouhei
* eval.c (rb_mod_modfunc): method undefined in included module may not have nd_body. [ruby-core:18738] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@21857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-16merge revision(s) 18485:shyouhei
* class.c (clone_method): should copy cbase in cref as well. [ruby-dev:35116] * node.h (NEW_CREF): new NEW_ macro. * eval.c (PUSH_CREF): use NEW_CREF(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@21585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15merge revision(s) 18463:shyouhei
* gc.c (STACK_LEVEL_MAX, ruby_stack_length): returns size_t. [ruby-core:18207] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@21524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-07merge revision(s) 18355:shyouhei
* eval.c (timeofday): use monotonic clock. based on a patch from zimbatm <zimbatm@oree.ch> in [ruby-core:16627]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@21359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-05merge revision(s) 18316,18319:shyouhei
* rubysig.h (CHECK_INTS): gives the chance to perform to deferred finalizers before explicit GC.start or the process termination. [ruby-core:18045] * eval.c (rb_thread_schedule): runs deferred finalizers. * gc.c (gc_sweep): sets rb_thread_pending to run deferred finalizers. * rubysig.h (CHECK_INTS): now checks rb_thread_pending even on platforms where setitimer is not available. [ruby-core:18045] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@21334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-04merge revision(s) 17833:17837:shyouhei
* gc.c (Init_GC): fix syntax error. * error.c (rb_exc_new3): keeps the given string itself. * eval.c (Init_Proc), gc.c (Init_GC): freeze messages of preallocated special exceptions also. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@18327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-07merge revision(s) 17832:shyouhei
* eval.c (rb_longjmp): duplicate the thrown exception to set backtrace if it was frozen. clear all raised flags. * eval.c (stack_check): leave clearing flag to rb_longjmp. * eval.c (rb_thread_set_raised, rb_thread_reset_raised): use generic flags. * eval.c (Init_Proc), gc.c (Init_GC): freeze preallocated special exceptions. * gc.c (rb_memerror): use thread raised flag instead of static flag, and raise nomem_error without backtrace if failed to make backtrace. [ruby-dev:34724] * gc.c (ruby_xmalloc): increase malloc_increase only if malloc succeeds. failed malloc size can be huge. it may increase malloc_limit too big which cause less GC and memory full. (ruby_xrealloc): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@17930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-29merge revision(s) 17636:shyouhei
* eval.c (rb_obj_respond_to): use RTEST to test the result of respond_to? method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@17717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-29merge revision(s) 17581:shyouhei
* eval.c (rb_call0): wrong condition to check insecure method. a patch from Keita Yamaguchi <keita.yamaguchi at gmail.com>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@17696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-29merge revision(s) 17547:shyouhei
* eval.c (PUSH_FRAME, PUSH_CLASS): Add volatile to avoid a possible optimization bug on OS X/PPC. This at least makes build with gcc -O1 and `make test' pass. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@17680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-31Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-27Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-26Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-26Merge from ruby_1_8, including r16205.knu
Note that passing a block to a Proc is experimental and partly broken. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-24Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-24Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-21Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18Merge -r16241:16456 from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18Merge r16206 and r16239 from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-25Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-21Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-19Merge everything from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-15* eval.c (method_receiver, method_name, method_owner): Newkazu
methods; backported from 1.9. bug#19007 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-10* enumerator.c (rb_eStopIteration), eval.c (rb_f_loop), ruby.h:knu
Add a new exception class StopIteration, which breaks Kernel#loop iteration when raised; backported from 1.9. * enumerator.c (enumerator_next, enumerator_rewind): Implement #next and #rewind using the "generator" library. * lib/generator.rb: Implement Enumerable::Enumerator#next and #rewind. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-09* eval.c (rb_obj_method, rb_proc_call), intern.h: Export.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-08* eval.c (EXEC_TAG): remove unnecessary FLUSH_REGISTER_WINDOWS formatz
better performance on SPARC. [ruby-core:16159] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-31* configure.in (RUBY_SETJMP, RUBY_LONGJMP, RUBY_JMP_BUF): prefersnobu
__builtin_setjmp, _setjmp over setjmp and sigsetjmp. [ruby-core:16023], [ruby-core:16086] * configure.in (--with-setjmp-type): new option to override the default rule in the above. * eval.c (ruby_setjmp, ruby_longjmp), gc.c (rb_setjmp), node.h (rb_jmpbuf_t): use RUBY_SETJMP, RUBY_LONGJMP and RUBY_JMP_BUF. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-24* eval.c (rb_eval): Call trace hook for if expression after theknu
condition has been evaluated, not before; submitted by Rocky Bernstein in #18722. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-12* eval.c (rb_call0): yields the last executed node line number atnobu
return event. [ruby-core:15855] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-21* eval.c, gc.c (setjmp): sigsetjmp is a macro on cygwin.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-19* configure.in (sigsetjmp): check if available.nobu
* eval.c, gc.c (setjmp): do not use _setjmp if sigsetjmp is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-14* eval.c (eval): check if backtrace is empty. [ruby-core:15040]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-12* eval.c (rb_define_alloc_func, rb_undef_alloc_func): shouldnobu
define/undef on a signleton class. [ruby-core:09959] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02* eval.c (error_print): put newline unless multiple line message endsnobu
with a newline. [ruby-dev:32429] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18* eval.c (rb_alias): do not call hook functions until initializationnobu
finishes. [ruby-talk:279538] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01* eval.c (remove_method): should not remove undef place holder.matz
[ruby-dev:31817] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-20* eval.c, intern.h, ext/thread/thread.c: should not free queue whilenobu
any live threads are waiting. [ruby-dev:30653] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-20* eval.c (mnew): should preserve noex as safe_level.matz
* eval.c (rb_call0): tighten security check condition.. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-19* eval_error.ci (get_backtrace): check the result more.nobu
[ruby-dev:31261] [ruby-bugs-12398] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-06* eval.c (rb_interrupt): suppress a gcc's officious warning.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-18* eval.c (ruby_cleanup): return EXIT_FAILURE if any exceptions occurednobu
in at_exit blocks. [ruby-core:11263] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-12* eval.c (rb_kill_thread): renamed in order to get rid of conflictnobu
with a BeOS system function. [ruby-core:10830] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-29* eval.c (rb_eval): get rid of SEGV at ZSUPER in a blocknobu
[ruby-dev:30836] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-29* eval.c (thread_timer): timer thread should not receive any signals.nobu
submitted by Sylvain Joyeux. [ruby-core:08546] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-29* eval.c (rb_eval_cmd): just return if no exceptions.nobu
[ruby-dev:30820] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e