aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * vm_insnhelper.c (vm_defined): show additional messages on rb_bug().ko12015-06-042-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_method.c (rb_add_method_iseq): use intermediate struct toko12015-06-043-5/+17
| | | | | | | | | | avoid initializing struct with variables. [Bug #11217] * method.h: add a comment about it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-06-05svn2015-06-041-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * method.h: constify rb_method_refined_t::orig_me.ko12015-06-045-22/+38
| | | | | | | | | | | | | | | Also constify the following functions. * rb_resolve_refined_method() * rb_method_entry_with_refinements() * rb_method_entry_without_refinements() * rb_method_entry_copy()'s parameter. * class.c: catch up this fix. * vm_insnhelper.c: ditto. * vm_method.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2015-06-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix unbalanced parenthesiskazu2015-06-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c: Revert r50763. because "reentered" is not typo.hsbt2015-06-042-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* FreeBSD raises Errno::EMSGSIZEnaruse2015-06-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c: fix a typo. Patch by @davydovantonhsbt2015-06-044-3/+10
| | | | | | | | [fix GH-923] * include/ruby/st.h: ditto. * include/ruby/util.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ChangeLog: fixed name at latest commithsbt2015-06-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c: fix a typo. Patch by @manish-shrivastavahsbt2015-06-042-1/+6
| | | | | | [fix GH-922] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/lib/openssl/ssl.rb: use io/nonblock instead of fcntlnormal2015-06-042-4/+7
| | | | | | | | | [ruby-core:69382] [Feature #11190] IO#nonblock= is easier-to-read, potentially more portable, and avoids redundantly setting flags. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * method.h: introduce rb_method_refined_t for refined method entry.ko12015-06-037-20/+39
| | | | | | | | | | | | * class.c (move_refined_method): catch up this fix. * gc.c (mark_method_entry): ditto. * vm_eval.c (vm_call0_body): ditto. * vm_insnhelper.c (vm_call_method): ditto. * vm_method.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c: FNM_SHORTNAMEnobu2015-06-033-3/+23
| | | | | | | | * dir.c (dirent_match): match short names only when FNM_SHORTNAME flag is given, for the backward compatibility, and the new behavior is often dangerous. [ruby-core:69435] [Bug #11206] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: add missing referencenormal2015-06-031-0/+1
| | | | | | [ruby-core:69441] [Feature #11208] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* variable.c: remove generic ivar support for special constantsnormal2015-06-035-52/+47
| | | | | | | | | | | | | | | | | | Special constants are all frozen since [Feature #8923] and cannot support ivars. Remove some unused code we had for supporting them. * variable.c (special_generic_ivar): remove flag (givar_i, rb_mark_generic_ivar_tbl): remove functions (rb_free_generic_ivar, rb_ivar_lookup, rb_ivar_delete, generic_ivar_set, rb_ivar_set, rb_ivar_defined, rb_copy_generic_ivar, rb_ivar_foreach, rb_ivar_count, rb_obj_remove_instance_variable): adjust for lack of ivar support in special constants * test/ruby/test_variable.rb: test ivars for special consts * internal.h: remove rb_mark_generic_ivar_tbl decl * gc.c (gc_mark_roots): remove rb_mark_generic_ivar_tbl call git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a fix to last commitko12015-06-031-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (def_iseq_ptr): `iseqval' is not available any more.ko12015-06-032-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * class.c (method_entry_i): mtbl should not have `me' as NULL.ko12015-06-032-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * class.c (clone_method): do not use me->klass, but use explicitlyko12015-06-032-9/+28
| | | | | | | | passed argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-06-04svn2015-06-031-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (rb_vm_rewrite_cref_stack): rename to rb_vm_rewrite_cref().ko12015-06-034-15/+24
| | | | | | | | | | * class.c (clone_method): use renamed name. * vm_insnhelper.c (rb_vm_rewrite_cref): do not use `node' in variable names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_method.c: rename `rb_frame_...' to `rb_scope_...'.ko12015-06-035-13/+21
| | | | | | | | | * eval_intern.h: move decl. of rb_scope_visibility_set() to method.h. * load.c: catch up this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/rbconfig/sizeof/extconf.rb: Check C99 standard integer types.akr2015-06-032-0/+23
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: Don't check __int128.akr2015-06-035-7/+18
| | | | | | | | | | | | | * ext/rbconfig/sizeof/extconf.rb: Check __int128. * ext/rbconfig/sizeof/depend: sizes.c depends on ext/rbconfig/sizeof/extconf.rb. * template/sizes.c.tmpl: Detect check_sizeof. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * class.c (clone_method): remove redundant check for me->def != NULL.ko12015-06-035-20/+24
| | | | | | | | | | | | Now, all `me` have `me->def`. * proc.c (rb_method_entry_location): ditto. * vm.c (rb_vm_check_redefinition_opt_method): ditto. * vm.c (add_opt_method): ditto. * vm_eval.c (vm_call0_body): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h: rename enum missing_reason to enum method_missing_reason.ko12015-06-034-29/+42
| | | | | | | | | | | * vm_core.h: use enum method_missing_reason for rb_thread_t::method_missing_reason. * vm_eval.c: catch up this fix. * vm_insnhelper.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c: eagerly allocate `loading_table`. This eliminates the need totenderlove2015-06-033-54/+54
| | | | | | | | | do NULL checks when looking up the `loading_table` hash. https://github.com/ruby/ruby/pull/918 * load.c: remove various NULL checks git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * method.h: change fileds order to gather frequent acces fields.ko12015-06-033-2/+8
| | | | | | | | * vm_insnhelper.c (vm_call_method): add LIKELY(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typo in ChangeLogko12015-06-031-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * method.h: split rb_method_definition_t::flag to several flags.ko12015-06-0317-253/+317
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `flag' contains several categories of attributes and it makes us confusion (at least, I had confused). * rb_method_visibility_t (flags::visi) * NOEX_UNDEF -> METHOD_VISI_UNDEF = 0 * NOEX_PUBLIC -> METHOD_VISI_PUBLIC = 1 * NOEX_PRIVATE -> METHOD_VISI_PRIVATE = 2 * NOEX_PROTECTED -> METHOD_VISI_PROTECTED = 3 * NOEX_SAFE(flag)) -> safe (flags::safe, 2 bits) * NOEX_BASIC -> basic (flags::basic, 1 bit) * NOEX_MODFUNC -> rb_scope_visibility_t in CREF * NOEX_SUPER -> MISSING_SUPER (enum missing_reason) * NOEX_VCALL -> MISSING_VCALL (enum missing_reason) * NOEX_RESPONDS -> BOUND_RESPONDS (macro) Now, NOEX_NOREDEF is not supported (I'm not sure it is needed). Background: I did not know what "NOEX" stands for. I asked Matz (who made this name) and his answer was "Nothing". "At first, it meant NO EXport (private), but the original meaning was gone." This is why I remove the mysterious word "NOEX" from MRI. * vm_core.h: introduce `enum missing_reason' to represent method_missing (NoMethodError) reason. * eval_intern.h: introduce rb_scope_visibility_t to represent scope visibility. It has 3 method visibilities (public/private/protected) and `module_function`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ChangeLog: typo.usa2015-06-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gem/bundled_gems: updated to test-unit 3.1.1 and minitest 5.7.0.usa2015-06-022-2/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c: fix a typo. [ci skip]nagachika2015-06-021-3/+3
| | | | | | check_resopnd_to_missing -> check_respond_to_missing git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a ticket numberko12015-06-021-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_defined): check respond_to_missing?ko12015-06-023-7/+42
| | | | | | | | | at defined?(func()). * test/ruby/test_defined.rb: add a test for this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_defined): skip respond_to_missing? whenko12015-06-023-7/+37
| | | | | | | | | | a method is available. [Bug #11211] * test/ruby/test_defined.rb: add a test for this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (defined), vm_insnhelper.c (vm_defined):ko12015-06-023-100/+114
| | | | | | | | move instruction body to the vm_defined() function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_module.rb: Do not assume class variable order.eregon2015-06-022-2/+7
| | | | | | Path by @enebo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_method.c (rb_method_definition_set): remove a double assignment.mame2015-06-022-1/+6
| | | | | | Coverity Scan found this bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-06-03svn2015-06-021-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_method.c (rb_alias): rename parameter names.ko12015-06-022-9/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * method.h: remove rb_method_iseq_t::iseqval.ko12015-06-026-20/+29
| | | | | | | | | | | | | While making a r50728, iseqval is needed (to mark correctly), but now just iseqptr is enough. * class.c: catch up this fix. * gc.c: ditto. * proc.c: ditto. * vm_method.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * proc.c (proc_curry): remove a debug line.ko12015-06-022-1/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2015-06-021-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * method.h: make rb_method_entry_t a VALUE.ko12015-06-0220-543/+751
| | | | | | | | | | | | | | | | | | | | | | | | | | | Motivation and new data structure are described in [Bug #11203]. This patch also solve the following issues. * [Bug #11200] Memory leak of method entries * [Bug #11046] __callee__ returns incorrect method name in orphan proc * test/ruby/test_method.rb: add a test for [Bug #11046]. * vm_core.h: remvoe rb_control_frame_t::me. me is located at value stack. * vm_core.h, gc.c, vm_method.c: remove unlinked_method... codes because method entries are simple VALUEs. * method.h: Now, all method entries has own independent method definititons. Strictly speaking, this change is not essential, but for future changes. * rb_method_entry_t::flag is move to rb_method_definition_t::flag. * rb_method_definition_t::alias_count is now rb_method_definition_t::alias_count_ptr, a pointer to the counter. * vm_core.h, vm_insnhelper.c (rb_vm_frame_method_entry) added to search the current method entry from value stack. * vm_insnhelper.c (VM_CHECK_MODE): introduced to enable/disable assertions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use assert_raisenobu2015-06-0230-100/+100
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_nonblock.rb: skip if EPROTONOSUPPORTnobu2015-06-021-4/+4
| | | | | | | * test/socket/test_nonblock.rb (test_sendmsg_nonblock_seqpacket): OSX raises EPROTONOSUPPORT. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/socket/test_nonblock.rb: new test for sendmsg_nonblocknormal2015-06-022-0/+17
| | | | | | | | | sendmsg_nonblock was not tested on any of my systems due to the common 64K limit. I also don't believe UDP sockets are at all a useful candidate for sendmsg_nonblock testing since they should never block on sending. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/benchmark.rb: just use Process::CLOCK_MONOTONICnormal2015-06-022-13/+9
| | | | | | | | | | | Assume Process::CLOCK_MONOTONIC exists (possibly emulated) and there is no need to bloat our code by defining a compatibility constant. * lib/benchmark.rb: just use Process::CLOCK_MONOTONIC [ruby-core:69390] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e