<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/pack.c, 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>merge revision(s) 4e0bb58a0a374b40b7691e7b7aa88e759a0fc9f2: [Backport #21811]</title>
<updated>2026-01-25T08:48:12+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T08:48:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=86e65fa1677180f5108157206edb01cfd25f24b6'/>
<id>86e65fa1677180f5108157206edb01cfd25f24b6</id>
<content type='text'>
	[PATCH] fix underflow
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] fix underflow
</pre>
</div>
</content>
</entry>
<entry>
<title>Expand buffer at once then fill it at once</title>
<updated>2024-09-29T09:55:15+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-09-29T09:53:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=066ac0fdc2703ef627dab19cbb275d9aa28857a3'/>
<id>066ac0fdc2703ef627dab19cbb275d9aa28857a3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract common code from `pack_pack` and `pack_unpack_internal`</title>
<updated>2024-09-29T09:45:47+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-09-29T09:07:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3b43585a84978e9ca9b474ba55087edfd0863147'/>
<id>3b43585a84978e9ca9b474ba55087edfd0863147</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce a specialize instruction for Array#pack</title>
<updated>2024-05-23T19:11:50+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-05-23T18:23:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=49fcd33e136ee2fe8720183b63a41bb6ef8d615c'/>
<id>49fcd33e136ee2fe8720183b63a41bb6ef8d615c</id>
<content type='text'>
Instructions for this code:

```ruby
  # frozen_string_literal: true

[a].pack("C")
```

Before this commit:

```
== disasm: #&lt;ISeq:&lt;main&gt;@test.rb:1 (1,0)-(3,13)&gt;
0000 putself                                                          (   3)[Li]
0001 opt_send_without_block                 &lt;calldata!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE&gt;
0003 newarray                               1
0005 putobject                              "C"
0007 opt_send_without_block                 &lt;calldata!mid:pack, argc:1, ARGS_SIMPLE&gt;
0009 leave
```

After this commit:

```
== disasm: #&lt;ISeq:&lt;main&gt;@test.rb:1 (1,0)-(3,13)&gt;
0000 putself                                                          (   3)[Li]
0001 opt_send_without_block                 &lt;calldata!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE&gt;
0003 putobject                              "C"
0005 opt_newarray_send                      2, :pack
0008 leave
```

Co-authored-by: Maxime Chevalier-Boisvert &lt;maxime.chevalierboisvert@shopify.com&gt;
Co-authored-by: Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instructions for this code:

```ruby
  # frozen_string_literal: true

[a].pack("C")
```

Before this commit:

```
== disasm: #&lt;ISeq:&lt;main&gt;@test.rb:1 (1,0)-(3,13)&gt;
0000 putself                                                          (   3)[Li]
0001 opt_send_without_block                 &lt;calldata!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE&gt;
0003 newarray                               1
0005 putobject                              "C"
0007 opt_send_without_block                 &lt;calldata!mid:pack, argc:1, ARGS_SIMPLE&gt;
0009 leave
```

After this commit:

```
== disasm: #&lt;ISeq:&lt;main&gt;@test.rb:1 (1,0)-(3,13)&gt;
0000 putself                                                          (   3)[Li]
0001 opt_send_without_block                 &lt;calldata!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE&gt;
0003 putobject                              "C"
0005 opt_newarray_send                      2, :pack
0008 leave
```

Co-authored-by: Maxime Chevalier-Boisvert &lt;maxime.chevalierboisvert@shopify.com&gt;
Co-authored-by: Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Reuse `natstr` if it equals `endstr`</title>
<updated>2023-10-06T07:33:44+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2023-10-06T04:53:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=232e401b0f19cb5191ae7a0ec107fc9bf10c8145'/>
<id>232e401b0f19cb5191ae7a0ec107fc9bf10c8145</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a typo in BUG message [ci skip]</title>
<updated>2023-01-19T15:20:27+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2023-01-19T15:20:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f36178006b99fd121e7936968d210e570f8d99d0'/>
<id>f36178006b99fd121e7936968d210e570f8d99d0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add RBIMPL_ATTR_NORETURN to unknown_directive</title>
<updated>2023-01-05T19:55:14+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2023-01-05T19:14:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=29a5fcd60b3738378b66499636a10f96a0f2a474'/>
<id>29a5fcd60b3738378b66499636a10f96a0f2a474</id>
<content type='text'>
Fixes a compiler warning about the function unknown_directive:

pack.c:160:1: warning: function 'unknown_directive' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a compiler warning about the function unknown_directive:

pack.c:160:1: warning: function 'unknown_directive' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
</pre>
</div>
</content>
</entry>
<entry>
<title>Raise an ArgumentError for unknown pack/unpack directive</title>
<updated>2023-01-05T18:05:03+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2023-01-05T17:41:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=03dd37775afb40eef392ae2920d728235af302c8'/>
<id>03dd37775afb40eef392ae2920d728235af302c8</id>
<content type='text'>
* [Bug #19150]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* [Bug #19150]
</pre>
</div>
</content>
</entry>
<entry>
<title>Unconditionally warn "unknown pack/unpack directive"</title>
<updated>2022-12-16T11:15:50+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2022-12-15T19:04:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ee7a338d2b21a84d194015c3680bd2a95c0dd23f'/>
<id>ee7a338d2b21a84d194015c3680bd2a95c0dd23f</id>
<content type='text'>
[Bug #19150]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #19150]
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #19108] Check for the encoding of pack/unpack format</title>
<updated>2022-12-01T08:38:33+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-11-22T05:25:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9869bd1d612b489df806cf95bcb56965a02424e0'/>
<id>9869bd1d612b489df806cf95bcb56965a02424e0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
