<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/vm_sync.h, branch v3_3_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>`USE_RUBY_DEBUG_LOG` doesn't check `RUBY_DEVEL`</title>
<updated>2021-12-28T15:22:02+00:00</updated>
<author>
<name>Koichi Sasada</name>
<email>ko1@atdot.net</email>
</author>
<published>2021-12-28T08:58:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c9af8a32a05b26d45c5c8967902b3a724f3c1be6'/>
<id>c9af8a32a05b26d45c5c8967902b3a724f3c1be6</id>
<content type='text'>
`USE_RUBY_DEBUG_LOG` was only defined when `RUBY_DEVEL` is defined.
This patch removes this dependency (`USE_RUBY_DEBUG_LOG` is defined
independently from `RUBY_DEVEL`).

Do not commit a patch which enables `USE_RUBY_DEBUG_LOG`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`USE_RUBY_DEBUG_LOG` was only defined when `RUBY_DEVEL` is defined.
This patch removes this dependency (`USE_RUBY_DEBUG_LOG` is defined
independently from `RUBY_DEVEL`).

Do not commit a patch which enables `USE_RUBY_DEBUG_LOG`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Suppress undef warnings for USE_RUBY_DEBUG_LOG</title>
<updated>2021-12-25T09:04:25+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-12-25T08:09:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=975a6efd7ea144275d4774d18ff0f568c1a1dc97'/>
<id>975a6efd7ea144275d4774d18ff0f568c1a1dc97</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjusted indent [ci skip]</title>
<updated>2021-02-08T23:41:06+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-02-08T23:41:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e0c100ec96810b999c704fc73d60255484b63844'/>
<id>e0c100ec96810b999c704fc73d60255484b63844</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed leaked global symbols</title>
<updated>2020-12-26T00:39:53+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2020-12-25T14:36:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=292230cbf926e9892596ea37fd4567f0c49ab73c'/>
<id>292230cbf926e9892596ea37fd4567f0c49ab73c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add vm_sync debug counters</title>
<updated>2020-12-16T01:38:12+00:00</updated>
<author>
<name>Koichi Sasada</name>
<email>ko1@atdot.net</email>
</author>
<published>2020-12-16T01:10:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0b678cc9e5a5149e40765562142ed1dc05d09b53'/>
<id>0b678cc9e5a5149e40765562142ed1dc05d09b53</id>
<content type='text'>
* vm_sync_lock
* vm_sync_lock_enter
* vm_sync_lock_enter_nb
* vm_sync_lock_enter_cr
* vm_sync_barrier
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_sync_lock
* vm_sync_lock_enter
* vm_sync_lock_enter_nb
* vm_sync_lock_enter_cr
* vm_sync_barrier
</pre>
</div>
</content>
</entry>
<entry>
<title>RB_VM_LOCK_ENTER_NO_BARRIER</title>
<updated>2020-12-07T02:27:25+00:00</updated>
<author>
<name>Koichi Sasada</name>
<email>ko1@atdot.net</email>
</author>
<published>2020-12-07T02:27:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0ebf6bd0a26b637f019d480ecd7f00a73c416b58'/>
<id>0ebf6bd0a26b637f019d480ecd7f00a73c416b58</id>
<content type='text'>
Write barrier requires VM lock because it accesses VM global bitmap
but RB_VM_LOCK_ENTER() can invoke GC because another ractor can wait
to invoke GC and RB_VM_LOCK_ENTER() is barrier point. This means that
before protecting by a write barrier, GC can invoke.
To prevent such situation, RB_VM_LOCK_ENTER_NO_BARRIER() is introduced.
This lock primitive does not become GC barrier points.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Write barrier requires VM lock because it accesses VM global bitmap
but RB_VM_LOCK_ENTER() can invoke GC because another ractor can wait
to invoke GC and RB_VM_LOCK_ENTER() is barrier point. This means that
before protecting by a write barrier, GC can invoke.
To prevent such situation, RB_VM_LOCK_ENTER_NO_BARRIER() is introduced.
This lock primitive does not become GC barrier points.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix decl of ruby_single_main_ractor</title>
<updated>2020-12-06T23:28:36+00:00</updated>
<author>
<name>Koichi Sasada</name>
<email>ko1@atdot.net</email>
</author>
<published>2020-12-06T15:07:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bef3eb544025cc4bd4c9c7b87a8ffe4966db6faa'/>
<id>bef3eb544025cc4bd4c9c7b87a8ffe4966db6faa</id>
<content type='text'>
On windows, MJIT doesn't work without this patch because of
the declaration of ruby_single_main_ractor. This patch fix this
issue and move the definition of it from ractor.c to vm.c to locate
near place of ruby_current_vm_ptr.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On windows, MJIT doesn't work without this patch because of
the declaration of ruby_single_main_ractor. This patch fix this
issue and move the definition of it from ractor.c to vm.c to locate
near place of ruby_current_vm_ptr.
</pre>
</div>
</content>
</entry>
<entry>
<title>RB_VM_LOCK_ENTER_CR_LEV</title>
<updated>2020-12-06T23:28:36+00:00</updated>
<author>
<name>Koichi Sasada</name>
<email>ko1@atdot.net</email>
</author>
<published>2020-12-01T19:10:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=554a7180a0aad85bee5cb8ed41d99d16dab304e7'/>
<id>554a7180a0aad85bee5cb8ed41d99d16dab304e7</id>
<content type='text'>
This is variant of RB_VM_LOCK_ENTER_LEV, but accept current racotr's
pointer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is variant of RB_VM_LOCK_ENTER_LEV, but accept current racotr's
pointer.
</pre>
</div>
</content>
</entry>
<entry>
<title>ruby_single_main_ractor for single ractor mode</title>
<updated>2020-12-06T23:28:36+00:00</updated>
<author>
<name>Koichi Sasada</name>
<email>ko1@atdot.net</email>
</author>
<published>2020-12-01T18:37:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b67b24d0f5e78481e6a306881b6858f0dec996ba'/>
<id>b67b24d0f5e78481e6a306881b6858f0dec996ba</id>
<content type='text'>
ruby_multi_ractor was a flag that indicates the interpreter doesn't
make any additional ractors (single ractor mode).
Instead of boolean flag, ruby_single_main_ractor pointer is introduced
which keeps main ractor's pointer if single ractor mode. If additional
ractors are created, ruby_single_main_ractor becomes NULL.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ruby_multi_ractor was a flag that indicates the interpreter doesn't
make any additional ractors (single ractor mode).
Instead of boolean flag, ruby_single_main_ractor pointer is introduced
which keeps main ractor's pointer if single ractor mode. If additional
ractors are created, ruby_single_main_ractor becomes NULL.
</pre>
</div>
</content>
</entry>
<entry>
<title>remove useless semicolons</title>
<updated>2020-10-13T17:36:58+00:00</updated>
<author>
<name>Koichi Sasada</name>
<email>ko1@atdot.net</email>
</author>
<published>2020-10-13T17:36:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fc8b68a52ad45a1fd5affa6d08ceea2ef729a25c'/>
<id>fc8b68a52ad45a1fd5affa6d08ceea2ef729a25c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
