Age | Commit message (Collapse) | Author |
|
This commit adds compaction support to `rb_ast_t`.
|
|
This requires adding rb_proc_call_kw to pass the keyword flag.
Notes:
Merged: https://github.com/ruby/ruby/pull/2491
|
|
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.
Notes:
Merged: https://github.com/ruby/ruby/pull/2491
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2453
|
|
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
|
|
|
|
This function is just a synonym for RB_OBJ_WRITTEN, so we can just
directly call that.
|
|
We don't use this array anymore so we can remove it
|
|
We can mark everything via the instruction objects, so just execute the
write barrier instead of appending to the array
|
|
`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.
|
|
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.
|
|
This commit scans the ISEQ arena for objects that can be marked and
marks them. This should make the mark array unnecessary.
|
|
|
|
We'll scan the secondary arena during GC mark. So, we should only
allocate "markable" instruction linked list nodes out of the secondary
arena.
|
|
Now we can allocate and free a secondary arena.
|
|
This is so we can configure a new arena later
|
|
C API updates:
* adjusted indent.
* marked up ANYARGS as RDoc.
|
|
|
|
* got rid of inadvertent label lists.
* marked up resolve_feature_path method names.
* fixed indentation of UnboundMethod#bind_call and marked up as
RDoc.
|
|
Ensure that argument array size does not overflow as `int`, before
cast in thread_do_start after new thread created.
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2484
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2484
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2484
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2484
|
|
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.
Notes:
Merged: https://github.com/ruby/ruby/pull/2484
|
|
This requires adding rb_proc_call_with_block_kw.
Notes:
Merged: https://github.com/ruby/ruby/pull/2484
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2484
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2488
|
|
|
|
|
|
to avoid unwanted memory pressure
|
|
|
|
* Always the same frozen String for a given Module or Class.
* Avoids extra allocations whenever calling Module#name.
* See [Feature #16150]
Notes:
Merged: https://github.com/ruby/ruby/pull/2487
|
|
|
|
|
|
|
|
And test the fix we're adding.
https://github.com/rubygems/rubygems/commit/6f86637b98
|
|
https://github.com/rubygems/rubygems/commit/cc255b774a
|
|
https://github.com/rubygems/rubygems/commit/8cdb2fd66f
|
|
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
https://github.com/rubygems/rubygems/commit/92892bbc3a
|
|
https://github.com/rubygems/rubygems/commit/7c5b66f9ef
|
|
https://github.com/rubygems/rubygems/commit/506c5bce49
|
|
https://github.com/rubygems/rubygems/commit/b3b5c2d379
|
|
https://github.com/rubygems/rubygems/commit/8a7e27381c
|
|
https://github.com/rubygems/rubygems/commit/1d18b12a26
|
|
Previously it wouldn't play nice with the bundler version finder.
https://github.com/rubygems/rubygems/commit/d8bb81556d
|
|
https://github.com/rubygems/rubygems/commit/0832c079c8
|
|
https://github.com/rubygems/rubygems/commit/7fd2460f76
|
|
https://github.com/rubygems/rubygems/commit/d4ba75dfd2
|