aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't allow rb_fiber_resume to raise exception on unborn fiber.samuel2018-12-282-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Implement Fiber#raise. Fixes #10344.samuel2018-12-282-0/+69
| | | | | | | This allows raising exceptions in another fiber, similarly to Thread#raise. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2018-12-281-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Hoisted out undefined_constantnobu2018-12-281-12/+17
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add RUBY_API_VERSION to rbconfig.rb on mswin toonobu2018-12-281-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_jit.rb: suppress random failure on RubyCIk0kubun2018-12-281-2/+2
| | | | | | | | This failure is a known issue that exists mainly on CI environments. We should address this at some moment, but making CI red by this would be just a false-positive alarm for now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: try to fix addr2line build failurek0kubun2018-12-281-1/+1
| | | | | | | | | | | | | | | https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian8/ruby-trunk/log/20181228T063002Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-trunk/log/20181228T081706Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/gentoo/ruby-trunk/log/20181228T063002Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-trunk/log/20181228T063003Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos7/ruby-trunk/log/20181228T080003Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/opensuseleap/ruby-trunk/log/20181228T080002Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-trunk/log/20181228T063303Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-trunk/log/20181228T090003Z.fail.html.gz I suspect r66598 triggered something. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: ignore non-existent filesnobu2018-12-281-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: rbconfig.rb is not needed to setup sourcesnobu2018-12-281-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* RUBY_PROGRAM_VERSION for MJIT_PRECOMPILED_HEADERnobu2018-12-281-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: USE_FLONUM is always definedshyouhei2018-12-281-1/+1
| | | | | | | | This changeset should fix the 32bit failures. See also: https://travis-ci.org/ruby/ruby/jobs/472855470 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix r66599 to sucess install. please refix this patch @nobuko12018-12-282-4/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Moved version numbersnobu2018-12-288-26/+35
| | | | | | | | | | | | * Define major and minor version numbers only in the public include/ruby/version.h header, as the API version numbers. * Define only teeny version number in the private version.h header. * RUBY_VERSION moved to version.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Check if restrict keyword is supportednobu2018-12-282-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: delete unused macrosshyouhei2018-12-283-50/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - FIXNUM_2_P: moved to vm_insnhelper.c because that is the only place this macro is used. - FLONUM_2_P: ditto. - FLOAT_HEAP_P: not used anywhere. - FLOAT_INSTANCE_P: ditto. - GET_TOS: ditto. - USE_IC_FOR_SPECIALIZED_METHOD: ditto. - rb_obj_hidden_p: ditto. - REG_A: ditto. - REG_B: ditto. - GET_CONST_INLINE_CACHE: ditto. - vm_regan_regtype: moved inside of VM_COLLECT_USAGE_DETAILS because that os the only place this enum is used. - vm_regan_acttype: ditto. - GET_GLOBAL: used only once. Removed with replacing that usage. - SET_GLOBAL: ditto. - rb_method_definition_create: declaration moved to vm_insnhelper.c because that is the only place this declaration makes sense. - rb_method_definition_set: ditto. - rb_method_definition_eq: ditto. - rb_make_no_method_exception: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2018-12-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix missed script_compiled events. [Bug #15471]ko12018-12-274-5/+24
| | | | | | | | | | | | | | * ruby.c (process_options): script_compiled events are missed on command line -e or specified file. this commit fix it. [Bug #15471] This patch should be backport to Ruby 2.6 branch. * vm_core.h (rb_exec_event_hook_script_compiled): introduce utility function to invoke a script_compiled event. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_method.rb: do not kill RubyCI openSUSE machinek0kubun2018-12-271-0/+4
| | | | | | | | | | with NoMemoryError on TestMethod#test_splat_long_array. https://rubyci.org/logs/rubyci.s3.amazonaws.com/opensuseleap/ruby-trunk/log/20181227T080002Z.log.html.gz Maybe better to check /proc/meminfo instead of /etc/os-release. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* accept_nonblock_spec.rb: skip spurious failurek0kubun2018-12-271-1/+1
| | | | | | | on solaris until it gets stable. https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-trunk/log/20181227T142405Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-12-28svn2018-12-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/mkmf/test_flags.rb: try to suppress random CI failurek0kubun2018-12-272-2/+2
| | | | | | | | | on AIX ppc https://rubyci.org/logs/rubyci.s3.amazonaws.com/aix71_ppc/ruby-trunk/log/20181226T113305Z.fail.html.gz test/lib/test/unit/assertions.rb: ditto, for TestIO#test_copy_stream_no_busy_wait git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* jit_support.rb: skip testing MJIT on oracle developer studiok0kubun2018-12-271-2/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: pass CFLAGS to transform_mjit_header.rbk0kubun2018-12-271-1/+1
| | | | | | | | | | | so that flags like -msse4.1 are passed when checking compilation status in transform_mjit_header.rb. It matters for checking __builtin_xxx things. [Fix GH-2059] [Bug #14964] From: pavel <pavel.rosicky@easy.cz> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix restorationnobu2018-12-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Suppress warningsnobu2018-12-271-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [DOC] SecureRandom is extended by Random::Formatter.akr2018-12-271-0/+17
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Arrange as same as comment and return statementkazu2018-12-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* delete emacs mode lines [ci skip]shyouhei2018-12-2756-78/+52
| | | | | | | These settings are now covered by .dir-locals.el. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add .dir-locals.el [ci skip]shyouhei2018-12-271-0/+37
| | | | | | | | | Recent Emacs (23 and up?) has this feature called .dir-locals.el. See also: https://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Variables.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix Net::Protocol::BufferedIO#write when sending large multi-byte stringnobu2018-12-272-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit should fix Net::Protocol::BufferedIO#write when sending large multi-byte string like following example. ``` $ ruby -rnet/http -rjson -v -e "Net::HTTP.post(URI('http://httpbin.org/post'), { text: 'あ'*100_000 }.to_json, 'Content-Type' => 'application/json')" ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux] Traceback (most recent call last): 19: from -e:1:in `<main>' 18: from lib/ruby/2.6.0/net/http.rb:500:in `post' 17: from lib/ruby/2.6.0/net/http.rb:605:in `start' 16: from lib/ruby/2.6.0/net/http.rb:920:in `start' 15: from lib/ruby/2.6.0/net/http.rb:502:in `block in post' 14: from lib/ruby/2.6.0/net/http.rb:1281:in `post' 13: from lib/ruby/2.6.0/net/http.rb:1493:in `send_entity' 12: from lib/ruby/2.6.0/net/http.rb:1479:in `request' 11: from lib/ruby/2.6.0/net/http.rb:1506:in `transport_request' 10: from lib/ruby/2.6.0/net/http.rb:1506:in `catch' 9: from lib/ruby/2.6.0/net/http.rb:1507:in `block in transport_request' 8: from lib/ruby/2.6.0/net/http/generic_request.rb:123:in `exec' 7: from lib/ruby/2.6.0/net/http/generic_request.rb:189:in `send_request_with_body' 6: from lib/ruby/2.6.0/net/protocol.rb:247:in `write' 5: from lib/ruby/2.6.0/net/protocol.rb:265:in `writing' 4: from lib/ruby/2.6.0/net/protocol.rb:248:in `block in write' 3: from lib/ruby/2.6.0/net/protocol.rb:275:in `write0' 2: from lib/ruby/2.6.0/net/protocol.rb:275:in `each_with_index' 1: from lib/ruby/2.6.0/net/protocol.rb:275:in `each' lib/ruby/2.6.0/net/protocol.rb:280:in `block in write0': undefined method `bytesize' for nil:NilClass (NoMethodError) ``` [Fix GH-2058] From: Eito Katagiri <eitoball@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-12-27svn2018-12-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io-console.gemspec: updatenobu2018-12-271-3/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: remove the deprecation warnings of `String#bytes` with blockmame2018-12-262-71/+36
| | | | | | | And its friends: lines, chars, grapheme_clusters, and codepoints. [Feature #6670] [ruby-core:90728] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "string.c: remove the deprecation warnings of `String#bytes` with block"mame2018-12-262-36/+71
| | | | | | Forgot to write the ticket number in the commit log... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix typos [ci skip]kazu2018-12-261-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c (rb_obj_match): use rb_warn for deprecation warningmame2018-12-263-3/+14
| | | | | | Now the warning is printed even without -w option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: remove the deprecation warnings of `String#bytes` with blockmame2018-12-262-71/+36
| | | | | | And its friends: lines, chars, grapheme_clusters, and codepoints. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Import bigdecimal 1.4.2mrkn2018-12-262-4/+4
| | | | | | * https://github.com/ruby/bigdecimal/compare/v1.4.1..v1.4.2 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typonaruse2018-12-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add #line [ci skip]shyouhei2018-12-262-0/+4
| | | | | | | | These erb files are in fact erb comments + plain C. Adding #line help us debug in case we have trouble there. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* spec/ruby/library/socket/socket/bind_spec.rb: allow to run under dockermame2018-12-261-4/+6
| | | | | | A root user runs the spec without Errno::EACCES git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* spec/ruby/core/process/setpriority_spec.rb: allow to run under dockermame2018-12-261-5/+20
| | | | | | | | | | Docker container is not always able to lower the nice value even if the euid is a root. It depends upon the configuration of docker which cannot check from the container itself. This change does check it by actually trying to lower the value first. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rdoc: skip some tests when euid is rootmame2018-12-263-0/+6
| | | | | | root user can access a file whose permission is 0000. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_process.rb (test_execopts_uid): rescue Errno::EACCESmame2018-12-261-5/+5
| | | | | | | | | | | | | The tests fail under the following condition: * executed as a root * the code is in a directory that uid:30000 user cannot access (e.g., /root) So, this change rescues Errno::EACCES explicitly. Also, this change adds `exception: true` to `Kernel#system` calls. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* doc/extension.ja.rdoc (rb_gc_register_mark_object): fix prototypenormal2018-12-261-1/+1
| | | | | | It takes VALUE, not a pointer to a VALUE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2018-12-261-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def: refactor to avoid CALL_METHOD macroshyouhei2018-12-267-69/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These send and its variant instructions are the most frequently called paths in the entire process. Reducing macro expansions to make them dedicated function called vm_sendish() is the main goal of this changeset. It reduces the size of vm_exec_coref from 25,552 bytes to 23,728 bytes on my machine. I see no significant slowdown. Fix: [GH-2056] vanilla: ruby 2.6.0dev (2018-12-19 trunk 66449) [x86_64-darwin15] ours: ruby 2.6.0dev (2018-12-19 refactor-send 66449) [x86_64-darwin15] last_commit=insns.def: refactor to avoid CALL_METHOD macro Calculating ------------------------------------- vanilla ours vm2_defined_method 2.645M 2.823M i/s - 6.000M times in 5.109888s 4.783254s vm2_method 8.553M 8.873M i/s - 6.000M times in 1.579892s 1.524026s vm2_method_missing 3.772M 3.858M i/s - 6.000M times in 3.579482s 3.499220s vm2_method_with_block 8.494M 8.944M i/s - 6.000M times in 1.589774s 1.509463s vm2_poly_method 0.571 0.607 i/s - 1.000 times in 3.947570s 3.733528s vm2_poly_method_ov 5.514 5.168 i/s - 1.000 times in 0.408156s 0.436169s vm3_clearmethodcache 2.875 2.837 i/s - 1.000 times in 0.783018s 0.793493s Comparison: vm2_defined_method ours: 2822555.4 i/s vanilla: 2644878.1 i/s - 1.07x slower vm2_method ours: 8872947.8 i/s vanilla: 8553433.1 i/s - 1.04x slower vm2_method_missing ours: 3858192.3 i/s vanilla: 3772296.3 i/s - 1.02x slower vm2_method_with_block ours: 8943825.1 i/s vanilla: 8493955.0 i/s - 1.05x slower vm2_poly_method ours: 0.6 i/s vanilla: 0.6 i/s - 1.06x slower vm2_poly_method_ov vanilla: 5.5 i/s ours: 5.2 i/s - 1.07x slower vm3_clearmethodcache vanilla: 2.9 i/s ours: 2.8 i/s - 1.01x slower git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add _sp_inc_helpers.erb [ci skip]shyouhei2018-12-263-4/+40
| | | | | | | | Just add more room for comments. This is a pure refactoring that does not change anything but readability. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [DOC] Remove heading with no content [ci skip]kazu2018-12-252-4/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2018-12-250-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e