{"push_id":3037133174,"size":33,"distinct_size":9,"ref":"refs/heads/trunk","head":"67099c45057ca72c48ee14960b9be1be6634b85b","before":"dcfb7f6d541ee7e80f6a05726e533d4b75a4b785","commits":[{"sha":"17e9667fe9707ff5f20cc320cbd111f886caa5b9","author":{"name":"nobu","email":"7ff6b48c65ca5c8d3a6019be17b241e7b4763d9e@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"refine parse_rat\n\n* rational.c (read_num): return the exponent instead of the\n  divisor, to get rid of huge bignums.\n\n* rational.c (parse_rat): subtract exponents instead of reduction\n  of powers.\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/17e9667fe9707ff5f20cc320cbd111f886caa5b9"},{"sha":"86dca76ef2faaa13706e99ac6b6f49d57348df86","author":{"name":"normal","email":"9c2a6e4809aeef7b7712ca4db05a681452f4f748@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"ext/socket/init.c (wait_connectable): bail out early on some errors\n\nThis becomes necesary if sockets become non-blocking by\ndefault <https://bugs.ruby-lang.org/issues/14968>; but it's\nalways been possible to make sockets non-blocking anyways.\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/86dca76ef2faaa13706e99ac6b6f49d57348df86"},{"sha":"3f1524f0d26f19434d5f9f188db3a49d6c3f1b0a","author":{"name":"k0kubun","email":"60bb38cecea039c85f36d4df1b74ca3cd7be6701@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"test_ftp.rb: extend timeout for --jit-wait testing\n\nto avoid random failures like\nhttps://app.wercker.com/ruby/ruby/runs/mjit-test1/5be394b818310600284f2b50?step=5be394f1591ca800079b1329\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/3f1524f0d26f19434d5f9f188db3a49d6c3f1b0a"},{"sha":"96af6823c1b49a41e873fb4d9ffa16dfce7ffdd9","author":{"name":"shyouhei","email":"ed7cf6821a432264526a95c55b400eeab8710e50@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"st.c: straight-forward comparison of characters\n\nThese functions are used in strcasehash, which is used to store encoding\nnames.  Encoding names often include hyphens (e.g. \"UTF-8\"), and\n` '-' - 'A' ` is negative (cannot express in unsigned int).\n\nDon't be tricky, just do what to do.\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/96af6823c1b49a41e873fb4d9ffa16dfce7ffdd9"},{"sha":"26081169e0a227a6ccf477c7fade17b90f266e23","author":{"name":"ko1","email":"7c603ddb31336b975100ce924ca69f4ad3ace368@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"separate Thread type (func or proc) explicitly.\n\n* vm_core.h (rb_thread_struct): introduce new fields `invoke_type`\n  and `invoke_arg`.\n  There are two types threads: invoking proc (normal Ruby thread\n  created by `Thread.new do ... end`) and invoking func, created\n  by C-API. `invoke_type` shows the types.\n\n* thread.c (thread_do_start): copy `invoke_arg.proc.args` contents\n  from Array to ALLOCA stack memory if args length is enough small (<8).\n  We don't need to keep Array and don't need to cancel using transient heap.\n\n* vm.c (thread_mark): For func invoking threads, they can pass (void *)\n  parameter (rb_thread_t::invoke_arg::func::arg). However, a rubyspec test\n  (thread_spec.c) passes an Array object and it expect to mark it.\n  Clealy it is out of scope (misuse of `rb_thread_create` C-API). However,\n  I'm not sure someone else has such kind of misunderstanding.\n  So now we mark conservatively this (void *) arg with rb_gc_mark_maybe.\n\n  This misuse is found by this error log.\n  http://ci.rvm.jp/results/trunk-theap-asserts@silicon-docker/1448164\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/26081169e0a227a6ccf477c7fade17b90f266e23"},{"sha":"f4a2170ec27ca623d127353d5b19212a35fe9d70","author":{"name":"svn","email":"5bada6ad649e470d86f4ebdbd1d31d5a80390452@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"* expand tabs.\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/f4a2170ec27ca623d127353d5b19212a35fe9d70"},{"sha":"24fff7504595dcbc5466d209485b13074fb33a3d","author":{"name":"shyouhei","email":"ed7cf6821a432264526a95c55b400eeab8710e50@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"avoid (size_t)--\n\nThe decrements overflow and these variables remain ~0 when leaving the\nwhile loops.  They are not fatal by accident, but better replace with\nordinal for loops.\n\nSee also: https://travis-ci.org/ruby/ruby/jobs/452218871#L3246\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/24fff7504595dcbc5466d209485b13074fb33a3d"},{"sha":"289972277ac0c747363fefc22bb024533966fee1","author":{"name":"shyouhei","email":"ed7cf6821a432264526a95c55b400eeab8710e50@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"st.c: fix comparison between signed and unsigned\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/289972277ac0c747363fefc22bb024533966fee1"},{"sha":"7b9dd379bfe4d597acfe4c26365feff61dabd488","author":{"name":"k0kubun","email":"60bb38cecea039c85f36d4df1b74ca3cd7be6701@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":".travis.yml: simplify travis matrix description\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/7b9dd379bfe4d597acfe4c26365feff61dabd488"},{"sha":"a74d08b957b9896e69bde1c9f571fdc5022fbdfb","author":{"name":"shyouhei","email":"ed7cf6821a432264526a95c55b400eeab8710e50@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"svn merge -r 65625:65623 .\n\nWas breaking make test-all\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/a74d08b957b9896e69bde1c9f571fdc5022fbdfb"},{"sha":"8634e62a621fc50ffb29344425a558115bebd3bc","author":{"name":"ko1","email":"7c603ddb31336b975100ce924ca69f4ad3ace368@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"initialize VM postponed_job first. [Bug #15288]\n\n* inits.c: call `Init_vm_postponed_job` first because\n  postponed_job is used by transient heap.\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/8634e62a621fc50ffb29344425a558115bebd3bc"},{"sha":"c68d1c924cfde9c86652a13b9e76b8930c034142","author":{"name":"k0kubun","email":"60bb38cecea039c85f36d4df1b74ca3cd7be6701@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"lib/rubygems/indexer.rb: suppress random test-all error\n\nby bundler. Similar to r65613, but fixing this more carefully\nbecause here is not just inside tests but inside rubygems code.\nhttp://ci.rvm.jp/results/trunk_gcc5@silicon-docker/1448239\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/c68d1c924cfde9c86652a13b9e76b8930c034142"},{"sha":"7cc97cfe092c43d9729412fde2e1aa54746f2307","author":{"name":"shyouhei","email":"ed7cf6821a432264526a95c55b400eeab8710e50@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"avoid (size_t)-- (2nd try)\n\nThe decrements overflow and these variables remain ~0 when leaving the\nwhile loops.  They are not fatal by accident, but better replace with\nordinal for loops.\n\nSee also: https://travis-ci.org/ruby/ruby/jobs/452218871#L3246\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/7cc97cfe092c43d9729412fde2e1aa54746f2307"},{"sha":"42274ff5860a41f180a356fec2efedf2f313a560","author":{"name":"k0kubun","email":"60bb38cecea039c85f36d4df1b74ca3cd7be6701@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"vm_core.h: conform C90\n\nhttps://travis-ci.org/ruby/ruby/jobs/452230859\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/42274ff5860a41f180a356fec2efedf2f313a560"},{"sha":"3483e6dad4f8e795c844d530153d75f29bbf4113","author":{"name":"shyouhei","email":"ed7cf6821a432264526a95c55b400eeab8710e50@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"hash.c: +(-1) is a wrong idea\n\nBefore this changeset RHASH_ARRAY_SIZE_DEC() was expaneded to include\nan expression like `RHASH_ARRAY_SIZE+(-1)`.  RHASH_ARRAY_SIZE is by\ndefinition unsigned int.  -1 is signed, of course.  Adding a signed\nand an unsigned value requires the \"usual arithmetic conversions\" (cf:\nISO/IEC 9899:1990 section 6.2.1.5).  -1 is converted to 0xFFFF by that.\n\nThis patch prevents that conversion.\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/3483e6dad4f8e795c844d530153d75f29bbf4113"},{"sha":"39725a4db6b121c7779b2b34f7da9d9339415a1c","author":{"name":"shyouhei","email":"ed7cf6821a432264526a95c55b400eeab8710e50@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"gc.c: avoid integer overflow at process exit\n\nThis is rather nitpicking but at the moment the process terminates,\nheap_pages_final_slots overflows.\n\n(lldb) bt\n* thread #1: tid = 0xc0903, 0x00000001002b3bf7 miniruby`finalize_list(objspace=0x0000000101c09240, zombie=4329149840) + 999 at gc.c:2946, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)\n  * frame #0: 0x00000001002b3bf7 miniruby`finalize_list(objspace=0x0000000101c09240, zombie=4329149840) + 999 at gc.c:2946\n    frame #1: 0x000000010026a69e miniruby`rb_objspace_call_finalizer(objspace=0x0000000101c09240) + 7118 at gc.c:3092\n    frame #2: 0x0000000100268ac5 miniruby`rb_gc_call_finalizer_at_exit + 149 at gc.c:3015\n    frame #3: 0x00000001002272bc miniruby`ruby_finalize_1 + 156 at eval.c:146\n    frame #4: 0x00000001002282b6 miniruby`ruby_cleanup(ex=0) + 4070 at eval.c:238\n    frame #5: 0x0000000100228785 miniruby`ruby_run_node(n=0x0000000102060ad8) + 85 at eval.c:317\n    frame #6: 0x0000000100000b9c miniruby`main(argc=2, argv=0x00007fff5fbfdc38) + 124 at main.c:42\n    frame #7: 0x00007fff9966a5ad libdyld.dylib`start + 1\n    frame #8: 0x00007fff9966a5ad libdyld.dylib`start + 1\n(lldb) p objspace->heap_pages\n(rb_objspace::(anonymous struct)) $0 = {\n  sorted = 0x0000000101c070b0\n  allocated_pages = 24\n  allocatable_pages = 0\n  sorted_length = 24\n  range = {\n    [0] = 0x0000000102020028\n    [1] = 0x00000001020dbfd0\n  }\n  freeable_pages = 0\n  final_slots = 0\n  deferred_final = 4329149840\n}\n(lldb)\n\n\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/39725a4db6b121c7779b2b34f7da9d9339415a1c"},{"sha":"e226772ab65187ffa394d081da6bfaf3f79c2ffa","author":{"name":"svn","email":"5bada6ad649e470d86f4ebdbd1d31d5a80390452@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"* expand tabs.\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/e226772ab65187ffa394d081da6bfaf3f79c2ffa"},{"sha":"e3cfb1f3ca9ab0ef4980e4e3cf983323da9a1846","author":{"name":"shyouhei","email":"ed7cf6821a432264526a95c55b400eeab8710e50@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"st.c: bin might be zero\n\nWhen EMPTY_OR_DELETED_BIN_P(bin) is true, it is a wrong idea to\nsubtract ENTRY_BASE from it.  Delay doing so until we are sure to be\nsafe.\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/e3cfb1f3ca9ab0ef4980e4e3cf983323da9a1846"},{"sha":"3cb6952f12335ce0a84d612cdbebbc358c430e81","author":{"name":"ko1","email":"7c603ddb31336b975100ce924ca69f4ad3ace368@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"fix passing wrong `passed_bmethod_me`.\n\n* vm_core.h: remove `rb_execution_context_t::passed_bmethod_me`\n  and fix functions to pass the `me` directly.\n  `passed_bmethod_me` was used to make bmethod (methods defined by\n  `defined_method`). `rb_vm_invoke_bmethod` invoke `Proc` with `me`\n  information as method frame (`lambda` frame, actually).\n  If the proc call is not bmethod call, `passed_bmethod_me` should\n  be NULL. However, there is a bug which passes wrong `me` for\n  normal block call.\n\n  http://ci.rvm.jp/results/trunk-asserts@silicon-docker/1449470\n\n  This is because wrong `me` was remained in `passed_bmethod_me`\n  (and used incorrectly it after collected by GC).\n\n  We need to clear `passed_bmethod_me` just after bmethod call,\n  but clearing is not enough.\n\n  To solve this issue, I removed `passed_bmethod_me` and pass `me`\n  information as a function parameter of `rb_vm_invoke_bmethod`,\n  `invoke_block_from_c_proc` and `invoke_iseq_block_from_c` in vm.c.\n\n* vm.c (invoke_iseq_block_from_c): the number of parameters is too\n  long so that I try to specify `ALWAYS_INLINE`.\n\n* vm.c (invoke_block_from_c_proc): ditto.\n\n* vm_insnhelper.c (vm_yield_with_cfunc): now there are no pathes\n  to use bmethod here.\n\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/3cb6952f12335ce0a84d612cdbebbc358c430e81"},{"sha":"38d8d071117e554279738db9df0686177423f5b1","author":{"name":"svn","email":"5bada6ad649e470d86f4ebdbd1d31d5a80390452@b2dd03c8-39d4-4d8f-98ff-823fe69b080e"},"message":"* expand tabs.\n\ngit-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e","distinct":false,"url":"https://api.github.com/repos/nobu/ruby/commits/38d8d071117e554279738db9df0686177423f5b1"}]}
{"actor":{"display_login":"nobu"}}