<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ものぐさ備忘録 &#187; Java</title>
	<atom:link href="http://www.ginriki.net/wd/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ginriki.net/wd</link>
	<description>ソフトウェア関係の話を中心とした備忘録的日記</description>
	<lastBuildDate>Sun, 16 Jan 2011 20:07:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ruby/Jrubyの実行時フックの低レベルAPI</title>
		<link>http://www.ginriki.net/wd/2010/04/08/129/</link>
		<comments>http://www.ginriki.net/wd/2010/04/08/129/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 19:23:03 +0000</pubDate>
		<dc:creator>ginriki</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[ruby jruby]]></category>

		<guid isPermaLink="false">http://www.ginriki.net/wd/?p=129</guid>
		<description><![CDATA[メモ。
RubyやJRubyには、特定の条件(コード行が変化したとか、メソッドを呼び出したなど）を満たした時に呼び出されるフック処理を定義することができます。
Ruby-1.8の低レベルなフック追加API(=C言語API [...]]]></description>
			<content:encoded><![CDATA[<p>メモ。</p>
<p>RubyやJRubyには、特定の条件(コード行が変化したとか、メソッドを呼び出したなど）を満たした時に呼び出されるフック処理を定義することができます。</p>
<p>Ruby-1.8の低レベルなフック追加API(=C言語API)は、<br />
<a href="http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/thread.c?revision=27238&#038;view=markup">thread.c</a>のrb_add_event_hook関数。シグネチャは以下。</p>
<ul>
<li>
void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data);
</li>
</ul>
<p>JRuby-1.4.0で上記関数にほぼ対応するのは、<a href="http://github.com/jruby/jruby/blob/master/src/org/jruby/Ruby.java">Ruby.java</a>の<br />
Ruby.addEventHookメソッド。シグネチャは以下。</p>
<ul>
<li>
public void addEventHook(EventHook hook)
</li>
</ul>
<p>引数の型であるEventHookやその継承クラスは以下参照。</p>
<ul>
<li>
public abstract class EventHook (<a href="http://github.com/jruby/jruby/blob/master/src/org/jruby/runtime/EventHook.java">runtime/EventHook.java</a>)
</li>
<li>
public class CallTraceFuncHook extends EventHook (<a href="http://github.com/jruby/jruby/blob/master/src/org/jruby/Ruby.java">Ruby.java</a>)
</li>
</ul>
<p>フックAPIの挙動についての仕様書って、どこにもない感じだなあ。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ginriki.net/wd/2010/04/08/129/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

