gcj/11


gcj

11. GC

マーク&スイープ

アドレス管理

アドレスのリスト

以上の仕様を満たす最低限の実装: filesms_gc.zip

組み込み

main.cc

#include <java/lang/System.h>
#include <java/io/PrintStream.h>
#include "A.h"
#include <stddef.h>
#include <sms_gc.h>

int main() {
	SMS_GC_INIT();
	sms_gc_register(&::java::lang::System::out);
	::java::lang::System::out = new ::java::io::PrintStream(NULL);
	::A::main();
	return 0;
}

A.java

public class A {
	public static void main() {
		for (int i = 0; i < 100; i++) {
			Object obj = new Object();
		}
	}
}

実行結果

$ ./test.exe
sms_gc_register: 0x4084a0
sms_gc_malloc: 0x4c0008
sms_gc_malloc: 0x4c0fc8
(中略)
sms_gc_malloc: 0x4c2120
sms_gc_collect
sms_gc_free: 0x4c0fc8
(中略)
sms_gc_free: 0x4c1ed0
(中略)
sms_gc_malloc: 0x4c18f8
(中略)
sms_gc_malloc: 0x4c1e48
sms_gc_collect
sms_gc_free: 0x4c16b8
(中略)
sms_gc_free: 0x4c1e28

ここまでの作業結果: file11.zip
ついでにDLL化のテスト: file11-dll.zip

MENU

now: 2

リンク


最新の20件
2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 1634, today: 1, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:48:00 (3831d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.041 sec.