Commit graph

58294 commits

Author SHA1 Message Date
Aaron Patterson
058db33c5e
Move empty pages to the tomb
I think we need to be moving empty pages to the tomb after they become
empty.
2019-10-07 12:10:24 -07:00
Aaron Patterson
0a2f04e156
Eliminate second GC pass for eliminating T_MOVED
`T_MOVED` is a linked list, so we can just iterate through the `T_MOVED`
objects, clearing them out and adding them to respective free lists.
2019-10-07 10:57:30 -07:00
git
d8b6f58502 * 2019-10-08 [ci skip] 2019-10-08 00:00:54 +09:00
Kazuhiro NISHIYAMA
7abb02771a
Fix typo [ci skip]
pointed out by ruby-trunk-changes
2019-10-08 00:00:24 +09:00
Jeremy Evans
468184a996 Allow ruby2_keywords to be used with bmethods
There are libraries that use define_method with argument splats
where they would like to pass keywords through the method. To
more easily allow such libraries to use ruby2_keywords to handle
backwards compatibility, it is necessary for ruby2_keywords to
support bmethods.
2019-10-07 07:37:12 -07:00
Kazuhiro NISHIYAMA
3374e1450c
Write yaml and json under destdir and print to stdout 2019-10-07 19:33:33 +09:00
Kazuhiro NISHIYAMA
96753e8475
Create info.yml and info.json
- `info.yml` is for ruby/www.ruby-lang.org/_data/releases.yml
- `info.json` is meta data for users of snapshot
2019-10-07 19:05:42 +09:00
Kazuhiro NISHIYAMA
bb86611c9b
Remove -s3 option
It will not use in `ruby/actions`, and `default=tmp` is not correct.
2019-10-07 19:03:06 +09:00
aycabta
f4252f6496 Version 0.0.3 2019-10-07 16:14:03 +09:00
Prajjwal Singh
c8542ab484 Add: Array#intersection method 2019-10-07 15:59:12 +09:00
git
d4ec37f69e * 2019-10-07 [ci skip] 2019-10-07 14:16:12 +09:00
aycabta
a9e9cd2036 Flush console just after printing 2019-10-07 14:15:05 +09:00
aycabta
136116819e Use built-in Win32API on JRuby
It's fixed for JRuby dedicatedly.
2019-10-07 14:15:05 +09:00
aycabta
309f6a7726 Swap expected and actual correctly 2019-10-07 14:15:05 +09:00
Koichi Sasada
ddf5020e4f Revert "tailcall optimization again (#2528)"
This reverts commit f62f90367f.
2019-10-06 17:01:00 +09:00
wanabe
f62f90367f tailcall optimization again (#2528)
This is follow up of r67315.
2019-10-06 16:52:09 +09:00
Yusuke Endoh
6525d3bcc7 test/dtrace/helper.rb: Etc.getgrnam may return nil on some platforms 2019-10-06 15:23:00 +09:00
git
2ca353c2e0 * 2019-10-06 [ci skip] 2019-10-06 11:49:27 +09:00
Yusuke Endoh
2409667aa2 time.c: Fix some bugs about WIDEVALUE
WIDEVALUE differs from VALUE in 32bit platform, but some codes assume
that they are the same.

There is `#define STRUCT_WIDEVAL` mode to check the consistency.
This change allows to build with STRUCT_WIDEVAL.
2019-10-06 11:39:01 +09:00
Yusuke Endoh
06a04a1aa3 ext/openssl/ossl_ssl.c: Use const declaration if LibreSSL >= 2.8.0
to suppress a warning in OpenBSD.

```
ossl_ssl.c:938:31: warning: incompatible pointer types passing 'SSL_SESSION *(SSL *, unsigned char *, int, int *)' (aka 'struct ssl_session_st *(struct ssl_st *, unsigned char *, int, int *)') to parameter of type 'SSL_SESSION *(*)(struct ssl_st *, const unsigned char *, int, int *)' (aka 'struct ssl_session_st *(*)(struct ssl_st *, const unsigned char *, int, int *)') [-Wincompatible-pointer-types]
        SSL_CTX_sess_set_get_cb(ctx, ossl_sslctx_session_get_cb);
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/ssl.h:738:20: note: passing argument to parameter 'get_session_cb' here
    SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl,
                   ^
1 warning generated.
```
2019-10-05 19:08:23 +09:00
Yusuke Endoh
96452373fd ext/json/parser/prereq.mk: use if $. == 1 instead of a hacky code 2019-10-05 18:28:19 +09:00
Yusuke Endoh
70e3fda2eb ext/json/parser/prereq.mk: keep line numbers of ext/json/parser/parser.c
Follow up of 5717e55e9a.
Adding a header with newline broke linenos.
2019-10-05 17:54:36 +09:00
Nobuyoshi Nakada
3e3cc0885a
Now keyword parameter warnings are suppressed by 871005bdd2
This reverts commits:

* 2a490d5660
  Suppress assert_match warnings.

* d4a86e407e
  Assert warnings message for the last argument is keyword parameter.
2019-10-05 11:30:05 +09:00
Nobuyoshi Nakada
212da9a6ae
Added dependencies on prerequisite makefiles 2019-10-05 11:04:23 +09:00
Nobuyoshi Nakada
6dfe0c9dcd
[rubygems/rubygems] The date might have advanced since TODAY has been set
https://bugs.ruby-lang.org/issues/16189

e331222163
2019-10-05 10:50:02 +09:00
bronzdoc
7d4ab8bbe7
[rubygems/rubygems] Use dependency.identity in available_specs
bde88f00a1
2019-10-05 10:50:02 +09:00
bronzdoc
b659c1b92f
[rubygems/rubygems] Add Gem::Dependency#identity method
05146bb2fd
2019-10-05 10:50:02 +09:00
Nobuyoshi Nakada
871005bdd2
[rubygems/rubygems] Suppress keywords warning in ruby 2.7
892bfc11fe
2019-10-05 10:50:02 +09:00
Nobuyoshi Nakada
caa9d0bd78
[rubygems/rubygems] Always pass an encoding option to Zlib::GzipReader.wrap
The arity of this method has been -1 since the import, so the
option has been passed always, even if Zlib::GzipReader#initialize
does not take the option.  Actually it takes the option since 1.9.

2fcde0f4e0
2019-10-05 10:50:01 +09:00
Nobuyoshi Nakada
39e8d5e1cd
[rubygems/rubygems] Use dedicated assertion methods
For better messages at failures.

971455b16e
2019-10-05 10:50:01 +09:00
Nobuyoshi Nakada
f8104d9e9f
[rubygems/rubygems] Fixed assertion arguments
It is `assert_eqal(expected, actual)`.

1d6197a090
2019-10-05 10:50:01 +09:00
Yusuke Endoh
170d154059 signal.c: Use MINSIGSTKSZ by casting to int
MINSIGSTKSZ is unsigned int in OpenBSD, which makes a warning of
comparison:

```
signal.c:535:14: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
    if (size < MINSIGSTKSZ)
        ~~~~ ^ ~~~~~~~~~~~
1 warning generated.
```
20191004T200009Z.log.html.gz
2019-10-05 07:37:19 +09:00
Yusuke Endoh
417c64b9a8 ext/json/parser/parser.rl: Use "signed" char to contain negative values
char is not always signed.  In fact, it is unsigned in arm.

20191004T181708Z.log.html.gz
```
compiling parser.c
parser.rl: In function ‘unescape_unicode’:
parser.rl:50:5: warning: comparison is always false due to limited range of data type [-Wtype-limits]
     if (b < 0) return UNI_REPLACEMENT_CHAR;
     ^
```
2019-10-05 07:00:57 +09:00
Yusuke Endoh
5717e55e9a ext/json/parser/prereq.mk: Add a "automatically generated" header
to parser.c.
2019-10-05 07:00:07 +09:00
Yusuke Endoh
076d3d758b ext/json/parser/parser.rl: Update the source code of parser.c
There have been some direct changes in parser.c which is automatically
generated from parser.rl.  This updates parser.rl to sync the changes:

* 91793b8967
* 79ead821dd
* 80b5a0ff2a
2019-10-05 06:34:40 +09:00
Aaron Patterson
bd4b65f4b0
IMEMO objects don't have a class, so return early
IMEMO objects don't have a class field to update, so we need to return
early, otherwise it can cause a segv.
2019-10-04 12:02:41 -07:00
Aaron Patterson
a20ed0565e
Don't allocate objects in gc_compact
I'd like to call `gc_compact` after major GC, but before the GC
finishes.  This means we can't allocate any objects inside `gc_compact`.
So in this commit I'm just pulling the compaction statistics allocation
outside the `gc_compact` function so we can safely call it.
2019-10-04 11:11:59 -07:00
git
cbf88064f5 * 2019-10-05 [ci skip] 2019-10-05 03:07:31 +09:00
Nobuyoshi Nakada
cbbe198c89
Fix potential memory leaks by rb_imemo_tmpbuf_auto_free_pointer
This function has been used wrongly always at first, "allocate a
buffer then wrap it with tmpbuf".  This order can cause a memory
leak, as tmpbuf creation also can raise a NoMemoryError exception.
The right order is "create a tmpbuf then allocate&wrap a buffer".
So the argument of this function is rather harmful than just
useless.

TODO:
* Rename this function to more proper name, as it is not used
  "temporary" (function local) purpose.
* Allocate and wrap at once safely, like `ALLOCV`.
2019-10-05 03:02:09 +09:00
Yusuke Endoh
c8a18e25c1 iseq.c (rb_iseq_compile_on_base): Removed
ko1 cannot remember why he introduced the function.  And it is not used.

After it is removed, the argument "base_block" of
rb_iseq_compile_with_option is always zero.
2019-10-04 21:30:32 +09:00
Yusuke Endoh
113bef6976 array.c (rb_mem_clear): remove "register" from arguments
to suppress the following warning:

```
compiling cxxanyargs.cpp
In file included from cxxanyargs.cpp:1:
In file included from ../../.././include/ruby/ruby.h:2150:
../../.././include/ruby/intern.h:56:19: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
void rb_mem_clear(register VALUE*, register long);
                  ^~~~~~~~~
../../.././include/ruby/intern.h:56:36: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
void rb_mem_clear(register VALUE*, register long);
                                   ^~~~~~~~~
```
2019-10-04 16:07:46 +09:00
Alan Wu
5be2af5f90 Remove call-seq for method that doesn't exist (#2521)
```
$ ruby -ve 'IO.popen("ls"){}; $?.to_int'
ruby 2.6.4p104 (2019-08-28 revision 67798) [x86_64-darwin18]
Traceback (most recent call last):
-e:1:in `<main>': undefined method `to_int' for #<Process::Status: pid 33989 SIGPIPE (signal 13)> (NoMethodError)
Did you mean?  to_i
               taint
```

Process::Status#to_int was removed at 7ba5c4e.
2019-10-04 10:15:24 +09:00
Takashi Kokubun
7db83b04d0
Revert "Simplify bin_path_spec.rb guard"
This reverts commit a56d742e69.

I was checking the CI result of the wrong revision. It actually worked
fine 27866303. Never
mind...
2019-10-03 15:58:20 -07:00
Takashi Kokubun
a56d742e69
Simplify bin_path_spec.rb guard
For some reason the guard_not seems not working as expected
27866153/job/v6wa6q6p7b7n7r37
2019-10-03 15:33:11 -07:00
Takashi Kokubun
ac69a051cf
Ignore arm32 failure for now 2019-10-03 15:15:05 -07:00
Takashi Kokubun
182336ccb5
bin_path_spec.rb has failed from the beginning
for mswin. This spec is not valid for mswin platform.
27748774/job/85khngfpc806m5lj
2019-10-03 14:25:45 -07:00
Takashi Kokubun
804672e7b4
Try disabling build on trunk 2019-10-03 14:17:36 -07:00
Jeremy Evans
9f24e8fdbb Document *_kw functions added to include/ruby/ruby.h [ci skip]
Also documents the non-*_kw functions if they were not already
documented.
2019-10-03 14:13:27 -07:00
Jeremy Evans
c7715a4936 Add documentation regarding keyword argument separation [ci skip] 2019-10-03 14:13:27 -07:00
Jeremy Evans
12e27a411c Minor updates to methods and calling_methods documentation [ci skip] 2019-10-03 14:13:27 -07:00