summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-12delete tool/instruction.rb (2nd try)shyouhei
Previous commit changed insns.def format. Now is the time for its generators. In doing so I chose to modernize the system, not just patch. My attempt includes - extensive use of Onigumo regular expressions - split from one big file (instruction.rb) into separated MVC - partial view Also, let me take this opportunity to kill old unused features such as - stack caching - minsns / yasmdata which are never seriously used - yarvarch document generation (moved to doc/) - vast majority of unused arguments to insns2vm.rb This commit generates VM source codes that cleanly compile, and the generated binary passes tests. At least for me. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12[ci skip] add comments about file format (2nd try)shyouhei
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12new insns.def format (2nd try)shyouhei
- Gave up @j comments - Room for sp_inc to be a proper grammer element git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12Add `103 Early Hints` to `Net::HTTP::STATUS_CODES` [ci skip]kazu
Update by `ruby lib/net/http/status.rb | sponge lib/net/http/status.rb` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12doc/NEWS-2.5.0: `step` is not `Integer#step` but `Numeric#step` [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-12thread.c (thread_cleanup_func): document small leaknormal
It's minor, I haven't analyzed how fixable it is, but we should at least note it, here. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11fix for IPv6 envnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11NEWS: Matrix#antisymmetric?stomar
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11matrix.rb: add Matrix#antisymmetric?stomar
* lib/matrix.rb: add Matrix#antisymmetric?. Proposed by Yilo (@yiloo). Patch by Marcus Stollsteimer (@stomar). [Fix GH-1788] * spec/ruby/library/matrix/antisymmetric_spec.rb: add specs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11Mock fetching data from real DNS [Feature #14340]naruse
This test just tests MDNS#each_address method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11* 2018-01-12svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11parse.y: Remove LEXPOP hackmame
cmdarg_stack became inconsistent state due to look-ahead, and LEXPOP hack smoothed over the inconsistency. This commit fixes the inconsisitent state itself, and removes LEXPOP hack. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11Fix a typo [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11Fix indent and use as skipped message instead of commentkazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11parse.y: disentangle the lexer handling of ')', ']', and '}'mame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11parse.y: simplify and add a comment for paren_nest and lpar_begmame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11iseq.c: child iseq encodingnobu
* iseq.c (iseq_inspect): preserve the encoding of child iseqs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11vm_insnhelper.c: search in the indexing ordernobu
* vm_insnhelper.c (vm_opt_newarray_max, vm_opt_newarray_min): search in the indexing order, as well as usual methods. [ruby-core:84821] [Bug #14350] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11parse.y: add a simple comment for COND_* and CMDARG_*mame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-11parse.y (local_push_gen): Rewrite the condition of "unused var" warningmame
It was unnecessarily too complex, IMO. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10* 2018-01-11svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10tool/downloader.rb: retry against Errno::ETIMEDOUTk0kubun
instead of Errno::ECONNREFUSED. As I commented in r61498, at that moment I was not sure if the actual exception is really `Errno::ECONNREFUSED` or not. In https://ci.appveyor.com/project/ruby/ruby/build/1.0.6974, I could confirm that the download can fail with `Errno::ETIMEDOUT`. So I want to retry that. Let's add `Errno::ECONNREFUSED` too if it fails with the exception. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10Fix typos.hsbt
* doc/contributors.rdoc: pathces -> patches. * doc/syntax/refinements.rdoc: exmaple -> example. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10spec/: skip some specs so that no failure occurs in root privilegemame
Follow up of r61757, This change makes `sudo make test-spec` pass on my machine. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10spec/ruby/library/etc/getlogin_spec.rb: Use `logname` as an expected resultmame
It had used `id -un`, but it is not always equal to `Etc.getlogin`. `id` returns the current user of the process, and `Etc.getlogin` returns the user name logged in on the controlling terminal of the process. This change uses `logname` by default. `id` remains as a fallback since there seem to be some platforms where `logname` is not available: https://github.com/ruby/spec/commit/49576b417ca3704cfb8271d2545c06c076c10cbc git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10skip some tests so that no failure occurs in root privilegemame
Some tests had failed on `sudo make test-all`, mainly because root can access any files regardless of permission. This change adds `skip` guards into such tests. Note that almost all tests in which `skip` guards is added, already have "windows" guard. This is because there is no support to avoid read access by owner on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10iseq.c: Succinct bitvector now supports 32-bit machinemame
Second try of succinct bitvector. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10should cause preprocess error as other casesusa
* string.c (NONASCII_MASK): should cause preprocess error immediately if the compiler does not satisfy our assumptions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10merge revisions 61753:61750 61747:61740 61737:61728shyouhei
Revert all the VM generator rewrites; requested by naruse git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10dir.c: pass flags to openat(2) correctlynormal
Flags are 3rd argument of openat(2) while the 4th argument (mode_t) is unnecessary for our uses. This bug exists since Ruby 2.5 from r58860 and was discoverd by strace. * dir.c (nogvl_opendir_at): use openat correctly [Feature #13056] [Feature #14346] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10Fixed typos.hsbt
* tool/ruby_vm/loaders/opt_operand_def.rb: grammer -> grammar * tool/ruby_vm/scripts/insns2vm.rb: beginnig -> beginning git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-10Fix a typo [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09thread_pthread.c: remove dead code around "get_stack_of"normal
"get_stack_of" was only in a proposed patch for [Feature #8793] https://bugs.ruby-lang.org/issues/8793 and never applied. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09thread.c: threadptr_pending_interrupt_active_p is staticnormal
It's not used elsewhere. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09use binary search for insns_info.ko1
* vm_core.h (VM_INSN_INFO_TABLE_IMPL): use 1 (binary search) because 2 (succinct bitvector) doesn't work on Rasbian (x86_64). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09`signed` is required for Rasbian (x86_64).ko1
* tool/ruby_vm/views/_insn_stack_increase.erb: specify `signed` explicitly for systems which use `unsigned` for `char` type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09grep_v is ruby 2.3 featurenaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09* 2018-01-10svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09Here document <<~ is Ruby 2.3 featurenaruse
baseruby should support wider ruby versions git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09iseq.c: Add explicit casts from long to int (to pass compile on clang)mame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09iseq.c: Add a succinct bitvector implementation for insn_info_tablemame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09iseq.c (iseq_data_to_ary): Avoid direct use of insns_info.positionsmame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09insns_info.inc.tmpl: share large tableseshyouhei
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09insns_info.inc: position independentshyouhei
* template/insns_info.inc.tmpl (insn_name_info): make position independent for large strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e