diff options
author | Koichi Sasada <ko1@atdot.net> | 2020-08-02 03:23:16 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2020-08-02 03:31:58 +0900 |
commit | f7cf600c8ba483d389ea400071aa2aea2e5a57e0 (patch) | |
tree | 2ca7f71544e3ba2334b441a2a3338565e43c45ee /debug.c | |
parent | d5bed288894d8a7cec277e4c4079abb40c8e1179 (diff) | |
download | ruby-f7cf600c8ba483d389ea400071aa2aea2e5a57e0.tar.gz |
fix mark bit operation.
To optimize the sweep phase, there is bit operation to set mark
bits for out-of-range bits in the last bit_t.
However, if there is no out-of-ragnge bits, it set all last bit_t
as mark bits and it braek the assumption (unmarked objects will
be swept).
GC_DEBUG=1 makes sizeof(RVALUE)=64 on my machine and this condition
happens.
It took me one Saturday to debug this.
Diffstat (limited to 'debug.c')
0 files changed, 0 insertions, 0 deletions