Jeremy Evans
dd2068ac8d
Add rb_adjust_argv_kw_splat to internal.h
...
We are calling this in a few other files, it is better to have it
in a header than adding prototypes to the other files.
2019-09-26 15:30:51 -07:00
George Claghorn
31339ef4f2
Honor Syslog::Logger#level overrides
2019-09-26 15:01:44 -07:00
Aaron Patterson
f5e8d33761
Fix clang errors when pendantic errors enabled
...
I've been compiling with:
```
set -lx cflags '-std=c99 -Werror=pedantic -pedantic-errors'
```
But compilation would fail with the following:
```
cont.c:296:90: error: format specifies type 'void *' but the argument has type 'struct fiber_pool_stack *' [-Werror,-Wformat-pedantic]
if (DEBUG) fprintf(stderr, "fiber_pool_stack_alloca(%p): %"PRIuSIZE"/%"PRIuSIZE"\n", stack, offset, stack->available);
~~ ^~~~~
cont.c:467:24: error: format specifies type 'void *' but the argument has type 'struct fiber_pool *' [-Werror,-Wformat-pedantic]
count, fiber_pool, fiber_pool->used, fiber_pool->count, size, fiber_pool->vm_stack_size);
^~~~~~~~~~
cont.c:588:83: error: format specifies type 'void *' but the argument has type 'struct fiber_pool_vacancy *' [-Werror,-Wformat-pedantic]
if (DEBUG) fprintf(stderr, "fiber_pool_stack_acquire: %p used=%"PRIuSIZE"\n", fiber_pool->vacancies, fiber_pool->used);
~~ ^~~~~~~~~~~~~~~~~~~~~
cont.c:736:76: error: format specifies type 'void *' but the argument has type 'rb_fiber_t *' (aka 'struct rb_fiber_struct *')
[-Werror,-Wformat-pedantic]
if (DEBUG) fprintf(stderr, "fiber_stack_release: %p, stack.base=%p\n", fiber, fiber->stack.base);
```
This commit just fixes the pedantic errors
2019-09-26 14:58:11 -07:00
Aaron Patterson
4808afb360
Replace `freeze_string` with `rb_fstring`
2019-09-26 13:56:42 -07:00
Aaron Patterson
0846d48853
Remove `iseq_add_mark_object_compile_time`
...
This function is just a synonym for RB_OBJ_WRITTEN, so we can just
directly call that.
2019-09-26 13:56:42 -07:00
Aaron Patterson
9b6460cacc
Remove mark array
...
We don't use this array anymore so we can remove it
2019-09-26 13:56:42 -07:00
Aaron Patterson
e197d9ca71
Execute write barrier instead of adding to array
...
We can mark everything via the instruction objects, so just execute the
write barrier instead of appending to the array
2019-09-26 13:56:41 -07:00
Aaron Patterson
98d7583bfc
Pull `iseq_add_mark_object_compile_time` out of `freeze_string`
...
`freeze_string` essentially called iseq_add_mark_object_compile_time. I
need to know where all writes occur on the `rb_iseq_t`, so this commit
separates the function calls so we can add write barriers in the right
place.
2019-09-26 13:56:41 -07:00
Aaron Patterson
f639e04699
Pull "mark object" up
...
Move the "add mark object" function to the location where we should be
calling RB_OBJ_WRITTEN. I'm going to add verification code next so we
can make sure the objects we're adding to the array are also reachable
from the mark function.
2019-09-26 13:56:41 -07:00
Aaron Patterson
50fadefb7e
Scan the ISEQ arena for markables and mark them
...
This commit scans the ISEQ arena for objects that can be marked and
marks them. This should make the mark array unnecessary.
2019-09-26 13:56:41 -07:00
Aaron Patterson
a618d64086
Allocate `INSN *` out of a separate arena
2019-09-26 13:56:41 -07:00
Aaron Patterson
3cd8f76f7f
Introduce a secondary arena
...
We'll scan the secondary arena during GC mark. So, we should only
allocate "markable" instruction linked list nodes out of the secondary
arena.
2019-09-26 13:56:41 -07:00
Aaron Patterson
bd017c633d
Extract allocation and free functions
...
Now we can allocate and free a secondary arena.
2019-09-26 13:56:41 -07:00
Aaron Patterson
451776f13d
Pass in arena to allocator
...
This is so we can configure a new arena later
2019-09-26 13:56:41 -07:00
Nobuyoshi Nakada
dd1e047fcb
NEWS: fixed markups and indent [ci skip]
...
C API updates:
* adjusted indent.
* marked up ANYARGS as RDoc.
2019-09-27 02:31:39 +09:00
Nobuyoshi Nakada
81191afe8a
Kernel#open may be redefined
2019-09-27 01:13:10 +09:00
Nobuyoshi Nakada
617fa3049a
NEWS: fixed markups and formatting [ci skip]
...
* got rid of inadvertent label lists.
* marked up resolve_feature_path method names.
* fixed indentation of UnboundMethod#bind_call and marked up as
RDoc.
2019-09-27 00:48:48 +09:00
Nobuyoshi Nakada
876c5fe1b2
Check the argument size
...
Ensure that argument array size does not overflow as `int`, before
cast in thread_do_start after new thread created.
2019-09-27 00:38:12 +09:00
git
3b9cdc59ce
* 2019-09-27 [ci skip]
2019-09-27 00:02:18 +09:00
Jeremy Evans
9556342838
Fix shorten-64-to-32 compile warnings/errors
2019-09-26 08:01:53 -07:00
Jeremy Evans
b193041b99
Fix keyword argument separation issues in Fiber#resume
2019-09-26 08:01:53 -07:00
Jeremy Evans
6b52959ef7
Fix keyword argument separation issues in Thread.new
2019-09-26 08:01:53 -07:00
Jeremy Evans
47d44510a3
Fix more keyword argument separation issues in Pathname
2019-09-26 08:01:53 -07:00
Jeremy Evans
3959469f24
Fix keyword argument separation issues in OpenSSL::SSL::SSLSocket#sys{read,write}_nonblock
...
It's unlikely anyone would actually hit these. The methods are
private, you only hit this code path if calling these methods
before performing the SSL connection, and there is already a
verbose warning issued.
2019-09-26 08:01:53 -07:00
Jeremy Evans
760893d2f8
Fix keyword argument separation issues in Proc#{<<,>>}
...
This requires adding rb_proc_call_with_block_kw.
2019-09-26 08:01:53 -07:00
Jeremy Evans
0aa267f985
Fix keyword argument sepration issues when IO#open calls #to_open
2019-09-26 08:01:53 -07:00
Jean Boussier
5b9d646944
Fix Module#name news and add a test
2019-09-26 23:29:49 +09:00
Nobuyoshi Nakada
b29c68e687
Restore ENV, rubygems always sets SOURCE_DATE_EPOCH now
2019-09-26 22:57:25 +09:00
Nobuyoshi Nakada
c4ec817a7a
Gem::Specification#to_ruby needs OpenSSL
2019-09-26 22:56:32 +09:00
Takashi Kokubun
41e3c204fd
Reduce ISeq size of mjit_exec benchmark
...
to avoid unwanted memory pressure
2019-09-26 22:13:31 +09:00
git
1070456bb8
* remove trailing spaces. [ci skip]
2019-09-26 20:25:42 +09:00
Jean Boussier
9d0866c7d7
[EXPERIMENTAL] Make Module#name return a frozen String
...
* Always the same frozen String for a given Module or Class.
* Avoids extra allocations whenever calling Module#name.
* See [Feature #16150 ]
2019-09-26 13:25:23 +02:00
Hiroshi SHIBATA
c8f7168653
Revert the accidentally commits related GitHub Actions
2019-09-26 19:22:30 +09:00
Hiroshi SHIBATA
2a490d5660
Suppress assert_match warnings.
2019-09-26 18:24:20 +09:00
Hiroshi SHIBATA
d4a86e407e
Assert warnings message for the last argument is keyword parameter.
2019-09-26 18:07:17 +09:00
David Rodríguez
a2af473018
[rubygems/rubygems] Make sure our modifications to kernel.warn work
...
And test the fix we're adding.
https://github.com/rubygems/rubygems/commit/6f86637b98
2019-09-26 17:48:01 +09:00
David Rodríguez
54839f0173
[rubygems/rubygems] Fix jruby build
...
https://github.com/rubygems/rubygems/commit/cc255b774a
2019-09-26 17:48:01 +09:00
Hiroshi SHIBATA
966915d807
[rubygems/rubygems] indent
...
https://github.com/rubygems/rubygems/commit/8cdb2fd66f
2019-09-26 17:48:01 +09:00
Hiroshi SHIBATA
1eb503373e
[rubygems/rubygems] filter dependency type and name strictly.
...
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
https://github.com/rubygems/rubygems/commit/92892bbc3a
2019-09-26 17:48:01 +09:00
bronzdoc
0b65a7a19e
[rubygems/rubygems] Fix test_gem_attr
...
https://github.com/rubygems/rubygems/commit/7c5b66f9ef
2019-09-26 17:48:01 +09:00
David Rodríguez
4f87a1583d
[rubygems/rubygems] Introduce default prerelease requirement
...
https://github.com/rubygems/rubygems/commit/506c5bce49
2019-09-26 17:48:01 +09:00
David Rodríguez
6134fd7a64
[rubygems/rubygems] Remove comment not adding much
...
https://github.com/rubygems/rubygems/commit/b3b5c2d379
2019-09-26 17:48:01 +09:00
f
73633683c5
[rubygems/rubygems] add tests
...
https://github.com/rubygems/rubygems/commit/8a7e27381c
2019-09-26 17:48:01 +09:00
f
1fb44d2b8c
[rubygems/rubygems] Detect libc version, closes #2918
...
https://github.com/rubygems/rubygems/commit/1d18b12a26
2019-09-26 17:48:01 +09:00
David Rodríguez
ea5b136155
[rubygems/rubygems] Fix underscore version for bundler itself
...
Previously it wouldn't play nice with the bundler version finder.
https://github.com/rubygems/rubygems/commit/d8bb81556d
2019-09-26 17:48:01 +09:00
Hiroshi SHIBATA
ad638a713a
[rubygems/rubygems] Added jruby to matrix
...
https://github.com/rubygems/rubygems/commit/0832c079c8
2019-09-26 17:48:01 +09:00
Hiroshi SHIBATA
769a28d7dc
[rubygems/rubygems] Removed 2.2
...
https://github.com/rubygems/rubygems/commit/7fd2460f76
2019-09-26 17:48:01 +09:00
Hiroshi SHIBATA
ba8fb735cb
[rubygems/rubygems] Added rvm workflow for Ruby 2.2 and 2.7
...
https://github.com/rubygems/rubygems/commit/d4ba75dfd2
2019-09-26 17:48:01 +09:00
Hiroshi SHIBATA
01c90f17d9
[rubygems/rubygems] Removed the needless configurations
...
https://github.com/rubygems/rubygems/commit/7134c49179
2019-09-26 17:48:01 +09:00
Hiroshi SHIBATA
f5248f6f50
[rubygems/rubygems] Added the initial workflow file.
...
https://github.com/rubygems/rubygems/commit/6405a1e51a
2019-09-26 17:48:01 +09:00