aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* introduce new YARV insn newhashfromarray.ko12018-10-244-52/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * insns.def (newhashfromarray): added to replace `core_hash_from_ary` method to eliminate method call overhead. On my environment, I got the following benchmark results: x = {x: 1} modified: 7864988.6 i/s trunk: 6004098.1 i/s - 1.31x slower x = {x: 1, y: 2} trunk: 6127338.4 i/s modified: 5232380.0 i/s - 1.17x slower x = {x: 1, y: 2, z: 3} modified: 6089553.1 i/s trunk: 5249333.5 i/s - 1.16x slower This trivial improvement should be reconsider because of usage of this instruction. * compile.c: ditto. * defs/id.def, vm.c: remove unused functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2018-10-230-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: skip #test_queue_with_trap for nowk0kubun2018-10-232-1/+3
| | | | | | only on --jit CI. This test doesn't work on AppVeyor mswin either. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: increase timeout scalek0kubun2018-10-231-2/+2
| | | | | | | | | mainly for test-mjit. TestThreadQueue#test_queue_with_trap timed out with 10s. https://app.wercker.com/ruby/ruby/runs/test-mjit/5bcf4b5c9065740006f790ca?step=5bcf4b9787436a000648fbb7 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: run both --jit and --jit-waitk0kubun2018-10-231-6/+38
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: stop using my personal Docker containerk0kubun2018-10-231-10/+12
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* getifaddrs_spec.rb: `should` returned `nil` on successnobu2018-10-231-0/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: stop splitting test-allk0kubun2018-10-231-6/+2
| | | | | | | since it actually doesn't contribute to CI build time so much, rather it seems making it worse. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-10-24svn2018-10-231-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Skip BUGs on Solariskazu2018-10-232-1/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* getifaddrs_spec.rb: allow no addressnobu2018-10-231-14/+14
| | | | | | | | | * spec/ruby/library/socket/socket/getifaddrs_spec.rb: allow no address for platform dependent failures. https://travis-ci.org/ruby/ruby/jobs/445126982#L2234-L2244 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: give up using mspec -jk0kubun2018-10-231-2/+2
| | | | | | | for all Windows environments. It also hanged on msys2 build https://ci.appveyor.com/project/ruby/ruby/builds/19719943/job/cxg00jgvt1ifml97 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/unit.rb: glob w/o prefix/suffixnobu2018-10-231-2/+7
| | | | | | | | | | | | | | | | * test/lib/test/unit.rb (Test::Unit::GlobOption#non_options): glob the given pattern as-is under the TESTSDIR without the prefix nor the suffix, when it has separator(s) but does not end with a separator nor is not a directory. e.g.: make test-all TESTS='ruby/test_time*' runs `ruby/test_time.rb` and `ruby/test_time_tz.rb` only, like as the following: make test-all TESTS='$(TESTSDIR)/ruby/test_time*' git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/unit.rb: fixed wrong method namenobu2018-10-232-2/+3
| | | | | | | | | | | * test/lib/test/unit.rb (Test::Unit::Parallel#deal): fixed wrong method name at r36388. * test/testunit/test_parallel.rb (TestParallel::TestParallel#test_separate): refine the pattern to process IDs but not backtrace lines, and add a better message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: run the slowest jobs firstk0kubun2018-10-232-11/+13
| | | | | | | | to shorten time taken for finishing overall builds. appveyor.yml: comment the same intention in AppVeyor as well git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: profile slow testsk0kubun2018-10-231-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: let osx build print verbose outputk0kubun2018-10-231-3/+3
| | | | | | | because it may hang with no output like this: https://travis-ci.org/ruby/ruby/jobs/445101860 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: explain the usage of Werckerk0kubun2018-10-231-2/+10
| | | | | | | | | at ruby repository. I also added a woraround to loosen timeout for test-all. I resolved the issue that lets --jit-wait CI timeout, so this workaround is not strictly needed, but this might make it easier to debug when things go wrong. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: setup MJIT wait CIk0kubun2018-10-231-20/+18
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: don't ask MJIT copy job to main threadk0kubun2018-10-231-1/+5
| | | | | | | when main thread is waiting for MJIT worker forever without executing RUBY_VM_CHECK_INTS due to --jit-wait. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: separately execute problematic test casek0kubun2018-10-231-2/+2
| | | | | | | that may crash worker like: https://ci.appveyor.com/project/ruby/ruby/builds/19706703/job/5dmi22mgua9r2qfu git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Let Time::TM share the implementation with Timenobu2018-10-231-1/+30
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* addr2line.c: add explicit casts for clang on 32bit environmentmame2018-10-231-3/+3
| | | | | | Assigning uint64_t to size_t or uintptr_t caused a build error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c: use correct integer-conversion functionmame2018-10-231-4/+4
| | | | | | | The return value of major() and minor() is unsigned int, not dev_t. So, UINT2NUM() is a better choice than DEVT2NUM(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* _mjit_compile_send.erb: fix wrong cc usagesk0kubun2018-10-231-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2018-10-231-14/+14
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "vm_trace: implement postponed_jobs as st_table"normal2018-10-233-22/+61
| | | | | | | | | This reverts commit 5a1dfb04bc2b09fcf8f3427cac72d0ce52a45eb2 (r63451) And mark the functions as async-signal-safe while we're at it to prevent future developers from making the same mistake as I did :x git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/lib/test/unit/assertions.rb: skip memory leak checkk0kubun2018-10-233-2/+3
| | | | | | | | | | for all test cases on MJIT. In addition to those 2 tests, TestAutoload#test_no_leak newly failed and most of assert_no_memory_leak usages are likely to randomly fail. Let me just skip all of them but let's revisit this to check it properly later. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: pending for nowk0kubun2018-10-231-15/+19
| | | | | | | | | As the Wercker integration is already enabled, I added wercker.yml but it's not working due to migration to this repository and I don't have enough time to fix it immediately. I'll make it work in this evening. Let me show green status on GitHub commit logs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: run --jit-wait test on Werckerk0kubun2018-10-231-0/+33
| | | | | | New. This was formerly https://github.com/k0kubun/mjit-test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit.c: prevent from accessing expired jobk0kubun2018-10-232-1/+12
| | | | | | | | | | | Given that `copy_cache_from_main_thread()` breaks the loop when `stop_worker_p` is TRUE, memory of `job` allocated by `alloca` may be invalid if `stop_worker_p` is already TRUE. mjit_worker.c: explain why `copy_cache_from_main_thread()` should not stop checking `stop_worker_p`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revisit more MJIT test skipsk0kubun2018-10-228-22/+7
| | | | | | | | | | | | | | | | r65308 passed both trunk-mjit and trunk-mjit-wait CIs. MJIT copy job looks working fine. Then this commit skips 5 more tests. Some of them were skipped in a very early stage and may still need to be skipped, but I want to confirm them since they haven't been changed for a long time. And this prefers having inline information on `RubyVM::MJIT.enabled?`. This commit makes it easier to confirm whether there's suspicious test skip by RubyVM::MJIT.enabled? or not. After this commit, tentatively we're not skipping tests for MJIT other than `assert_no_memory_leak` ones. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-10-23svn2018-10-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_string.rb: skip test_crypt for MJIT againk0kubun2018-10-222-1/+2
| | | | | | | | | Partially reverting r65285. Actually this one is failing due to memory consumption on MJIT, so this seems not catching the bug of MJIT. test/ruby/test_io.rb: unify the skip message with it git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r65292 and r65297k0kubun2018-10-222-6/+0
| | | | | | | now mjit CIs are stable. Let me try this to confirm if it's fixed or not. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* No longer subsec and isdst membersnobu2018-10-221-6/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert TM_IS_TIME to 1nobu2018-10-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Return fixed values at subsec, utc_offset, and isdstnobu2018-10-221-3/+37
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add debug option to check ci failures on solariskazu2018-10-221-0/+3
| | | | | | | | | | | failed to start extserv?: - https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20181020T132506Z.fail.html.gz BUG in sysread of OpenSSL: - https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-trunk/log/20181020T132408Z.fail.html.gz - https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10x/ruby-trunk/log/20181020T131807Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2018-10-221-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Set the size of a new enumerator created by Enumerator#each with arguments ↵knu2018-10-222-2/+7
| | | | | | | | | | | to nil When each() takes arguments, it is never safe to assume that the iteration would repeat the same number of times as with each() without any argument. Actually, there is no way to get the exact number, so the size should be set to nil to denote that. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: return more appropriate resultk0kubun2018-10-221-8/+2
| | | | | | | of copy job. When job is being stopped but job is actually finished, returning FALSE could be a little confusing from the function name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: check appropriate flag to stopk0kubun2018-10-221-1/+1
| | | | | | This was not intentional in r65299. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: make sure copy job wait is unblockedk0kubun2018-10-221-4/+15
| | | | | | | by stop_worker(). Previously copy_cache_from_main_thread() might loop forever even with stop_worker() is being called from ruby_cleanup(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: give up -O0shyouhei2018-10-221-2/+0
| | | | | | | | | | This configuration timed out. https://travis-ci.org/ruby/ruby/jobs/444523912 Try speed things up. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_thread.rb: another temporary skip for MJITk0kubun2018-10-221-0/+2
| | | | | | | to make trunk-mjit-wait CI green for now. I'll take a look at this later. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* time.c: optional arguments of Time::TM#initializenobu2018-10-222-6/+6
| | | | | | | * time.c (tm_initialize): arguments other than year are optional now as Time.new. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge stringio.gemspec from github repository.hsbt2018-10-221-2/+2
| | | | | | It fixed the wrong paths of libraries. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge rubygems master branch from github.com/rubygems/rubygems.hsbt2018-10-2262-410/+386
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_time_tz.rb: refactor dummy TZ tests and add another timezonenobu2018-10-211-37/+38
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e