aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fix more ASAN errorstenderlove2019-04-021-3/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Extract type to sym as a new functiontenderlove2019-04-021-31/+37
| | | | | | I will use this from another function in compaction git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix typo in lldb scripttenderlove2019-04-022-3/+7
| | | | | | Also fix tests git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2019-04-03svn2019-04-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix ASAN errortenderlove2019-04-021-1/+1
| | | | | | This code was trying to access memory before unpoisoning it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Poison / verify the freelisttenderlove2019-04-021-1/+33
| | | | | | | | This commit just adds poisoning around the freelist to help debugging. Also verify that the freelist only contains T_NONE objects when checking the heap integrity git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge rubygems/rubygems from upstream.hsbt2019-04-0234-184/+264
| | | | | | | The current master branch is https://github.com/rubygems/rubygems/commit/97b264f0fa248c864b6ee9a23d3ff1cdd217dddb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Azure Pipeline tests on Linux are not reliablek0kubun2019-04-021-0/+1
| | | | | | | | | | | | | | | | test-bundler started to fail with r67383 https://dev.azure.com/rubylang/ruby/_build/results?buildId=278 which is very unlikely to be Ruby implementation's fault. test-bundled_gems also started to fail with r67413 https://dev.azure.com/rubylang/ruby/_build/results?buildId=303 I'm not sure the commit is related to the failure. Overall, they are not useful as testing environment of Ruby itself for now since nobody seems to take care of these CI statuses. Let's stop reporting the status to GitHub until it becomes reliable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* downloader.rb: keep linked file newer than cached filenobu2019-04-021-3/+9
| | | | | | | | | * tool/downloader.rb (Downloader.save_cache): keep linked file newer than cached file, so that GNU make triggers when the content is updated. it uses the timestamp of symlink itself instead of the target. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_parse.c: name JISX0301_DEFAULT_ERAnobu2019-04-021-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_parse.c: renamed JAPANESE prefix as JISX0301nobu2019-04-021-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2019-04-021-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date: use del_hash to extract an element destructivelynobu2019-04-023-11/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix ASAN errors when walking the heaptenderlove2019-04-011-1/+20
| | | | | | | | | verify_internal_consistency_i and gc_verify_heap_page would walk the heap, reading data from each slot, but would not unpoison the object before reading. This commit unpoisons the slot before reading so that we won't get ASAN errors git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add regex support to lldb debug outputtenderlove2019-04-011-0/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2019-04-011-10/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* unpoison / poison objects while walking the heaptenderlove2019-04-012-0/+24
| | | | | | This fixes some ASAN errors git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Make spec for the jit feature more general and not MRI-specificeregon2019-04-011-4/+4
| | | | | | * Other implementations should not define RubyVM. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e