青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
On The Road
(cond ((less 'code) (less 'bug)))
C++博客
首頁
新隨筆
聯系
聚合
管理
隨筆 - 119 文章 - 290 trackbacks - 0
博客搬家了哦,請移步
叫我abc
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
《GAME PROGRAMMING GEMS6》讀書筆記(4)
《UNIX編程藝術》讀書筆記(4)
month-flow(5)
mysql入門(3)
垃圾收集(4)
我的博客
叫我abc
博客搬家啦
搜索
積分與排名
積分 - 305651
排名 - 84
最新評論
1.?re: C++ std::fstream open mode
i'am got
--hdj
2.?re: cppcheck的使用
你好,你會使用cppcheck嗎?@robert
--wqq
3.?re: 垃圾收集的那點事(H)
非常感謝
--7Qing_
4.?re: 高效調用lua函數
為什么提示沒有findLuaItem這個函數?
--sdfasf
5.?re: android ndk調試知識[未登錄]
博主你好,請問如果沒有.so的源代碼,應該如何進行arm的匯編級調試呢?
--dennis
閱讀排行榜
1.?cppcheck的使用(17053)
2.?十步精通新語言(10690)
3.?內存池實現(9903)
4.?高效調用lua函數(9264)
5.?在lua腳本中使用unicode(8238)
垃圾收集的那點事(B)
繼上一篇,現在可以來看看gc_malloc的源碼了,初窺究竟。
1
void
*
2
gc_malloc(size_t sz,
void
*
parent,
void
(
*
finalizer)(
void
*
))
3
{
4
void
*
ret
=
my_malloc(sz);
5
int
id
=
map_id(ret);
6
E.pool[id].u.n.finalizer
=
finalizer;
7
if
(parent)
{
8
gc_link(parent,
0
,ret);
9
}
10
else
{
11
stack_push(id);
12
}
13
return
ret;
14
}
首先,第4行分配了指定大小的內存。
然后是第5行map_id(ret),這是什么呢?先不深究其實現,我簡單的說說他所做的工作:
因為這是一個gc庫,所以本質工作就是管理內存,因此將分配出來的新內存記錄到一個容器中以便于以后的管理。yfgc管理采用的容器是一個數組。分配新內存后,在數組容器中找到一個空閑的位置,將內存指針記錄到該位置上。
不過光做這個還是不夠的,以后要是再遇上這塊內存,怎么知道它被記錄在數組容器的哪個位置上呢?雖然遍歷查找也可以,不過我想應該沒人會那么做吧。源碼采用了hash_map,將這塊內存的指針map到數組的索引上。
綜上,map_id(ret)大體這么做了
pool[id].mem
=
ret;
map[ ret ]
=
id;
不過由于這個gc庫是用C寫的,沒有STL,里面的代碼就不可能那么簡單啦。
總而言之,id就是內存在容器中的索引啦。從第6行可以看出,E.pool就是這個管理容器了。這句用來設置內存的析構回調函數。
E.pool是一個node結構數組,現在來看看node的定義,簡單起見,我暫時去掉了不相關的東西:
1
struct
node
{
2
union
{
3
struct
{
4
void
*
mem;
5
struct
link
*
children;
6
void
(
*
finalizer)(
void
*
);
7
}
n;
8
}
u;
9
}
;
mem和finalizer很眼熟對吧,因為剛剛才看過。children可以先不管,不過從名稱看來,是管理父子關系,更準確的說是依賴關系的東東了。
OK,現在來看看7、8、9行,出現了
gc_link
,我記得這是一個public接口,用來管理兩塊內存之間的依賴關系的。現在,因為傳入了parent實參,要在新分配的內存和parent之間建立依賴關系,所以調用了gc_link。
我想else部分可以先不管,只要記住出現了stack_push即可。現在非常好奇,gc_link是如何建立這一依賴關系的,采用了何種數據結構,所以接下來就要去看看gc_link的實現了。
posted on 2008-09-11 19:53
LOGOS
閱讀(1955)
評論(1)
編輯
收藏
引用
FeedBack:
#
re: 垃圾收集的那點事(B)
2008-09-11 20:20
陳梓瀚(vczh)
我在博客上的vczh free script里面有一個垃圾收集器。
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 LOGOS Powered by:
博客園
模板提供:
滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
亚洲国产综合视频在线观看
|
亚洲自啪免费
|
在线观看日韩av电影
|
尤物网精品视频
|
亚洲福利视频专区
|
亚洲精品视频一区二区三区
|
亚洲美女视频
|
亚洲一级高清
|
久久九九热re6这里有精品
|
久久一区亚洲
|
亚洲人成网站影音先锋播放
|
在线亚洲免费视频
|
久久精品视频在线免费观看
|
欧美—级在线免费片
|
国产精品日本欧美一区二区三区
|
国产农村妇女精品
|
亚洲激情国产精品
|
亚洲欧美美女
|
美女露胸一区二区三区
|
亚洲精品美女在线
|
欧美一区二区三区四区在线
|
欧美黄色影院
|
国产一区二区三区四区hd
|
亚洲毛片视频
|
亚洲欧美一区二区原创
|
最新成人av网站
|
亚洲欧美bt
|
欧美极品在线视频
|
国模精品一区二区三区色天香
|
亚洲专区一区二区三区
|
裸体女人亚洲精品一区
|
一区二区欧美日韩视频
|
免费国产自线拍一欧美视频
|
国产精品一区二区久久国产
|
亚洲精品一线二线三线无人区
|
性色一区二区三区
|
亚洲精品日产精品乱码不卡
|
久久深夜福利免费观看
|
国产精品欧美日韩一区二区
|
99国产精品久久久久久久成人热
|
亚洲网在线观看
|
欧美激情aⅴ一区二区三区
|
今天的高清视频免费播放成人
|
亚洲午夜视频
|
亚洲人体一区
|
欧美国产三级
|
最近中文字幕mv在线一区二区三区四区
|
久久久国产精品一区二区三区
|
国产精品99久久久久久人
|
欧美日韩www
|
亚洲美女免费视频
|
亚洲国产精品ⅴa在线观看
|
看片网站欧美日韩
|
亚洲国产欧美在线
|
欧美大片在线看
|
美女主播精品视频一二三四
|
亚洲国产高清在线观看视频
|
欧美成人免费在线
|
美女黄网久久
|
亚洲精品欧美日韩专区
|
亚洲电影免费观看高清
|
欧美成人午夜免费视在线看片
|
亚洲国产精品高清久久久
|
美国十次成人
|
男人的天堂亚洲在线
|
亚洲免费观看高清完整版在线观看
|
欧美大片免费观看
|
欧美激情偷拍
|
亚洲一区二区三区四区五区黄
|
一区二区三区欧美成人
|
国产精品剧情在线亚洲
|
欧美在线观看一区二区
|
久久久久99
|
亚洲人成艺术
|
亚洲精品美女免费
|
国产精品稀缺呦系列在线
|
香蕉精品999视频一区二区
|
亚洲日韩欧美视频一区
|
欧美日韩三级
|
欧美资源在线
|
欧美韩国日本一区
|
亚洲视频专区在线
|
国产亚洲精品综合一区91
|
久久亚洲精品欧美
|
欧美国产日韩二区
|
亚洲欧美综合一区
|
久久久久久尹人网香蕉
|
99re热这里只有精品视频
|
亚洲一区免费在线观看
|
在线播放亚洲
|
一片黄亚洲嫩模
|
黄网站免费久久
|
99视频精品全部免费在线
|
国产亚洲精品v
|
亚洲精品国产欧美
|
国产欧美日韩精品丝袜高跟鞋
|
麻豆精品一区二区av白丝在线
|
欧美精品久久一区二区
|
欧美在线一二三四区
|
欧美成人免费网
|
久久精品国产精品亚洲综合
|
欧美激情精品久久久久久蜜臀
|
欧美.日韩.国产.一区.二区
|
亚洲一区二区久久
|
麻豆精品在线播放
|
欧美一区二区视频在线
|
欧美护士18xxxxhd
|
欧美在线观看视频在线
|
欧美日韩国产亚洲一区
|
免费在线成人av
|
国产伦精品一区二区三区视频孕妇
|
亚洲福利视频网站
|
国产综合色产
|
亚洲自拍偷拍色片视频
|
一区二区三区欧美激情
|
麻豆精品91
|
免费日韩视频
|
亚洲激情电影在线
|
欧美mv日韩mv国产网站
|
欧美日韩专区
|
亚洲国产精品成人一区二区
|
国内精品久久久久伊人av
|
中文亚洲字幕
|
亚洲网站视频
|
欧美另类在线播放
|
亚洲国产另类久久久精品极度
|
国产日韩在线视频
|
亚洲网站视频
|
亚洲影院在线
|
国产精品久久影院
|
亚洲视屏一区
|
香蕉成人啪国产精品视频综合网
|
欧美视频日韩视频
|
一区二区av在线
|
亚洲综合色婷婷
|
国产精品午夜久久
|
午夜欧美大片免费观看
|
久久精品国产在热久久
|
国语自产精品视频在线看8查询8
|
欧美一区亚洲二区
|
老司机精品福利视频
|
久久尤物视频
|
亚洲人成毛片在线播放
|
久久青青草原一区二区
|
老司机aⅴ在线精品导航
|
好吊色欧美一区二区三区视频
|
欧美一区久久
|
男人插女人欧美
|
亚洲另类视频
|
国产精品成人国产乱一区
|
亚洲一区黄色
|
久久精品人人做人人综合
|
很黄很黄激情成人
|
美女国产一区
|
99国产精品私拍
|
欧美一区二区视频在线观看2020
|
国产午夜精品一区理论片飘花
|
久久久蜜桃一区二区人
|
亚洲国产1区
|
亚洲欧美激情四射在线日
|
性欧美1819sex性高清
|
国产午夜精品一区二区三区视频
|
久久久久久亚洲综合影院红桃
|
亚洲电影毛片
|
午夜日韩在线
|
影音欧美亚洲
|
欧美日韩视频第一区
|
欧美亚洲尤物久久
|
亚洲国产精品一区二区www
|
亚洲欧美综合另类中字
|
亚洲成色www8888
|
欧美色中文字幕
|
久久久久综合一区二区三区
|
亚洲美女视频在线观看
|
久久免费视频一区
|
亚洲色无码播放
|
在线观看欧美成人
|
国产精品99免费看
|
久久精品综合一区
|
亚洲免费观看视频
|
狠久久av成人天堂
|
欧美亚一区二区
|
免费视频久久
|
欧美诱惑福利视频
|
国产精品99久久久久久www
|
欧美成人资源网
|
午夜精品偷拍
|
日韩亚洲欧美一区二区三区
|
国产一区二区精品丝袜
|
欧美亚州韩日在线看免费版国语版
|
久久综合九色综合欧美狠狠
|
午夜久久99
|
亚洲一区二区三区免费在线观看
|
亚洲国产欧美日韩
|
免费观看在线综合色
|
久久精品国产清自在天天线
|
亚洲综合丁香
|
亚洲亚洲精品三区日韩精品在线视频
|
亚洲国产另类精品专区
|
欧美在线一级va免费观看
|