aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* test_module.rb: fix a typonobu2019-04-081-1/+1
| | | | | | | * test/ruby/test_module.rb (TestModule#test_nested_get): fix a typo. nested module's name is a qualified path. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c: force hash values fixablenobu2019-04-082-1/+2
| | | | | | | * struct.c (rb_struct_hash): force hash values fixable on LLP64 environment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-04-08svn2019-04-081-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* range.c: force hash values fixablenobu2019-04-082-1/+2
| | | | | | | * range.c (range_hash): force hash values fixable on LLP64 environment. [ruby-core:92194] [Bug #15757] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* range.c: force hash values fixablenobu2019-04-082-1/+2
| | | | | | | * range.c (method_hash): force hash values fixable on LLP64 environment. [ruby-core:92191] [Bug #15756] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enumerator.c: force hash values fixablenobu2019-04-082-1/+2
| | | | | | | * enumerator.c (arith_seq_hash): force hash values fixable on LLP64 environment. [ruby-core:92190] [Bug #15755] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* doc/signals.rdoc: Clarify a bit where Signal.trap handlers are executederegon2019-04-071-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: missing breaknobu2019-04-071-0/+1
| | | | | | | * gc.c (obj_memsize_of): T_RATIONAL and T_COMPLEX cannot be an imemo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add debug message for test_rinda crashk0kubun2019-04-071-0/+2
| | | | | | | | | | We often see test-all worker crash on test_rinda, but for now we even can't know which test is unstable from this output: http://ci.rvm.jp/results/trunk_gcc5@silicon-docker/1926481 Let me print `caller` on the timeout failure. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-04-07svn2019-04-061-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix typo in a comment [ci skip]k0kubun2019-04-061-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add debug counter for VM <-> MJIT callsk0kubun2019-04-062-0/+16
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* internal.h: fix potential memory leaknobu2019-04-061-1/+7
| | | | | | | | | * internal.h (rb_imemo_tmpbuf_auto_free_pointer_new_from_an_RString): create tmpbuf to keep the pointer before xmalloc which can raise a NoMemoryError exception. extracted from https://github.com/bear-metal/ruby/tree/transient-imemo-tmpbuf git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Cover all insns in test_jit againk0kubun2019-04-061-5/+24
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Suppress unnecessary warnings in test_jitk0kubun2019-04-061-6/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Resurrect a test dropped in r67442k0kubun2019-04-061-0/+12
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: try porting r67454 to msys2k0kubun2019-04-061-1/+1
| | | | | | | Trying to fix https://ci.appveyor.com/project/ruby/ruby/builds/23639998/job/0hm9v79xlryod1ff git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: Use pre-generated headers and tablesnobu2019-04-062-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove Unicode 12.0.0 related directory and generated filesduerst2019-04-052-48546/+0
| | | | | | This completes issue #15195. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-04-06svn2019-04-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r67445, (r67446,) r67447duerst2019-04-051-8/+0
| | | | | | Debugging output is no longer needed because the problem has been fixed with r67449. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* downloader.rb: fix typo, extra %nobu2019-04-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: download beta version for testnobu2019-04-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* downloader.rb: quote base namenobu2019-04-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* output more debug information in downloader.rb (temporary)duerst2019-04-051-0/+1
| | | | | | Unicode file download doesn't work with Visual Studio, we need more debug output. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2019-04-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add puts statements to debug Unicode file download (temporary)duerst2019-04-051-0/+7
| | | | | | | | Unicode file download doesn't work with Visual Studio, see e.g. https://ci.appveyor.com/project/ruby/ruby/builds/23614399/job/f8vya2l7fjdfcye4 We temporarily produce more output for debugging. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* `rb_add_method` is void function.ko12019-04-052-5/+3
| | | | | | | | * method.h (rb_add_method): make it void function because nobody use a return value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2019-04-054-24/+24
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add definemethod/definesmethod insn.ko12019-04-057-155/+131
| | | | | | | | | | | | | | | | | | | | | * insns.def: add definemethod and definesmethod (singleton method) instructions. Old YARV contains these instructions, but it is moved to methods of FrozenCore class because remove number of instructions can improve performance for some techniques (static stack caching and so on). However, we don't employ these technique and it is hard to optimize/analysis definition sequence. So I decide to introduce them (and remove definition methods). `putiseq` insn is also removed. * vm_method.c (rb_scope_visibility_get): renamed to `vm_scope_visibility_get()` and make it accept `ec`. Same for `vm_scope_module_func_check()`. These fixes are result of refactoring `vm_define_method`. * vm_insnhelper.c (rb_vm_get_cref): renamed to `vm_get_cref` because of consistency with other functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update to Unicode Version 12.1.0 (beta)duerst2019-04-056-4/+49249
| | | | | | | | | | | | | | | | | | | | | | Unicode Version 12.1.0 adds one single character, U+32FF SQUARE ERA NAME REIWA, for the new Japanese era starting on May 1st. 12.1.0 will be finalized only on May 7th, so we go with the beta version because further changes in the data we need are highly unlikely, and we want to make sure Ruby is ready for the new era. * common.mk: change UNICODE_VERSION to 12.1.0, UNICODE_BETA to YES * enc/unicode/12.1.0, enc/unicode/12.1.0/casefold.h, enc/unicode/12.1.0/name2ctype.h: add directory and generated data files for new version * lib/unicode_normalize/tables.rb: update for new character * test/ruby/test_regexp.rb: add test for character property age=12.1 * test/test_unicode_normalize.rb: add test for NFKC decomposition of new character This (mostly) completes issue #15195. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-04-05svn2019-04-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* change lib/unicode_normalize/tables.rb to single item per line to make diffs ↵duerst2019-04-042-1136/+9000
| | | | | | | | | | | | shorter * template/unicode_norm_gen.tmpl: Change formatting of output to produce only a single item (or range) for each line to make future diffs shorter and easier to understand and check. * lib/unicode_normalize/tables.rb: output of the above git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gmake.mk: get rid of unicode normalization table timestampnobu2019-04-042-2/+9
| | | | | | | | * common.mk, defs/gmake.mk: rid of unicode normalization tables timestamp. update the target tables file only when only it exists. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.h: Remove dead membersnobu2019-04-041-2/+0
| | | | | | | | | | | * iseq.h (struct iseq_compile_data): Remove the dead ensure_node and for_iseq members. [Fix GH-2108] From: Lourens Naudé <lourens@bearmetal.eu> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gmake.mk: update normalization tablenobu2019-04-041-0/+6
| | | | | | | * defs/gmake.mk: try to update Unicode normalization tables file if Unicode data files exist. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enumerator.c: make arith_seq_first support nil beginmrkn2019-04-042-0/+13
| | | | | | | | | * enumerator.c: (arith_seq_first): support nil begin. * test/ruby/test_arithmetic_sequence.rb (test_first): add assertions for beginless and endless arithmetic sequences. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby/test_arithmetic_sequence.rb: add assertions for beginless and endless ↵mrkn2019-04-041-0/+20
| | | | | | ranges git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* range.c: support to make beginless arithmetic sequencesmrkn2019-04-042-1/+5
| | | | | | | | | | * range.c (range_step): fix the guard condition so that a beginless range can be turned into a beginless arithmetic sequence. * test/ruby/test_range.rb (test_step): add assertions for the above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2019-04-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "Introduce inline cache for invokesuper"k0kubun2019-04-041-7/+1
| | | | | | | | | This reverts commit d147ad6231aebb1d478162fb8e109e0c6a696169. because failing on CI: http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1916925 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-04-04svn2019-04-031-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Introduce inline cache for invokesuperk0kubun2019-04-031-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Looks good in micro benchmark: ``` $ benchmark-driver benchmark/vm2_super.yml -v --rbenv 'before;after' before: ruby 2.7.0dev (2019-04-03 trunk 67428) [x86_64-linux] after: ruby 2.7.0dev (2019-04-03 trunk 67428) [x86_64-linux] last_commit=Introduce inline cache for invokesuper Calculating ------------------------------------- before after vm2_super 19.265M 31.280M i/s - 6.000M times in 0.311447s 0.191813s Comparison: vm2_super after: 31280464.2 i/s before: 19264906.2 i/s - 1.62x slower ``` No significant impact to Optcarrot: ``` $ benchmark-driver benchmark.yml --rbenv='before;after' -v --output=all --repeat-count=12 before: ruby 2.7.0dev (2019-04-03 trunk 67428) [x86_64-linux] after: ruby 2.7.0dev (2019-04-03 trunk 67428) [x86_64-linux] last_commit=Introduce inline cache for invokesuper Calculating ------------------------------------- before after Optcarrot Lan_Master.nes 48.41126024010233 47.28027196127746 fps 49.49212664510990 48.75072555488074 49.51485564376117 49.20650895701073 49.58351773328487 49.24563592659139 49.64022392458479 49.26292753046641 49.92566235019630 49.44496216868009 50.18022198879376 49.45467429762771 50.33038373991723 49.52003367348857 50.43202877523305 49.69190055704068 50.61368587766504 49.79856204866324 50.77975014460643 50.27764769510704 50.89807360753746 50.35785776505005 ``` A little improvement to k0kubun/railsbench?: ``` $ rbenv shell before; RUBYOPT="-v" WARMUP=1 BENCHMARK=30000 bin/bench ruby 2.7.0dev (2019-04-03 trunk 67428) [x86_64-linux] Warmup: 1 requests Benchmark: 30000 requests Request per second: 897.1 [#/s] (mean) Percentage of the requests served within a certain time (ms) 50% 1.01 66% 1.02 75% 1.03 80% 1.04 90% 1.08 95% 1.23 98% 2.10 99% 5.52 100% 13.26 $ rbenv shell after; RUBYOPT="-v" WARMUP=1 BENCHMARK=30000 bin/bench ruby 2.7.0dev (2019-04-03 trunk 67428) [x86_64-linux] last_commit=Introduce inline cache for invokesuper Warmup: 1 requests Benchmark: 30000 requests Request per second: 913.0 [#/s] (mean) Percentage of the requests served within a certain time (ms) 50% 0.99 66% 1.00 75% 1.01 80% 1.02 90% 1.06 95% 1.20 98% 2.12 99% 5.57 100% 12.39 ``` No significant impact to discourse: ``` * before categories_admin: 50: 54 75: 60 90: 70 99: 86 home_admin: 50: 56 75: 65 90: 71 99: 122 topic_admin: 50: 64 75: 73 90: 79 99: 117 categories: 50: 32 75: 33 90: 46 99: 61 home: 50: 34 75: 36 90: 48 99: 56 topic: 50: 40 75: 42 90: 55 99: 83 * after categories_admin: 50: 59 75: 66 90: 80 99: 149 home_admin: 50: 54 75: 58 90: 70 99: 96 topic_admin: 50: 63 75: 66 90: 79 99: 115 categories: 50: 31 75: 32 90: 45 99: 65 home: 50: 34 75: 35 90: 49 99: 58 topic: 50: 40 75: 42 90: 55 99: 78 ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Partially allow failures in test-bundled-gemsk0kubun2019-04-032-3/+14
| | | | | | | | | | | Tests of minitest randomly fails with strange errors: https://dev.azure.com/rubylang/ruby/_build/results?buildId=303 https://dev.azure.com/rubylang/ruby/_build/results?buildId=314 Instead of marking `continueOnError` for all, let me select failure-allowed gems individually. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vs2019 build is not functional nowk0kubun2019-04-031-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2019-04-031-6/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date: make zone a substring to copy encoding and taintednessnobu2019-04-033-29/+22
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revive accidentally removed assertionkazu2019-04-031-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* range.c (r_cover_range_p): support beginless rangemame2019-04-032-2/+8
| | | | | | `(..2).cover?(..1)` should return true. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Introduce beginless range [Feature#14799]mame2019-04-038-19/+123
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e