summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-30test/-ext-/string/test_fstring.rb: suppress "possibly useless use of -@"Yusuke Endoh
"in void context" by assigning the result to a dummy variable.
2019-09-30Revert "introduce debug check."Koichi Sasada
This reverts commit c3b84f2de83a27acc638f99743bfa2c44bac621c. Backtrace shows it is before running tests and debug check was nonsense.
2019-09-30Fix assertionNobuyoshi Nakada
callable_method_entry_p is for rb_callable_method_entry_t.
2019-09-30Use assert_operator instead of mere assertNobuyoshi Nakada
2019-09-30Now `use_symbol` is always trueNobuyoshi Nakada
2019-09-30introduce debug check.Koichi Sasada
There are random failures: > lib/rubygems/core_ext/kernel_require.rb:61:in `require': > wrong number of arguments (given 1, expected 0) (ArgumentError) http://ci.rvm.jp/results/trunk-jemalloc@silicon-docker/2275159 To check this failure, I added a small check code.
2019-09-30Emulate method_list (chkbuild) on test-all.Koichi Sasada
chkbuild (CI process) shows methods list before running tests and sometimes it can fails. This commit a code part to emulate this method listing feature.
2019-09-30show RUBY_ISEQ_DUMP_DEBUG envval if given.Koichi Sasada
2019-09-30rb_method_attr_t::location should be 0 or others.Koichi Sasada
method_def_location() expects that rb_method_attr_t::location is 0 (Qfalse) or not.
2019-09-29Add three more C-API functions for handling keywordsJeremy Evans
This adds rb_funcall_passing_block_kw, rb_funcallv_public_kw, and rb_yield_splat_kw. This functions are necessary to easily handle cases where rb_funcall_passing_block, rb_funcallv_public, and rb_yield_splat are currently used and a keyword argument separation warning is raised. Notes: Merged: https://github.com/ruby/ruby/pull/2507
2019-09-30delete unnecessary branch卜部昌平
At last, not only myself but also your compiler are fully confident that the method entries pointed from call caches are immutable. We don't have to worry about silent updates. Just delete the branch that is now always false. Calculating ------------------------------------- ours trunk vm2_poly_same_method 2.142M 2.070M i/s - 6.000M times in 2.801148s 2.898994s Comparison: vm2_poly_same_method ours: 2141979.2 i/s trunk: 2069683.8 i/s - 1.03x slower Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor constify most of rb_method_entry_t卜部昌平
Now that we have eliminated most destructive operations over the rb_method_entry_t / rb_callable_method_entry_t, let's make them mostly immutabe and mark them const. One exception is rb_export_method(), which destructively modifies visibilities of method entries. I have left that operation as is because I suspect that destructiveness is the nature of that function. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor add rb_method_entry_from_template卜部昌平
Tired of rb_method_entry_create(..., rb_method_definition_create( ..., &(rb_method_foo_t) {...})) maneuver. Provide a function that does the thing to reduce copy&paste. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor reduce METHOD_ENTRY_FLAGS_COPY卜部昌平
Make things more immutable. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor delete rb_method_entry_copy卜部昌平
The deleted function was to destructively overwrite existing method entries, which is now considered to be a bad idea. Delete it, and assign a newly created method entry instead. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor delete rb_method_definition_set卜部昌平
Instead of destructively write fields of method entries, create a new entry and let it overwrite its owner. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor rb_method_definition_create take opts卜部昌平
Before this changeset rb_method_definition_create only allocated a memory region and we had to destructively initialize it later. That is not a good design so we change the API to return a complete struct instead. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor delete vm_cref_dump卜部昌平
No longer used. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor split rb_method_definition_set卜部昌平
Did you know that C functions can return structs? That has been true since the beginning, but not that very useful until C99. Now that we can write compound literals, this feature is much easier to use. By allowing struct-returning functions, some formerly big functions can be split into smaller ones, like this changeset. At least GCC is smart enough to inline the split functions back into one. No performance penalty is observed. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor constify most of rb_method_definition_t卜部昌平
Most (if not all) of the fields of rb_method_definition_t are never meant to be modified once after they are stored. Marking them const makes it possible for compilers to warn on unintended modifications. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor add rb_id_table_foreach_with_replace_with_key卜部昌平
This is a pure refactoring to reduce copy & paste. Also the new function is made visible from other parts of the interpreter, to be used later. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor delete ID_TABLE_ITERATOR_RESULT_END卜部昌平
Not used from anywhere. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-30refactor delete METHOD_ENTRY_COMPLEMENTED flag卜部昌平
Because rb_method_definition_t tracks its own complemented_count, we no longer have to check it in rb_method_entry_t side. Notes: Merged: https://github.com/ruby/ruby/pull/2486
2019-09-29Remove VM_NO_KEYWORDS, replace with RB_NO_KEYWORDSJeremy Evans
VM_NO_KEYWORDS was introduced first in vm_core.h, but it is best to only use a single definition for this.
2019-09-29Make direct calls to rb_{obj_instance,mod_module}_{eval,exec} not pass keywordsJeremy Evans
In general RB_PASS_CALLED_KEYWORDS should only be set if we are sure the arguments passed come directly from Ruby. For direct calls to these C functions, we should not assume that keywords are passed. Add static *_internal versions of these functions that Kernel#instance_{eval,exec} and Module#{class,module}_{eval,exec} call that set RB_PASS_CALLED_KEYWORDS. Also, change struct.c back to calling rb_mod_module_eval, now that the call is safe. Notes: Merged: https://github.com/ruby/ruby/pull/2505
2019-09-30Run test-unit tests in CIBenoit Daloze
Notes: Merged: https://github.com/ruby/ruby/pull/2506
2019-09-30Update to latest test-unitBenoit Daloze
* See https://github.com/test-unit/test-unit/issues/165 Notes: Merged: https://github.com/ruby/ruby/pull/2506
2019-09-29Update to ruby/spec@2699ea4Benoit Daloze
2019-09-29Fix or suppress keyword argument separation warnings in util_specJeremy Evans
Some warnings are because the @o.rb_scan_args call doesn't include keyword arguments, but the first argument is passed to rb_scan_args may have a last hash treated as keywords. Those should be handled using rb_scan_args_kw on Ruby 2.7. Other warnings are for the deprecated rb_scan_args behavior to split option hashes or treat a nil argument as an option hash. Those warnings should just be suppressed. Notes: Merged: https://github.com/ruby/ruby/pull/2504
2019-09-29Update to ruby/spec@34e6246Benoit Daloze
2019-09-29Update to ruby/mspec@5dda9fbBenoit Daloze
2019-09-29Skip default gemspecs spec if the default_specifications_dir cannot be foundBenoit Daloze
2019-09-30Suppress keyword argument warning from #stepNobuyoshi Nakada
* numeric.c (num_step): pass the extracted argument from keyword argument, not the last argument itself which should have been warned already.
2019-09-30* 2019-09-30 [ci skip]git
2019-09-29Update to ruby/spec@e69a14cBenoit Daloze
2019-09-29Update to ruby/mspec@8cabcefBenoit Daloze
2019-09-29Update to ruby/spec@519df35Benoit Daloze
2019-09-29Update to ruby/mspec@8106083Benoit Daloze
2019-09-29Pass $(XRUBY) to test-bundled-gems.rb since RbConfig.ruby is incorrect for ↵Benoit Daloze
miniruby Notes: Merged: https://github.com/ruby/ruby/pull/2503
2019-09-29Move the logic to test bundled gems to Ruby codeBenoit Daloze
* Writing shell scripts in a Makefile is very error-prone. * TEST_BUNDLED_GEMS_ALLOW_FAILURES seemed to not work before. Notes: Merged: https://github.com/ruby/ruby/pull/2503
2019-09-29Exclude the test-unit bundled gem tests since they also fail since the ↵Benoit Daloze
Time#inspect change * See https://github.com/test-unit/test-unit/issues/165 Notes: Merged: https://github.com/ruby/ruby/pull/2503
2019-09-29Remove continue-on-error for test-bundled-gemsBenoit Daloze
* Otherwise, it takes a very long time to notice those tests broke. Notes: Merged: https://github.com/ruby/ruby/pull/2503
2019-09-29[ruby/stringio] Bump up the versionNobuyoshi Nakada
https://github.com/ruby/stringio/commit/f0e5027279
2019-09-29[ruby/stringio] Use rb_funcallv_kw when delegating argumentsNobuyoshi Nakada
https://github.com/ruby/stringio/commit/5892663e32
2019-09-29[ruby/stringio] Replaced rb_funcall2 with rb_funcallvNobuyoshi Nakada
https://github.com/ruby/stringio/commit/a37ab7c419
2019-09-29[ruby/stringio] Dropped older ruby versionsNobuyoshi Nakada
https://github.com/ruby/stringio/commit/e8065153b8
2019-09-29[ruby/stringio] Get rid of String#undump for ruby 2.4 or earlierNobuyoshi Nakada
https://github.com/ruby/stringio/commit/4dfd997e0a
2019-09-29[ruby/zlib] Fix for older ruby 2.6 or earlierNobuyoshi Nakada
https://github.com/ruby/zlib/commit/00ead8cb2c
2019-09-29[ruby/zlib] Search zlib.c as a gemNobuyoshi Nakada
https://github.com/ruby/zlib/commit/8f43b264cd
2019-09-29[DOC] Fix typos in Array#{to_s,inspect} doc [ci skip]Benoit Daloze