作者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