<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/include/ruby/internal/abi.h, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Mark strings returned by Symbol#to_s as chilled  (#12065)</title>
<updated>2024-11-13T14:20:00+00:00</updated>
<author>
<name>Jean byroot Boussier</name>
<email>jean.boussier+github@shopify.com</email>
</author>
<published>2024-11-13T14:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6deeec5d459ecff5ec4628523b14ac7379fd942e'/>
<id>6deeec5d459ecff5ec4628523b14ac7379fd942e</id>
<content type='text'>
* Use FL_USER0 for ELTS_SHARED

This makes space in RString for two bits for chilled strings.

* Mark strings returned by `Symbol#to_s` as chilled

[Feature #20350]

`STR_CHILLED` now spans on two user flags. If one bit is set it
marks a chilled string literal, if it's the other it marks a
`Symbol#to_s` chilled string.

Since it's not possible, and doesn't make much sense to include
debug info when `--debug-frozen-string-literal` is set, we can't
include allocation source, but we can safely include the symbol
name in the warning message, making it much easier to find the source
of the issue.

Co-Authored-By: Étienne Barrié &lt;etienne.barrie@gmail.com&gt;

---------

Co-authored-by: Étienne Barrié &lt;etienne.barrie@gmail.com&gt;
Co-authored-by: Jean Boussier &lt;jean.boussier@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Use FL_USER0 for ELTS_SHARED

This makes space in RString for two bits for chilled strings.

* Mark strings returned by `Symbol#to_s` as chilled

[Feature #20350]

`STR_CHILLED` now spans on two user flags. If one bit is set it
marks a chilled string literal, if it's the other it marks a
`Symbol#to_s` chilled string.

Since it's not possible, and doesn't make much sense to include
debug info when `--debug-frozen-string-literal` is set, we can't
include allocation source, but we can safely include the symbol
name in the warning message, making it much easier to find the source
of the issue.

Co-Authored-By: Étienne Barrié &lt;etienne.barrie@gmail.com&gt;

---------

Co-authored-by: Étienne Barrié &lt;etienne.barrie@gmail.com&gt;
Co-authored-by: Jean Boussier &lt;jean.boussier@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Do not define ABI version in statically linked objects</title>
<updated>2024-02-04T11:33:45+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-01-13T14:59:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7b3e05c3927a90b895ea48d088f40a5662cf1787'/>
<id>7b3e05c3927a90b895ea48d088f40a5662cf1787</id>
<content type='text'>
It is for dynamically loading, useless for statically linked objects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is for dynamically loading, useless for statically linked objects.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #19289] Retain `ruby_abi_version` function</title>
<updated>2023-01-19T15:26:52+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2023-01-19T06:35:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6f3aff3961a4c5ce87e05096a1a9dcf1055b7647'/>
<id>6f3aff3961a4c5ce87e05096a1a9dcf1055b7647</id>
<content type='text'>
A few extension libraries, to hide all symbols except for necessary to
load, hardcode the symbols to be exported in symbol list files for
linker without even checking by `have_func`.  As a workaround for such
libraries, retain `ruby_abi_version` symbol always even in released
versions for now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A few extension libraries, to hide all symbols except for necessary to
load, hardcode the symbols to be exported in symbol list files for
linker without even checking by `have_func`.  As a workaround for such
libraries, retain `ruby_abi_version` symbol always even in released
versions for now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Reset ABI version [ci skip]</title>
<updated>2022-12-26T02:25:56+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-12-26T00:58:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d8b55d11da61c9038ee4f88d585e01f486c04379'/>
<id>d8b55d11da61c9038ee4f88d585e01f486c04379</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move "special consts" so `Qundef` and `Qnil` differ just 1 bit</title>
<updated>2022-10-20T13:05:27+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-10-20T01:57:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f55212bce939f736559709a8cd16c409772389c8'/>
<id>f55212bce939f736559709a8cd16c409772389c8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Stop defining `RUBY_ABI_VERSION` if released versions</title>
<updated>2022-08-12T06:57:25+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-07-12T07:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cd1a0b3caaa5446e9258c192cf483b6dfe8d7819'/>
<id>cd1a0b3caaa5446e9258c192cf483b6dfe8d7819</id>
<content type='text'>
As commented in include/ruby/internal/abi.h, since teeny versions of
Ruby should guarantee ABI compatibility, `RUBY_ABI_VERSION` has no role
in released versions of Ruby.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As commented in include/ruby/internal/abi.h, since teeny versions of
Ruby should guarantee ABI compatibility, `RUBY_ABI_VERSION` has no role
in released versions of Ruby.
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement Objects on VWA</title>
<updated>2022-07-15T13:21:07+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2022-07-11T14:09:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7424ea184f9d67c1c7f3ee97494ed3bd1aa60833'/>
<id>7424ea184f9d67c1c7f3ee97494ed3bd1aa60833</id>
<content type='text'>
This commit implements Objects on Variable Width Allocation. This allows
Objects with more ivars to be embedded (i.e. contents directly follow the
object header) which improves performance through better cache locality.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit implements Objects on Variable Width Allocation. This allows
Objects with more ivars to be embedded (i.e. contents directly follow the
object header) which improves performance through better cache locality.
</pre>
</div>
</content>
</entry>
<entry>
<title>Undefine RUBY_DLN_CHECK_ABI on cygwin</title>
<updated>2022-05-19T08:15:30+00:00</updated>
<author>
<name>Daisuke Fujimura (fd0)</name>
<email>booleanlabel@gmail.com</email>
</author>
<published>2022-04-16T03:41:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3d6fd162a469f9bfa4afc696ef8b8d8536a38507'/>
<id>3d6fd162a469f9bfa4afc696ef8b8d8536a38507</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Feature #18634] Implement Arrays on Variable Width Allocation</title>
<updated>2022-03-22T13:42:39+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2022-03-15T13:34:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a51f30c6712798fc07e57f692d0d0e5ccc59acf1'/>
<id>a51f30c6712798fc07e57f692d0d0e5ccc59acf1</id>
<content type='text'>
This commit implements arrays on Variable Width Allocation. This allows
longer arrays to be embedded (i.e. contents directly follow the object
header) which improves performance through better cache locality.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit implements arrays on Variable Width Allocation. This allows
longer arrays to be embedded (i.e. contents directly follow the object
header) which improves performance through better cache locality.
</pre>
</div>
</content>
</entry>
<entry>
<title>Wrap ruby_abi_version in `extern "C"` for C++</title>
<updated>2022-03-01T18:38:48+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2022-03-01T18:38:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=128972189284f4338722e8a910d0b4f6e7a02b31'/>
<id>128972189284f4338722e8a910d0b4f6e7a02b31</id>
<content type='text'>
Make ruby_abi_version have C linkage so that the symbol can be found
in the shared object.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make ruby_abi_version have C linkage so that the symbol can be found
in the shared object.
</pre>
</div>
</content>
</entry>
</feed>
