| Age | Commit message (Collapse) | Author |
|
Header file include/ruby/internal/abi.h contains RUBY_ABI_VERSION which
is the ABI version. This value should be bumped whenever an ABI
incompatible change is introduced.
When loading dynamic libraries, Ruby will compare its own
`ruby_abi_version` and the `ruby_abi_version` of the loaded library. If
these two values don't match it will raise a `LoadError`. This feature
can also be turned off by setting the environment variable
`RUBY_RUBY_ABI_CHECK=0`.
This feature will prevent cases where previously installed native gems
fail in unexpected ways due to incompatibility of changes in header
files. This will force the developer to recompile their gems to use the
same header files as the built Ruby.
In Ruby, the ABI version is exposed through
`RbConfig::CONFIG["ruby_abi_version"]`.
Notes:
Merged: https://github.com/ruby/ruby/pull/5474
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5577
|
|
`UNREACHABLE` in ruby/internal/has/builtin.h is only used as just
a flag now, and redefined in ruby/backward/2/assume.h then.
Notes:
Merged: https://github.com/ruby/ruby/pull/5577
|
|
In the past, many internal functions are declared in intern.h
under include/ruby directory, because there were no headers for
internal use.
|
|
At least OpenBSD/sparc64 doesn't appear to define them, and possibly
some other OpenBSD GCC platforms don't (most OpenBSD platforms have
already switched to clang).
|
|
IA64 support was dropped in ticket #15894, so we can drop support for
HP-UX.
Notes:
Merged: https://github.com/ruby/ruby/pull/5457
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5435
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5432
|
|
A short (2 bytes) will cause unaligned struct accesses when strings are
used as a buffer to directly store binary data.
Notes:
Merged: https://github.com/ruby/ruby/pull/5432
|
|
This reverts commit c365c5921ea26e31c03a85b01ff4c04629abfc10.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5415
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5413
|
|
This reverts commit d4a95428bb244ca8c4a97ad50f3837f191f1f0c3.
Notes:
Merged: https://github.com/ruby/ruby/pull/5405
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5399
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5377
|
|
Also enable the warning for T_DATA allocator.
Notes:
Merged: https://github.com/ruby/ruby/pull/5348
|
|
Already these had been announced to be removed in 3.2.
Notes:
Merged: https://github.com/ruby/ruby/pull/5348
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5303
|
|
This unused parameter seems to be accidently introduced by https://github.com/ruby/ruby/commit/9e6e39c
Notes:
Merged: https://github.com/ruby/ruby/pull/5241
|
|
Something weird results in int-in-bool-context and
stringop-overflow warnings.
|
|
https://hackerone.com/reports/1306859
Notes:
Merged: https://github.com/ruby/ruby/pull/5239
|
|
Implements [Feature #18273]
Returns an array containing the receiver's direct subclasses without
singleton classes.
Notes:
Merged: https://github.com/ruby/ruby/pull/5045
|
|
Presence of RBIMPL_ATTR_NONNULL let C compilers to eliminate
must_not_null(). Because null pointers are not allowed to exist there
are no reason to call the function. In reality null pointers are still
passed to those functions in a number of ways. Runtime check for them
are definitely nice to have. fix [Feature#18280]
Notes:
Merged: https://github.com/ruby/ruby/pull/5068
|
|
Must not be a bad idea to improve documents. [ci skip]
|
|
Wrong parameter name. [ci skip]
|
|
Wrong parameter name. [ci skip]
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4621
|
|
invalidate_mark_stack_chunk
This commit deprecates rb_gc_force_recycle and coverts it to a no-op
function. Also removes invalidate_mark_stack_chunk since only
rb_gc_force_recycle uses it.
Notes:
Merged: https://github.com/ruby/ruby/pull/4363
|
|
|
|
Doesn't include receiver or singleton classes.
Implements [Feature #14394]
Co-authored-by: fatkodima <fatkodima123@gmail.com>
Co-authored-by: Benoit Daloze <eregontp@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/4974
Merged-By: jeremyevans <code@jeremyevans.net>
|
|
Just split the comment for struct's one and array's one.
|
|
(gdb) ptype/o struct RString
/* offset | size */ type = struct RString {
/* 0 | 16 */ struct RBasic {
/* 0 | 8 */ VALUE flags;
/* 8 | 8 */ const VALUE klass;
/* total size (bytes): 16 */
} basic;
/* 16 | 24 */ union {
/* 24 */ struct {
/* 16 | 8 */ long len;
/* 24 | 8 */ char *ptr;
/* 32 | 8 */ union {
/* 8 */ long capa;
/* 8 */ VALUE shared;
/* total size (bytes): 8 */
} aux;
/* total size (bytes): 24 */
} heap;
/* 24 */ struct {
/* 16 | 24 */ char ary[24];
/* total size (bytes): 24 */
} embed;
/* XXX 8-byte padding */
/* total size (bytes): 24 */
} as;
/* total size (bytes): 40 */
}
(gdb)
|
|
This commit adds support for embedded strings with variable capacity and
uses Variable Width Allocation to allocate strings.
Notes:
Merged: https://github.com/ruby/ruby/pull/4933
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4933
|
|
instead
Refinement#import_methods imports methods from modules.
Unlike Module#include, it copies methods and adds them into the refinement,
so the refinement is activated in the imported methods.
[Bug #17429] [ruby-core:101639]
|
|
`rb_encoding` is defined as `const OnigEncodingType`.
Fix lots of C4114 warnings for each files by MSVC.
|
|
I dislike unnatural casts.
|
|
Nobu doesn't like (char*) cast.
Notes:
Merged: https://github.com/ruby/ruby/pull/4909
|
|
Less macros == huge win.
Notes:
Merged: https://github.com/ruby/ruby/pull/4909
|
|
2,291 lines are too much! include/ruby/encoding.h became the biggest
header file once it had doxygen comments. Let us split it into smaller
parts, so that we can better organise their contents.
Notes:
Merged: https://github.com/ruby/ruby/pull/4909
|
|
Must not be a bad idea to improve documents.
Notes:
Merged: https://github.com/ruby/ruby/pull/4912
|
|
Runtime assertion for the argument declared as non-null.
This macro does nothing if `RBIMPL_ATTR_NONNULL` is effective,
otherwise asserts that the argument is non-null.
Notes:
Merged: https://github.com/ruby/ruby/pull/4898
Merged-By: nobu <nobu@ruby-lang.org>
|
|
I observed CI failures.
https://github.com/ruby/ruby/actions/runs/1240165911
It turns out that RBIMPL_ATTR_NOALIAS was not mature before. Skip
using it for old clang, and everything work as expected.
Notes:
Merged: https://github.com/ruby/ruby/pull/4848
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4649
|
|
Apply commit:733ffa74cd32a5c11ff744a5490782daa00ff1ae again.
|
|
Linking printf family functions makes mjit objects to link
unnecessary code.
Notes:
Merged: https://github.com/ruby/ruby/pull/4820
|
|
I was not aware of this because I use clang these days.
Notes:
Merged: https://github.com/ruby/ruby/pull/4815
|