<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/internal/string.h, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Revert "merge revision(s) 5e0c17145131e073814c7e5b15227d0b4e73cabe: [Backport #20169]"</title>
<updated>2024-07-15T02:55:41+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2024-07-15T02:55:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0cb1e753cadb4cd1706ecf334e007bb246438577'/>
<id>0cb1e753cadb4cd1706ecf334e007bb246438577</id>
<content type='text'>
This reverts commit 6b73406833dd22e489114fa77c1c80c4b7af2ed0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 6b73406833dd22e489114fa77c1c80c4b7af2ed0.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 5e0c17145131e073814c7e5b15227d0b4e73cabe: [Backport #20169]</title>
<updated>2024-07-14T23:50:38+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2024-07-14T23:46:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6b73406833dd22e489114fa77c1c80c4b7af2ed0'/>
<id>6b73406833dd22e489114fa77c1c80c4b7af2ed0</id>
<content type='text'>
	Make io_fwrite safe for compaction

	[Bug #20169]

	Embedded strings are not safe for system calls without the GVL because
	compaction can cause pages to be locked causing the operation to fail
	with EFAULT. This commit changes io_fwrite to use rb_str_tmp_frozen_no_embed_acquire,
	which guarantees that the return string is not embedded.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Make io_fwrite safe for compaction

	[Bug #20169]

	Embedded strings are not safe for system calls without the GVL because
	compaction can cause pages to be locked causing the operation to fail
	with EFAULT. This commit changes io_fwrite to use rb_str_tmp_frozen_no_embed_acquire,
	which guarantees that the return string is not embedded.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use shared flags of the type</title>
<updated>2022-11-02T15:03:21+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2022-11-02T15:03:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4a8cd9e8bca2be1c14310cc13366ec9177a1f74d'/>
<id>4a8cd9e8bca2be1c14310cc13366ec9177a1f74d</id>
<content type='text'>
The ELTS_SHARED flag is generic, so we should prefer to use the flags
specific of the type (STR_SHARED for strings and RARRAY_SHARED_FLAG
for arrays).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ELTS_SHARED flag is generic, so we should prefer to use the flags
specific of the type (STR_SHARED for strings and RARRAY_SHARED_FLAG
for arrays).
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Revert "error.c: Let Exception#inspect inspect its message""</title>
<updated>2022-09-23T07:40:59+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2022-09-23T07:40:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a78c733cc32cc3da3796cbf65da21cdd40c63230'/>
<id>a78c733cc32cc3da3796cbf65da21cdd40c63230</id>
<content type='text'>
This reverts commit b9f030954a8a1572032f3548b39c5b8ac35792ce.

[Bug #18170]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit b9f030954a8a1572032f3548b39c5b8ac35792ce.

[Bug #18170]
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #18973] Promote US-ASCII to ASCII-8BIT when adding 8-bit char</title>
<updated>2022-08-31T08:27:59+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-08-30T09:12:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=576bdec03f0d58847690a0607c788ada433ce60f'/>
<id>576bdec03f0d58847690a0607c788ada433ce60f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move String RVALUES between pools</title>
<updated>2022-06-13T17:11:27+00:00</updated>
<author>
<name>Matt Valentine-House</name>
<email>matt@eightbitraptor.com</email>
</author>
<published>2022-04-06T08:55:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=56cc3e99b6b9ec004255280337f6b8353f5e5b06'/>
<id>56cc3e99b6b9ec004255280337f6b8353f5e5b06</id>
<content type='text'>
And re-embed any strings that can now fit inside the slot they've been
moved to
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And re-embed any strings that can now fit inside the slot they've been
moved to
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "error.c: Let Exception#inspect inspect its message"</title>
<updated>2022-06-07T02:52:44+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2022-06-07T02:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b9f030954a8a1572032f3548b39c5b8ac35792ce'/>
<id>b9f030954a8a1572032f3548b39c5b8ac35792ce</id>
<content type='text'>
This reverts commit 9d927204e7b86eb00bfd07a060a6383139edf741.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 9d927204e7b86eb00bfd07a060a6383139edf741.
</pre>
</div>
</content>
</entry>
<entry>
<title>error.c: Let Exception#inspect inspect its message</title>
<updated>2022-06-07T02:07:09+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2021-11-30T07:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9d927204e7b86eb00bfd07a060a6383139edf741'/>
<id>9d927204e7b86eb00bfd07a060a6383139edf741</id>
<content type='text'>
... only when the message string has a newline.

`p StandardError.new("foo\nbar")` now prints `#&lt;StandardError: "foo\nbar"&gt;'
instead of:

    #&lt;StandardError:
    bar&gt;

[Bug #18170]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... only when the message string has a newline.

`p StandardError.new("foo\nbar")` now prints `#&lt;StandardError: "foo\nbar"&gt;'
instead of:

    #&lt;StandardError:
    bar&gt;

[Bug #18170]
</pre>
</div>
</content>
</entry>
<entry>
<title>Add comments about special runtime routines YJIT calls</title>
<updated>2021-10-20T22:19:43+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2021-10-18T15:30:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5906a5a7329e34a43dc46d4fc3cdf1b04cc13d0a'/>
<id>5906a5a7329e34a43dc46d4fc3cdf1b04cc13d0a</id>
<content type='text'>
When YJIT make calls to routines without reconstructing interpreter
state through jit_prepare_routine_call(), it relies on the routine to
never allocate, raise, and push/pop control frames. Comment about this
on the routines that YJTI calls.

This is probably something we should dynamically verify on debug builds.
It's hard to statically verify this as it requires verifying all
functions in the call tree. Maybe something to look at in the future.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When YJIT make calls to routines without reconstructing interpreter
state through jit_prepare_routine_call(), it relies on the routine to
never allocate, raise, and push/pop control frames. Comment about this
on the routines that YJTI calls.

This is probably something we should dynamically verify on debug builds.
It's hard to statically verify this as it requires verifying all
functions in the call tree. Maybe something to look at in the future.
</pre>
</div>
</content>
</entry>
<entry>
<title>Skip broken strings as the locale encoding</title>
<updated>2021-10-01T11:28:44+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-09-29T10:59:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=842b0008c132dd587f09766a228041afb7fed24f'/>
<id>842b0008c132dd587f09766a228041afb7fed24f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
