Backport #8554

Backport r41325 (fix unexpected GC)

Added by Narihiro Nakamura 10 months ago. Updated 10 months ago.

[ruby-dev:47458]
Status:Closed
Priority:High
Assignee:Tomoyuki Chikanaga

Description

taruiさんが入れてくださった r41325 のバックポートをお願いします。

LazySweep中にmalloc_increaseがクリアされておらず、LazySweep中にmallocが発生すると期待していないタイミングでGCが動いてしまっていました(GCの二度打ち)。
パッチは本チケットに添付しています。

また、このバックポートでmake rdocは以下のように速度改善するようです。
https://gist.github.com/authorNari/5829089

ruby-200-backport-r41325.patch Magnifier (2.4 KB) Narihiro Nakamura, 06/21/2013 02:57 PM

Associated revisions

Revision 41577
Added by Tomoyuki Chikanaga 10 months ago

merge revision(s) 41325: [Backport #8554]

  • gc.c: Fixup around GC by MALLOC. Add allocate size to mallocincrease before GC for updating limit in aftergcsweep. Reset mallocincrease into garbage_collect() for preventing GC again soon.

History

#1 Updated by Tomoyuki Chikanaga 10 months ago

  • Subject changed from Backport r41325 to Backport r41325 (fix unexpected GC)
  • Status changed from Open to Assigned
  • Priority changed from Normal to High

ありがとうございます。マージします。

#2 Updated by Tomoyuki Chikanaga 10 months ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r41577.
Narihiro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 41325: [Backport #8554]

  • gc.c: Fixup around GC by MALLOC. Add allocate size to mallocincrease before GC for updating limit in aftergcsweep. Reset mallocincrease into garbage_collect() for preventing GC again soon.

Also available in: Atom PDF