53469 Commits

Author SHA1 Message Date
naruse
8b14bd4e14 Should be true fix for r66200
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 12:35:00 +00:00
ko1
d3aad15922 Return same ISeq object for one src.
* iseq.c: before this patch, RubyVM::InstructionSequence.of(src) (ISeq in
  short) returns different ISeq (wrapper) objects point to one ISeq internal
  object. This patch changes this behavior to cache created ISeq (wrapper)
  objects and return same ISeq object for an internal ISeq object.

* iseq.h (ISEQ_EXECUTABLE_P): introduced to check executable ISeq objects.

* iseq.h (ISEQ_COMPILE_DATA_ALLOC): reordr setting flag line to avoid
  ISEQ_USE_COMPILE_DATA but compiled_data == NULL case.

* vm_core.h (rb_iseq_t): introduce `rb_iseq_t::wrapper` and
  `rb_iseq_t::aux::exec`.  Move `rb_iseq_t::local_hooks` to
  `rb_iseq_t::aux::exec::local_hooks`.

* test/ruby/test_iseq.rb: add ISeq.of() tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 10:52:27 +00:00
naruse
e39a83a150 suppress warning: unused variable 'vbits'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 10:42:35 +00:00
normal
0d4ba7b58d io.c (io_fflush): eliminate redundant rb_io_check_closed
There is no need to call this function twice in a row since
thread switching won't happen in-between calls to it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 10:41:07 +00:00
normal
aa6dfe7103 NEWS: fix typo (maesured => measured) [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 10:09:35 +00:00
normal
48324dd4db io.c (io_write_nonblock): add RB_GC_GUARD, io_fflush may switch threads
Since io_fflush may block on mutex or rb_io_wait_readable and
switch threads, we need to ensure the `str' VALUE returned by
`rb_obj_as_string` is visible to GC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 10:09:30 +00:00
naruse
956d35e2d0 refix of r66200
Though internal.h has the prototype, it still shows symbol lookup error...
https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-trunk/log/20181206T050002Z.fail.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 10:02:04 +00:00
duerst
9d17024095 remove an unused variable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 09:54:09 +00:00
duerst
c114e275c9 make sure all nodes are freed on error in node_extended_grapheme_cluster()
regparse.c: In function node_extended_grapheme_cluster(), use function-global
array node_common and use it for list and alternate construction. This is done
so that in case of error, all nodes that have already been constructed can be
correctly freed in a single for loop. Document the layout structure.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 09:16:43 +00:00
nobu
98e65d9d92 Prefer rb_check_arity when 0 or 1 arguments
Especially over checking argc then calling rb_scan_args just to
raise an ArgumentError.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 07:49:24 +00:00
mame
0cd28199e5 load.c (RubyVM.resolve_feature_path): New method. [Feature #15230]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 06:40:54 +00:00
nobu
98ff2bbd7a Show diff in failure messages
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 05:29:07 +00:00
nobu
8a52020f95 Add separator for test/-ext-
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 05:29:04 +00:00
duerst
456a696f72 remove code duplication and streamline identifiers
In regparse.c:

* Reduce coode duplication by merging the almost identical functions
  create_sequence_node and create_alternate_node into a new function
  create_node_from_array, adding a parameter that distinguishes  between
  creating a list and creating an alternative.

* Streamline variable/function naming. Unicode UAX #29 uses 'sequence', but
  the regular expression library uses 'list' for the same concept. Keep
  'sequence' in the ccmments that are taken from UAX #29, but use 'list'
  in variable names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 04:46:57 +00:00
naruse
ce37214a45 fix r66200 again
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 02:57:04 +00:00
duerst
e824e21beb remove obsolete data from unicode.c
* unicode.c: Remove the arrays onigenc_unicode_GCB_ranges_GAZ,
  onigenc_unicode_GCB_ranges_E_Base, and onigenc_unicode_GCB_ranges_Emoji,
  because they are not needed anymore for Unicode 11.0.0.

* regparse.c: Remove external declarations for above arrays.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 00:05:08 +00:00
normal
7eb5775f4e Revert "fix typoe of r66200"
This reverts r66229 (commit e941daa6dd114b52356a63d3c3db5684e6c66717)

Many CI failures on this:
http://ci.rvm.jp/results/trunk-jemalloc@silicon-docker/1497858

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 19:01:29 +00:00
normal
818f1c65ab thread_sync.c (mutex_ptr): handle mutexes held by parent threads in children
Mutexes may be held by threads which only exist in the parent
process, so their waitqueues may be populated with references
to other dead threads.  We must reset them at fork.

I am a moron for introducing this bug :<

[ruby-core:90312] [Bug #15383]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 18:58:45 +00:00
naruse
e941daa6dd fix typoe of r66200
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 18:37:47 +00:00
ko1
eb79191f16 Introduce "COLDFUNC" function attribute.
* include/ruby/defines.h: introduce "COLDFUNC" function attribute
  on several compilers for called unlikely functions.
  Apply to rb_memerror, rb_warn and rb_bug.

  A patch form  methodmissing <lourens@bearmetal.eu>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 17:23:32 +00:00
svn
756914e57e * 2018-12-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 16:15:13 +00:00
ko1
3e1f06da5d fix C90 error.
* configure.ac (check broken_backtrace code): fix decl. position
  error because of `-Werror=declaration-after-statement`.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 16:15:09 +00:00
mrkn
5fa8b95d5f NEWS: update about bigdecimal [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 11:30:26 +00:00
svn
10492c2b2f * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 11:30:26 +00:00
mrkn
2810c12a99 Import bigdecimal 1.4.0.pre.20181205a
* https://github.com/ruby/bigdecimal/compare/74d25ef..v1.4.0.pre.20181205a

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 11:30:24 +00:00
svn
ae88d2fc93 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 11:29:57 +00:00
hsbt
f62c3847b5 Revert "Remove libexec/bundle_ruby"
This reverts commit 3f708604920f2fd7a105d5f092240737add15ef1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 11:29:56 +00:00
kazu
3f70860492 Remove libexec/bundle_ruby
see r65979
[Bug #15291][ruby-dev:50663]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 11:20:29 +00:00
duerst
6cf3ada55c remove unused variables in node_extended_grapheme_cluster()
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 10:40:17 +00:00
duerst
6e97c12e49 tweak/remove comments [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 10:11:57 +00:00
duerst
433410a00f add update to Unicode 11.0.0 to NEWS [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 10:06:47 +00:00
kazu
1eba8ecb66 lib/monitor.rb: prevent to initialize MonitorMixin twice
and allow to initialize again when obj.dup.

Suggested by Benoit Daloze.  [ruby-core:88504] [Feature #15000]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 09:07:54 +00:00
duerst
3913092624 adjust some comments in node_extended_grapheme_cluster() [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 09:00:40 +00:00
duerst
66a6073859 update to Unicode 11.0.0 (main step, not complete yet)
- common.mk: Change Unicode version to 11.0.0, and Emoji version to 11.0
- test/ruby/enc/test_emoji_breaks.rb: update hard-coded Emoji version
- enc/unicode/11.0.0, enc/unicode/11.0.0/casefold.h, enc/unicode/name2ctype.h:
  Add generated files. Files for Unicode 10.0.0 will be removed once we are
  sure 11.0.0 works.
- lib/unicode_normalize/tables.rb: Updated table.
- regparse.c: Almost completely reimplement grapheme cluster detection in
  function node_extended_grapheme_cluster().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 08:10:24 +00:00
nobu
78be4478d1 implement Array-specific #all?, #none?, #one?
Before this patch Array#all? was not implemented in Array class
and alternatively Enumerable#all? was used, while #any? has its
own method entry in Array class.  Similarly, Array#none? and #one?
also lacks its own implementation.
This patch provides Array-specific implementations for above three
methods to enable faster method lookup.

[Fix GH-2041]

From: Koji Onishi <fursich0@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 04:25:44 +00:00
svn
7841cb1ef1 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 04:01:55 +00:00
mrkn
f15cf0918a Revert bigdecimal 1.4.0 related commits
* Revert "Remove unnecessary linker flags"

  This reverts commit 49efa01579272d52d28bd361c498d96ca92e986e.

* Revert "Move dependency on gemspec"

  This reverts commit bfb64d476578eadd61a738149726da37840f068d.

* Revert "Remove unnecessary directory listing"

  This reverts commit 86661b5c60b8da6e5641c9c772b57857a1f988f4.

* Revert "* expand tabs."

  This reverts commit 35ada33f8386b56611f10b1a0a4e5667e9b08071.

* Revert "Import bigdecimal-1.4.0.pre-20181204a"

  This reverts commit 8891bb3bd602bdbabd24260cf1e431475dc027c8.

* Revert "ext/bigdecimal/bigdecimal.c: drop unused function"

  This reverts commit 5ceeea4da1179193c2c7ddcebfd67019128473e3.

* Revert "* expand tabs."

  This reverts commit e021386e905b6d6799a84dfbc2f0592e42626366.

* Revert "Import bigdecimal-1.4.0.pre-20181130a"

  This reverts commit a0e438cd3c28d2eaf4efa18243d5b6edafa14d88.

* Revert "NEWS: write about bigdecimal updates"

  This reverts commit 89455ff2ba973f2a9ee7b79657e0e6f1f31501f9.

* Revert "Fix rubyspec of bigdecimal for ruby <2.6"

  This reverts commit 4bcdeeb65e57de4da306d347652898c767162e74.

* Revert "Fix rubyspec against bigdecimal updates"

  This reverts commit c8fb30fc9e0ee14e87be1e231869a12aaef1eedf.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 04:01:53 +00:00
hsbt
846f4205e7 Update the latest bundled gems.
test-unit-3.2.8 to 3.2.9

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 01:41:53 +00:00
nobu
8748fe7cf0 Fix documentation for Warning.warn [ci skip]
Warning.warn does not add any newlines to the message argument.
[Bug #15379]

From: Olle Jonsson <olle.jonsson@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 01:19:23 +00:00
nobu
e7fad40cf2 Build error method name at failure
So `struct nmin_data` size is reduced.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 01:11:32 +00:00
nobu
36f05c80b6 Adjust indent [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 01:11:31 +00:00
nobu
09ef29a78f Prefer rb_check_arity when 0 or 1 arguments
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 01:09:44 +00:00
hsbt
cfa6c55347 Merge 2-0-stable branch from bundler/bundler.
It's release version of Bundler 2

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 23:33:29 +00:00
normal
76d9da900a mjit.c: remove init_list
It is not needed since we have LIST_HEAD_INIT initializer in
mjit_worker.c

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 23:10:17 +00:00
odaira
d612c44dad Enable MJIT on AIX
* configure.ac: disable using __builtin_setjmp to avoid errors when execution
  globally jumps out of JITted code. Specify -std=gnu99 to JIT compilation
  to avoid errors regarding the "restrict" keyword in the precompiled header.
  Specify -shared in addition to -Wl,-G when building shared libraries
  to make mjit_build_dir.so expose the MJIT_BUILD_DIR symbol.  Use LDR_PRELOAD
  to load mjit_build_dir.so.

* mjit_worker.c: do not specify -nodefaultlibs or -nostdlibs because on AIX
  JITted code internally refers to the memcpy function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 22:19:09 +00:00
svn
2dd614af67 * 2018-12-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 18:48:47 +00:00
naruse
d987e1e2e6 Add prototype of rb_ary_ptr_use_start()
Without this icc fails to run.
http://rubyci.s3.amazonaws.com/icc-x64/ruby-trunk/log/20181203T130002Z.diff.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 18:48:44 +00:00
k0kubun
f984a40e23 .travis.yml: config_2nd may not exist in ~/
https://travis-ci.org/ruby/ruby/jobs/463317607

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 13:15:24 +00:00
hsbt
631086b784 Merge upstream from ruby/psych
* https://github.com/ruby/psych/pull/379

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 12:24:12 +00:00
k0kubun
70a385a4f6 Re-commit r65722
which was accidentally reverted by r65904

158562dabb197d6efc53cabe6662177c6ec3f43e

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 11:45:05 +00:00