作者eorlthexiv (伊歐)
看板EE_DSnP
標題[問題] Garbage collection
時間Mon Jun 22 01:14:03 2009
想請問一下清除_uniqueTable裡dead nodes的時機
應該是程式內部自己判斷(比方說cirbdd -all的中途?),還是說由使用者下指令來清除?
如果是後者,那不是每次清完都只剩下65個nodes了嗎
(64個supports+1個constant 1)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.137.69.81
1F:推 ric2k1:嗯, 應該是你們自訂 new command (請說明). 06/23 00:06
2F:→ ric2k1:至於 ref count, 比較合理的作法是 BddMgr 裏頭的 06/23 00:07
3F:→ ric2k1:(上面那行寫錯, 更正如下行) 06/23 00:09
4F:→ ric2k1:至於 ref count, 由於 BddMgr 裏頭的 _bddMap 與 _bddArr 06/23 00:11
5F:→ ric2k1:存的是 size_t, 而非 BddNode, 所以 refCount 並沒有被加 1 06/23 00:12
6F:→ ric2k1:這樣子 garbage collection 的確會 ignore these reference 06/23 00:13
7F:→ ric2k1:當初 ref code 沒有想到... 現在來不及改了... 也許在你的 06/23 00:15
8F:→ ric2k1:garbage collection command 裡面偷偷的宣告/copy一份local 06/23 00:15
9F:→ ric2k1:BddNodes of _bddMap and _bddArr, garbage collection完 06/23 00:16
10F:→ ric2k1:local BddNodes 消失後 refCount 就自動恢復回來了~~~ 06/23 00:17
11F:→ eorlthexiv:了解 謝謝教授 06/23 01:06