Date: Sun, 17 Oct 99 16:31:23 JST From: SHUDO Kazuyuki Subject: [JavaHouse-Brewers:28428] Re: JBuilder Java 2 JIT for Linux To: java-house-brewers at java-house.etl.go.jp (JavaHouse Brewers ML) Message-Id: <199910170729.QAA16266@cafe.muraoka.info.waseda.ac.jp> 首藤です。 > Inprise 社 (旧 Borland) が、 > JDK 1.2 for Linux 用の JIT コンパイラをリリースしました。 > > http://www.borland.com/jbuilder/linux/ > http://www.borland.com/ Inprise 社のこの JIT コンパイラ、どうも、メソッドが呼ばれた回数によって、 コンパイルするかしないかを決めるようです。 このしきい値は一定で、環境変数 JAVA_COMPILER_THRESHOLD で指定できます。 例えば、0 を指定するとはじめて呼ばれた時点で JIT コンパイルし、 1 を指定すると 2度目に呼ばれた時点で JIT コンパイルします。 設定しなかった場合の既定値は 1 です。 原始的ながら、adaptive compilation の一種と言えます。 (see [JavaHouse-Brewers:27865] shuJIT 0.3.10) また、デバッグレベル (どの程度詳細にメッセージを吐くか) を 環境変数 JAVA_COMPILER_VERBOSE で設定できます。 0, 1, 2, 3 と、出力メッセージが増えていきます。 3 以上を設定しても 3 と同じ扱いです。 この Inprise JIT を試していて、stack trace にソースコード中の 行番号が出力されていることに気付きました。(*) あれ?JIT を有効にしているのになぜだろう?と調べた結果が上記の通りでした。 (*) java.lang.Throwable at AdaptiveCmplTest.test(Compiled Code) ではなく java.lang.Throwable at AdaptiveCmplTest.test(AdaptiveCmplTest.java:4) SHUDO Kazuyuki/首藤一幸 私をたばねないで あらせいとうの花のように shudoh at muraoka.info.waseda.ac.jp