summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-24* benchmark/driver.rb: add `-x' or `--exclude' optionko1
to specify exclude benchmark name pattern. You can specify "-x foo" if you want to exclude the benchmarks if the name of benchmark contains `foo'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-24rename it to a more fitting namenari
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-24fix the function name which is not grammatically correct.nari
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-24* gc.c (free_object_aquire): rename to match the behavior of thisnari
function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-24* ext/objspace/objspace.c (reachable_object_from_i): change datako1
structure of the result of reachable objects. Keys of table contains object_id of each reachable objects. Value of table is an object itself or an instance of InternalObjectWrapper. To avoid duplication, we use st_table and object_id keys. * ext/objspace/objspace.c (type2sym): bug fix. Should use `i' instead of `type'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-24* gc.c (garbage_collect, gc_marks): move the location ofko1
clear and restore rb_objspace_t::mark_func_data from garbage_collect() to gc_marks(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-24* ext/objspace/objspace.c (Init_objspace): add a new methodko1
`ObjectSpace::InternalObjectWrapper#internal_object_id' which returns an object id of a wrapped internal object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-24* ext/objspace/objspace.c (ObjectSpace.reachable_objects_from):ko1
internal object support. If given object `obj' has references to internal objects (such as T_NODE objects), then this method returns instances of `ObjectSpace::InternalObjectWrapper' instead of that internal objects. This instance contains a refereance to an internal object and you can check the type of internal object using `ObjectSpace::InternalObjectWrapper#type' method. Rdoc of `InternalObjectWrapper' is not prepared yet. * gc.c (rb_objspace_reachable_objects_from), gc.h: change an interface of 'rb_objspace_reachable_objects_from()' * gc.c, gc.h: add two APIs - rb_objspace_markable_object_p(obj): check markable or not. - rb_objspace_internal_object_p(obj): check internal or not. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23* vm_insnhelper.c (vm_call_method): remove `default' andko1
add a case for `VM_METHOD_TYPE_UNDEF'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23* eval_error.c (error_print), vm_eval.c (eval_string_with_cref),ko1
vm_trace.c (rb_suppress_tracing): use TH_PUSH_TAG() instead of PUSH_TAG(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23* vm_eval.c (vm_call0_body): remove RUBY_VM_CHECK_INTS()ko1
after method invocation using rb_call0(). * vm_eval.c (vm_call0_body): remove default section on top of switch statement and add cases for `VM_METHOD_TYPE_CFUNC_FRAMELESS' and `VM_METHOD_TYPE_UNDEF'. * vm_eval.c (vm_call0_body): remove useless brackets. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23Add test for instance_exec receiving a curried proc.tenderlove
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23test_rubyoptions.rb: --help optionnobu
* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_usage): now --help shows more lines. [ruby-core:48072] [Bug #7184] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23* 2012-10-24svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23* ChangeLog: fix typos of r37293.nagachika
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23* thread.c (thread_raise_m): check interrupts after Thread#raiseko1
if a target thread is the current thread because the behavior of Thread.current.raise is expected to perform same as Kernel.raise (by rubyspec). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23ruby.c: --help optionnobu
* ruby.c (usage, process_options): show more info in --help. [EXPREIMENTAL] [ruby-core:48072] [Bug #7184] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23ruby-electric.el: fix #198nobu
* misc/ruby-electric.el using variable `last-command-event' instead of obsolete `last-command-char', so that work with Emacs trunk. a patch by Victor Deryagin <vderyagin AT gmail.com>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23configure.in: no visibility option for older GCCnobu
* configure.in (visibility_option): visibility attribute is not available before GCC 4, so do not use -fvisibility option in that case. [ruby-core:48147] [Bug #7205] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23Revert the last commit because some tests (in btest) failko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23* thread.c (rb_threadptr_raise): check interrupts afterko1
Thread#raise because the behavior of Thread.current.raise is expected to perform same as Kernel.raise (by rubyspec). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-23* vm_core.h, vm_insnhelper.c, vm_eval.c (OPT_CALL_CFUNC_WITHOUT_FRAME):ko1
add a new otpimization and its macro `OPT_CALL_CFUNC_WITHOUT_FRAME'. This optimization makes all cfunc method calls `frameless', which is fster than ordinal cfunc method call. If `frame' is needed (for example, it calls another method with `rb_funcall()'), then build a frame. In other words, this optimization delays frame building. However, to delay the frame building, we need additional overheads: (1) Store the last call information. (2) Check the delayed frame buidling before the frame is needed. (3) Overhead to build a delayed frame. rb_thread_t::passed_ci is storage of delayed cfunc call information. (1) is lightweight because it is only 1 assignment to `passed_ci'. To achieve (2), we modify GET_THREAD() to check `passed_ci' every time. It causes 10% overhead on my envrionment. This optimization only works for cfunc methods which do not need their `frame'. After evaluation on my environment, this optimization does not effective every time. Because of this evaluation results, this optimization is disabled at default. * vm_insnhelper.c, vm.c: add VM_PROFILE* macros to measure behaviour of VM internals. I will extend this feature. * vm_method.c, method.h: change parameters of the `invoker' function. Receive `func' pointer as the first parameter. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22* ext/psych/parser.c: just get the constant defined in Ruby.tenderlove
* ext/psych/lib/psych/syntax_error.rb: Psych::SyntaxError now inherits from StandardError rather than SyntaxError. Thanks Eric Hodel! * test/psych/test_exception.rb: tests for change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22* ext/psych/lib/psych/scalar_scanner.rb: Cache symbols whiletenderlove
tokenizing. Thanks Kevin Menard! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22* ext/psych/lib/psych/scalar_scanner.rb: Updated the RegExp to catchtenderlove
Strings earlier in the tokenization process. Thanks Kevin Menard! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22* ext/psych/lib/psych/visitors/to_ruby.rb: Handle nil tags speciallytenderlove
to avoid slow method_missing calls. Thanks Kevin Menard! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22* ext/psych/lib/psych/scalar_scanner.rb: Ignore bad timestamps. Iftenderlove
something looks like a timestamp but has an invalid component, treat it as a string instead of throwing an ArgumentError. Thanks Rhett Sutphin! * test/psych/test_scalar_scanner.rb: appropriate tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22* ext/psych/lib/psych/scalar_scanner.rb: Fix scalar_scanner totenderlove
understand strings starting with an underscore and containing only digits. Thanks Kelley Reynolds. * test/psych/test_scalar_scanner.rb: test for fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22* 2012-10-23svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22* ext/psych/lib/psych.rb: Changed comment in psych.rb to update newtenderlove
home page for libyaml. Thanks to Carolyn Ann. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22* 2012-10-22svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22Supress warnings: unused variablesnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-21* test/ruby/test_settracefunc.rb: remove trailing spaces.ktsj
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-21* vm_trace.c (rb_threadptr_exec_event_hooks, rb_suppress_tracing):ktsj
constified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-21* vm_core.h (rb_vm_t::trace_running): add a new fieldktsj
`trace_running' to store vm global tracing status. * vm_trace.c: fix SEGV bug. event_hook was free'd even when the hook is still used in another thread. [ruby-dev:46141] [Bug #7032] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-21* vm_core.h (rb_vm_t::trace_flag): remove `trace_flag'ktsj
which is no longer used. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-21* 2012-10-21svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-21 * ext/date/date_parse.c (date__parse): uses more tight parser iftadf
defined TIGHT_PARSER. now inactivated; because it introduces incompatibilities and it is a bit slow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-20* gc.c: fix typos in documentation.eregon
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-20* include/ruby/ruby.h: add C APIs.nari
VALUE rb_newobj_of(VALUE klass, VALUE flags) #define NEWOBJ_OF(obj,type,klass,flags) These allow to change a allocation strategy depending on klass or flags. * gc.c: ditto * array.c: use new C API. * bignum.c: ditto * class.c: ditto * complex.c: ditto * ext/socket/ancdata.c: ditto * ext/socket/option.c: ditto * hash.c: ditto * io.c: ditto * marshal.c: ditto * numeric.c: ditto * object.c: ditto * random.c: ditto * range.c: ditto * rational.c: ditto * re.c: ditto * string.c: ditto * struct.c: ditto [Feature #7177][Feature #7047] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-20* ext/socket/socket.c: Documentation for Socketzzak
Based on a patch by David Albert [Bug #7105] [ruby-core:47828] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-20* lib/open-uri.rb: Documentation for OpenURIzzak
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19* 2012-10-20svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19* hash.c (initialize_copy): unset the default proc if there isn't onetenderlove
for the target hash, call to_hash, check frozen status. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19vm.c: pass through thrown objectsnobu
* vm.c (rb_vm_jump_tag_but_local_jump): pass through thrown objects. [ruby-dev:46234] [Bug #7185] * vm_eval.c (rb_eval_cmd): if state is non-zero, val should be nil and rb_vm_jump_tag_but_local_jump() just jump tag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19set encoding to ASCII for appropriate String#unpack modifierseregon
* pack.c (pack_unpack): set encoding of the 'H','h','B' and 'B' modifiers to US-ASCII. * test/ruby/test_pack.rb: tests for the above. [ruby-core:47653][Bug #7050] * test/test_securerandom.rb: tests for SecureRandom.hex from tenderlove. [ruby-core:46792][Bug #6799] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19* method.h (rb_method_cfunc_t::invoker): add new field (func ptr)ko1
`invoker'. `invoker' function invoke cfunc body (rb_method_cfunc_t::func). `invoker' is set at method definition timing. With this change, the big `switch' (branch) in `call_cfunc()' is no longer needed. However, the performance benefit is only a bit. * vm_core.h (rb_call_info_t::aux::func): add a new field to store cfunc body function pointer. * vm_method.c (call_cfunc_invoker_func): add a new function which returns a suitable invoke function. * vm_method.c (setup_method_cfunc_struct): added. * vm_method.c (rb_add_method): fix to set `invoker'. * vm_eval.c (vm_call0_body): catch up above changes. * vm_insnhelper.c (call_cfunc): removed. * vm_insnhelper.c (vm_call_cfunc): fix to call cfunc body with `invoker' function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19* eval.c, vm_eval.c: use TH_PUSH_TAG() instead of PUSH_TAG().ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19* benchmark/driver.rb: remove unexpected `output'.ko1
(commit miss) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-19* vm_insnhelper.c (vm_search_method): remove needless local variable.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e