aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* move `rb_thread_t::method_missing_reason` to ec.ko12017-11-073-8/+8
| | | | | | | | * vm_core.h (rb_thread_t): move method_missing_reason to rb_execution_context_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove `rb_postponed_job_t::th`.ko12017-11-071-11/+9
| | | | | | | * vm_trace.c (rb_postponed_job_t): remove `th` field because it is not used. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rename because it doesn't receive `th`.ko12017-11-071-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* th->ec: rb_threadptr_reset_raised()ko12017-11-075-36/+36
| | | | | | | | | | | | | | * thread.c (rb_threadptr_reset_raised): rename to `rb_ec_reset_raised` and accepts `ec`. * vm_trace.c: the following functions accept `ec` instead of `th` * exec_hooks_body * exec_hooks_precheck * exec_hooks_unprotected * exec_hooks_protected git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2017-11-07svn2017-11-071-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* prepare local variables (th and vm).ko12017-11-071-8/+10
| | | | | | | | * vm_trace.c (rb_threadptr_exec_event_hooks_orig): prepare local variables `th` and `vm` instead of using rb_ec_... functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use `GET_EC()` directly.ko12017-11-061-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* move rb_thread_t::interrupt_flag and maskko12017-11-0613-111/+117
| | | | | | | | | | | | | | | | to rb_execution_context_t. * vm_core.h (rb_thread_t): move `rb_thread_t::interrupt_flag` and `rb_thread_t::interrupt_mask` to rb_execution_context_t. RUBY_VM_CHECK_INTS() accepts `ec` instead of `th`. * cont.c (rb_fiber_terminate): to propagate interrupt information, add new parameter `need_interrupt`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* show the location at intterruptedko12017-11-061-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* renmae ec::fiber to ec::fiber_ptr.ko12017-11-064-39/+34
| | | | | | | | * vm_core.h (rb_execution_context_t): renmae ec::fiber to ec::fiber_ptr make consistent with ec::thread_ptr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge RubyGems 2.7.1.hsbt2017-11-062-2/+6
| | | | | | * Fix `gem update --system` with RubyGems 2.7+. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enum.c: check argument firstnobu2017-11-053-8/+13
| | | | | | | * enum.c (enum_cycle_size): check an argument before the size of the receiver, if it is given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_lazy_enumerator.rb: test for [Bug #14082]nobu2017-11-051-0/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix size on Enumerable#cycle when the size is 0 [Bug #14082].marcandre2017-11-052-0/+8
| | | | | | Patch by Kenichi Kamiya git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lexer.rb: Ripper::Lexer::Statenobu2017-11-052-28/+14
| | | | | | | | | | * ext/ripper/lib/ripper/lexer.rb (Ripper::Lexer::State): wrapper of lex_state values. * parse.y (rb_parser_lex_state_name): return shared strings. lex state combinations are very restricted. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* runruby.rb: add -C/--chdir optionnobu2017-11-051-1/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2017-11-06svn2017-11-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Modify spell miss.kazu2017-11-051-1/+1
| | | | | | | | | Runing -> Running Author: TomoyukiNakagawa <nakagawa.tomoyuki@gmail.com> [Fix GH-1741] [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* runruby.rb: support run.gdb by --debugger optionnobu2017-11-051-11/+30
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "Introduce rb_code_range_t and replace YYLTYPE with it"mame2017-11-052-665/+794
| | | | | | | | | | r60655 changed the usage of bison by defining a customized YYLTYPE, which seemed to cause a random stall at rb_thread_terminate_all. Kazuki Tsujimoto investigated the issue and pointed out the commit that caused it. Thanks! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/win32ole/lib/win32ole.rb (metods): rescue WIN32OLEQueryInterfaceError.suke2017-11-052-5/+18
| | | | | | | test/win32ole/test_win32ole.rb: add test for WIN32OLE#methods git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/win32ole/test_win32ole_method.rb: remove redundant assertions.suke2017-11-051-2/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole_error.c: add WIN32OLEQueryInterfaceError.suke2017-11-054-4/+6
| | | | | | | | | | | | | | * ext/win32ole/win32ole_error.h: ditto. * ext/win32ole/win32ole.c(typeinfo_from_ole): raise WIN32OLEQueryInterfaceError in ole_methods. * ext/win32ole/win32ole_method.c(ole_methods_from_typeinfo): ditto. M ext/win32ole/win32ole.c M ext/win32ole/win32ole_error.c M ext/win32ole/win32ole_error.h M ext/win32ole/win32ole_method.c git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Workaround Travis CI issue by hardcoding localhosteregon2017-11-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Introduce rb_code_range_t and replace YYLTYPE with itmame2017-11-042-794/+665
| | | | | | | | | | | rb_code_range_t has two t_code_location_t, i.e., the first and last locations. This is used for YYLTYPE, tracked locations of bison, and will be also used for representing the "range", the first and the last locations of each NODE. Currently, each NODE keeps only the first location, though. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: fix duplicate symbolnobu2017-11-041-0/+2
| | | | | | | * parse.y (rb_strterm_mark): do not define in ripper to get rid of duplicate symbol with static-linked-ext. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2017-11-05svn2017-11-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Introduce `rb_code_location_t`mame2017-11-042-9/+13
| | | | | | | | `rb_code_location_t` has two integers, lineno and column, which point to one location on a code. Now `rb_code_location_t` is used instead of `VALUE nd_location`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: UNEXPECTED_NODEnobu2017-11-041-11/+10
| | | | | | * gc.c (UNEXPECTED_NODE): extract rb_bug for T_NODE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Avoid usage of the magic number `(NODE*)-1`mame2017-11-044-20/+23
| | | | | | | | | | | | | This magic number has two meanings depending upon the context: * "required keyword argument (no name)" on NODE_LASGN (`def foo(x:)`) * "rest argument (no name)" on NODE_MASGN and NODE_POSTARG ('a, b, * = ary` or `a, b, *, z = ary`) To show this intention explicitly, two macros are introduced: NODE_SPECIAL_REQUIRED_KEYWORD and NODE_SPECIAL_NO_NAME_REST. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (setup_args): Fix a typoyui-knk2017-11-041-1/+1
| | | | | | | | | * compile.c (setup_args): In this function, an argument of nd_line is argn except this line. And argn is a pointer of NODE. So I think this is a typo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (rb_free_tmp_buffer): stop accessing imemo_alloc as NODEmame2017-11-041-3/+3
| | | | | | | | | | | The fields of imemo_alloc were accessed via RNODE() cast, since the imemo was NODE_ALLOCA traditionally. This was refactored at r60239, so now the fields should be accessed as imemo_alloc. This prevented change of NODE structure. Yuichiro Kaneko pointed out this inconsistency. Thanks! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y (new_args_tail_gen): returns a NODE instead of imemomame2017-11-041-3/+5
| | | | | | | `new_args_tail_gen` returned imemo, but the value was later accessed as `NODE*`. This prevented change of NODE structure. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_io.rb (test_write_no_garbage): Add detailed messagemame2017-11-041-1/+1
| | | | | | | | I saw this test failed once. There is no problem if `before > after` but we cannot check it. To allow diagnosis in future, the detailed message is added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: suppress warning in rippernobu2017-11-041-0/+2
| | | | | | | * parse.y (rb_discard_node_gen): rb_discard_node() is not used in ripper right now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: suppress warningsnobu2017-11-041-11/+8
| | | | | | | | | | | * parse.y (parser_set_line): removed no longer used function. * parse.y (rb_strterm_heredoc_t): adjust type of sourceline to ruby_sourceline. * parse.y (rb_strterm_t): get rid of redefinition. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove RNODE cast from NODE utility functionsmame2017-11-043-13/+9
| | | | | | | | Now, casting NODE to VALUE is not recommended. This change requires an explicit cast from VALUE to NODE to use the NODE utility functions such as `nd_type`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Rename imemo_strterm to imemo_parser_strtermmame2017-11-044-16/+16
| | | | | | Per ko1's request. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/objspace/objspace.c: add imemo_strtermmame2017-11-041-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove NODE-related pieces of code from GCmame2017-11-043-187/+21
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Make Ripper use NODE buffermame2017-11-041-20/+27
| | | | | | | | | | | | | | This is a follow-up of r60488. Not only the Ruby parser but also Ripper now use NODE buffer instead of NODE objects managed by GC. Now we can change the struct of NODEs so that it can keep detailed location information, perhaps (not tried yet). Note that, however, the first word of each NODE must be still compatible with RBasic structure. This is because Ripper handles NODEs and other objects uniformly; especially, it still uses `RB_TYPE_P(obj, T_NODE)` for distinguishing between NODEs and other objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix the alignment bug of r60634 for LLP64mame2017-11-041-16/+31
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "Revert "Replace NODE_STRTERM and NODE_HEREDOC with imemo_strterm""mame2017-11-043-53/+86
| | | | | | Retry r60634 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: pull test case from upstream commit 62af0446569arhe2017-11-041-23/+14
| | | | | | | | | | The test case added by r60310 ("fix OpenSSL::SSL::SSLContext#min_version doesn't work", 2017-10-21) does not pass with OpenSSL >= 1.1.0 or LibreSSL >= 2.6.0. Check that the default 'min_version' value is properly enforced by actually attempting a handshake rather than by inspecting the SSL option flags. [ruby-core:83479] [Bug #14039] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "Replace NODE_STRTERM and NODE_HEREDOC with imemo_strterm"mame2017-11-043-86/+53
| | | | | | Due to build failure on mswin and mingw. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Replace NODE_STRTERM and NODE_HEREDOC with imemo_strtermmame2017-11-043-53/+86
| | | | | | | | | | | Just refactoring. NODE_STRTERM and NODE_HEREDOC are not an internal node of AST, but a temporary storage for managing termination of string literals and heredocs. Instead of NODE abuse, I want to use imemo for the storage in order to avoid (my) confusion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2017-11-04svn2017-11-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load from relative path to __FILE__nobu2017-11-041-1/+1
| | | | | | | | | * spec/ruby/library/pathname/empty_spec.rb: load spec_helper from relative path to `__FILE__` same as other spec files, instead of `__dir__` in which symlinks are resolved, to get rid of constant redefinition warning when `srcdir` contains symlinks. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix a typo [ci skip]kazu2017-11-031-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/lib/win32ole.rb :add WIN32OLE#methods. WIN32OLE might worksuke2017-11-031-0/+25
| | | | | | | well with did_you_mean gem. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e