<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Roman Kennke&#039;s Blog</title>
	<atom:link href="http://rkennke.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://rkennke.wordpress.com</link>
	<description>My universe and all the rest</description>
	<lastBuildDate>Sat, 23 Mar 2013 09:57:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='rkennke.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Roman Kennke&#039;s Blog</title>
		<link>http://rkennke.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://rkennke.wordpress.com/osd.xml" title="Roman Kennke&#039;s Blog" />
	<atom:link rel='hub' href='http://rkennke.wordpress.com/?pushpress=hub'/>
		<item>
		<title>FOSDEM 2013</title>
		<link>http://rkennke.wordpress.com/2013/01/17/fosdem-2013/</link>
		<comments>http://rkennke.wordpress.com/2013/01/17/fosdem-2013/#comments</comments>
		<pubDate>Thu, 17 Jan 2013 14:08:12 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fosdem]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=579</guid>
		<description><![CDATA[The last couple of years, I had to pass FOSDEM, for various reasons. I am very very happy that I finally sorted things out for this years FOSDEM, and I&#8217;m ready to go (hotel and trains booked). I will do a presentation about my Shark &#38; Zero work on Saturday afternoon, and co-present Thermostat with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=579&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The last couple of years, I had to pass FOSDEM, for various reasons. I am very very happy that I finally sorted things out for this years FOSDEM, and I&#8217;m ready to go (hotel and trains booked). I will do a presentation about my Shark &amp; Zero work on Saturday afternoon, and co-present Thermostat with Mario on Sunday noon, both in the Java dev room.</p>
<p>FOSDEM is one of those rare events in my life about which I can say that it had a very significant impact. I wouldn&#8217;t be where I am today, if I hadn&#8217;t attended it a few years ago. I am very happy that I can finally go there again, and meet lots of old and new friends and collegues. See you there, and cheers!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/579/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=579&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2013/01/17/fosdem-2013/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
		<item>
		<title>Quick Cacio-Web howto</title>
		<link>http://rkennke.wordpress.com/2012/12/12/quick-cacio-web-howto/</link>
		<comments>http://rkennke.wordpress.com/2012/12/12/quick-cacio-web-howto/#comments</comments>
		<pubDate>Wed, 12 Dec 2012 15:40:42 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=576</guid>
		<description><![CDATA[Today we released Caciocavallo 1.3. The release announcement can be found here. However, what is the more important news is that after the release, I fixed Cacio-Web to work with the latest Cacio build and enabled it in the default build so it doesn&#8217;t fall to the wayside again. On popular request I would like [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=576&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Today we released Caciocavallo 1.3. The release announcement can be found <a href="http://mail.openjdk.java.net/pipermail/caciocavallo-dev/2012-December/000466.html">here</a>.</p>
<p>However, what is the more important news is that after the release, I fixed <a href="http://rkennke.wordpress.com/2011/11/01/cacioweb-the-java-deployment-solution-of-the-future/">Cacio-Web</a> to work with the latest Cacio build and enabled it in the default build so it doesn&#8217;t fall to the wayside again. On popular request I would like to summarize how to get Cacio-Web running. Note that this currently only works on Linux (patches to enable this on other platforms are welcome!)</p>
<p>First of all, check out the source code (the cacio-web changes are not yet released):</p>
<pre>
hg clone http://hg.openjdk.java.net/caciocavallo/ng/ caciocavallo
</pre>
<p>Then build it (you need Maven!):</p>
<pre>
cd caciocavallo
mvn clean install
</pre>
<p>And finally you should be able to run with with something like this:</p>
<pre>
java -Dcacio.web.port=9091 -cp cacio-web/target/cacio-web-1.4-SNAPSHOT-jar-with-dependencies.jar:/home/rkennke/src/test/SwingSet2.jar net.java.openjdk.cacio.server.CacioServer
</pre>
<p>The <code>-Dcacio.web.port</code> parameter specifies on which port should Cacio-Web listen. Notice that the classpath needs to include your application (SwingSet2.jar in this case).</p>
<p>Then point your browser to a URL like this:</p>
<pre>

http://localhost:9091/SessionInitializer?cls=SwingSet2

</pre>
<p>Where the parameter <code>cls</code> specifies the (fully qualified) name of the main class of the application to start.</p>
<p>Please let me know if you run into any problems.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/576/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/576/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=576&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/12/12/quick-cacio-web-howto/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
		<item>
		<title>The return of the Shark, part II (howto)</title>
		<link>http://rkennke.wordpress.com/2012/11/28/the-return-of-the-shark-part-ii-howto/</link>
		<comments>http://rkennke.wordpress.com/2012/11/28/the-return-of-the-shark-part-ii-howto/#comments</comments>
		<pubDate>Wed, 28 Nov 2012 13:39:42 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=574</guid>
		<description><![CDATA[So, finally, after some back and forth, the Shark fixes landed in hotspot-comp (thanks Twisti for reviewing and pushing me). It took a little while to sort out the new atomic operations in LLVM. If you want to play with it, you first need LLVM 3.2 (not the latest 3.1 release!): svn co http://llvm.org/svn/llvm-project/llvm/branches/release_32/ llvm-3.2 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=574&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>So, finally, after some <a href="http://mail.openjdk.java.net/pipermail/hotspot-dev/2012-November/007294.html">back and forth</a>, the Shark fixes landed in hotspot-comp (thanks Twisti for reviewing and pushing me). It took a little while to sort out the new atomic operations in LLVM. If you want to play with it, you first need LLVM 3.2 (not the latest 3.1 release!):</p>
<pre>
svn co http://llvm.org/svn/llvm-project/llvm/branches/release_32/ llvm-3.2
cd llvm-3.2
./configure &amp;&amp; make &amp;&amp; make install
</pre>
<p>Then you need to check out hotspot-comp:</p>
<pre>
cd ..
hg clone http://hg.openjdk.java.net/hsx/hotspot-comp/
cd hotspot-comp
sh get-source.sh
</pre>
<p>Finally, I recommend you use my <a href="http://cr.openjdk.java.net/~rkennke/shark/Build8-zero-shark">build script for Shark</a>: place it in the toplevel directoy of hotspot-comp and modify all the env variables to your needs. Most importantly, change LLVM_CONFIG to point to your $LLVM_INSTALL_DIR/bin/llvm-config. Enjoy the Shark! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/574/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=574&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/11/28/the-return-of-the-shark-part-ii-howto/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
		<item>
		<title>The return of the Shark</title>
		<link>http://rkennke.wordpress.com/2012/11/20/the-return-of-the-shark/</link>
		<comments>http://rkennke.wordpress.com/2012/11/20/the-return-of-the-shark/#comments</comments>
		<pubDate>Tue, 20 Nov 2012 21:28:48 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=571</guid>
		<description><![CDATA[During the last couple of days, I&#8217;ve been working on fixing Shark for OpenJDK8. Shark is an awesome compiler backend for OpenJDK&#8217;s Hotspot JIT, originally written by Gary Benson. The idea is that, instead of generating target machine code dircetly, Shark would generate an intermediate representation (IR) for LLVM, and let LLVM&#8217;s JIT compiler generate [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=571&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>During the last couple of days, I&#8217;ve been working on fixing Shark for OpenJDK8. Shark is an awesome compiler backend for OpenJDK&#8217;s Hotspot JIT, originally written by <a title="Gary Benson's blog" href="http://gbenson.net/">Gary Benson</a>. The idea is that, instead of generating target machine code dircetly, Shark would generate an intermediate representation (IR) for LLVM, and let LLVM&#8217;s JIT compiler generate the target machine code. The advantage being that it&#8217;s much easier to port to new platforms than writing your own C1 and/or C2 compiler for HotSpot. Unfortunately, Gary left Red Hat&#8217;s Java team a while ago which basically left Shark unmaintained. In the time since, several significant changes happened both in HotSpot and LLVM. After having fixed Zero for OpenJDK8 I thought I&#8217;d give Shark a try and spend a little time on it. The most problematic changes in LLVM or Hotspot have been:</p>
<ul>
<li>Hotspot&#8217;s internal oop class hierarchy has been split into two: oops (all objects) and metadata (classes, methods, etc). This caused some major headaches because Shark code was basically assuming everything&#8217;s an object, and it was not always clear what actually to use: a Klass* or its Java mirror (basically an instance of java_lang_Class)? Etc etc.</li>
<li>A bunch of intrinsics for atomic operations (compare-swap, memory barrier, etc) have been remove from LLVM, and in their place now is a direct representation in the IR. Which actually makes it much nicer and easier to use in Shark.</li>
<li>Several smaller little things, to many and probably to little to list here.</li>
</ul>
<p>With this, I can now do a full build of OpenJDK/Shark on x86, which I am quite proud of. It&#8217;s already successfully running a lot of code, but at the same time I am still hitting some bugs. After I have ironed them out I will propose the changes for inclusion in OpenJDK8 of course.</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/571/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/571/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=571&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/11/20/the-return-of-the-shark/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
		<item>
		<title>Hotspot Zero &amp; OpenJDK8 &amp; DaVinci</title>
		<link>http://rkennke.wordpress.com/2012/08/08/hotspot-zero-openjdk8-davinci/</link>
		<comments>http://rkennke.wordpress.com/2012/08/08/hotspot-zero-openjdk8-davinci/#comments</comments>
		<pubDate>Wed, 08 Aug 2012 11:44:50 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=565</guid>
		<description><![CDATA[During the last couple of weeks, I brought the Zero (i.e. no-assembly) interpreter of OpenJDK up-to-date with OpenJDK8 and (most of) the DaVinci project. Zero is not usually built in standard and developer builds of OpenJDK, and thus often falls by the wayside when new features are developed in Hotspot. Various fixes needed to be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=565&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>During the last couple of weeks, I brought the Zero (i.e. no-assembly) interpreter of OpenJDK up-to-date with OpenJDK8 and (most of) the DaVinci project. Zero is not usually built in standard and developer builds of OpenJDK, and thus often falls by the wayside when new features are developed in Hotspot. Various fixes needed to be made in order to be able to build and run Zero with the latest developments in OpenJDK8 and the DaVinci project again:</p>
<ul>
<li>The Makefiles needed to be updated for copying the .debuginfo and/or .diz files into the right places.</li>
<li>Various small and fairly obvious changes needed to be made like renamed or extended method names. (Some of them are not only needed for Zero, even the X86 CPP interpreter was broken.)</li>
</ul>
<p>With those changes in place (with help from Chris Phillips), it was possible to build Zero with OpenJDK8. The next big step for me was to make Zero build with the DaVinci patch set, in particular with the meth-lazy-7023639.patch. This turned out to be a fairly large refactoring. This patch introduced the so-called lambda-forms for method handles, which moves most of the invocation logic into Java code. The method handles now generate synthetic methods to implement the invocation logic on-the-fly and call that, instead of implementing all of it in the VM. The most important changes that I made was:</p>
<ul>
<li>Rewrote the interpreter handler for the invokedynamic instruction. It now basically resolves the call site and the lambda form to call, and calls it.</li>
<li>Implement a handler for the new invokehandle instruction. This is a JVM-internal bytecode that is generated for calls to the various intrinsics (see below), which pushes an optional appendix parameter on top of the interpreter stack, which is then consumed by those intrinsics and is basically a pointer to the target method to call.</li>
<li>Implement 5 new intrinsics for MethodHandle: invokeBasic(), linkToStatic(), linkToSpecial(), linkToVirtual() and linkToInterface(). The first one is used to call into a lambda form using a polymorphic signature. The latter 4 call out to the target method and are basically signature-polymorphic versions of the various invoke* bytecodes.</li>
</ul>
<p>With those changes in place I can now build a Zero version of OpenJDK8 with the DaVinci (MLVM) patches and all jtreg tests for java/lang/invoke are passing now. As a very welcome side effect, I was able to throw out a *lot* of convoluted code for invokedynamic support in the interpreter. The new code is fairly simple and straightforward (and thus, more maintainable) instead. The code is available from a <a href="http://icedtea.classpath.org/people/rkennke/hotspot-comp-zero/">personal repository</a> for now (it&#8217;s a forest-clone of the upstream hotspot-comp forest, with MQ patch queues in hotspot and jdk modules). In order to check it out, do this (you need the mq extension):</p>
<p>&nbsp;</p>
<pre>
hg clone http://icedtea.classpath.org/people/rkennke/hotspot-comp-zero/
cd hotspot-comp-zero
sh get-source.sh
cd hotspot
hg qpush -a
cd ../jdk
hg qpush -a
cd ..
</pre>
<p>Then build with Zero enabled, see my <a href="http://ladybug-studio.com/~roman/Build8-zero-only">build script</a> to get an overview of the build variables.</p>
<p><b>Update:</b> If you&#8217;re only interested in the patches themselves, have a look at the <a href="http://icedtea.classpath.org/people/rkennke/hotspot-comp-zero/hotspot/.hg/patches/file/">patch repository</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/565/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=565&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/08/08/hotspot-zero-openjdk8-davinci/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
		<item>
		<title>Hacking Hotspot in Eclipse</title>
		<link>http://rkennke.wordpress.com/2012/07/27/hacking-hotspot-in-eclipse/</link>
		<comments>http://rkennke.wordpress.com/2012/07/27/hacking-hotspot-in-eclipse/#comments</comments>
		<pubDate>Fri, 27 Jul 2012 14:53:00 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=560</guid>
		<description><![CDATA[I recently started working on Hotspot, with the goal of getting the Zero port up-to-date with respect to he recent developments in MLVM. In order to work most efficiently, I set up a work environment in Eclipse, and thought it&#8217;d be useful to share a little HOW-TO. First of all, you need to install Eclipse/CDT [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=560&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I recently started working on Hotspot, with the goal of getting the Zero port up-to-date with respect to he recent developments in MLVM. In order to work most efficiently, I set up a work environment in Eclipse, and thought it&#8217;d be useful to share a little HOW-TO.</p>
<p>First of all, you need to install <a title="Eclipse CDT" href="http://www.eclipse.org/cdt/" target="_blank">Eclipse/CDT</a> if you haven&#8217;t already. This gives you a very powerful C/C++ development environment in Eclipse.</p>
<p>You can then open an OpenJDK source tree as C/C++ project by selecting: File -&gt; New -&gt; Other and then &#8216;C/C++&#8217; -&gt; &#8216;Makefile project with existing code&#8217;. Enter project name, e.g. OpenJDK8, and the path to the existing location. Select the appropriate &#8216;Toolchain for indexer Settings&#8217; below. Click Finish.</p>
<p>Then open the project properties by right-clicking on the project, and selecting &#8216;Properties&#8217;. There we need to setup a couple of things.Under &#8216;C/C++ Build&#8217; -&gt; Environment, enter all environment variables that you would normally set on the command line for building OpenJDK. At the very least, you need &#8216;ALT_BOOTDIR&#8217; and LANG=C. Under &#8216;C/C++ Build&#8217;, click the tab &#8216;Refresh Policy&#8217; and remove the only path that is there (otherwise the whole workspace will be refreshed after a build, which takes looooong&#8217;). Optionally, add any paths under &#8216;build&#8217; that you are interested in. Under &#8216;C/C++ General&#8217; -&gt; &#8216;Paths and Symbols&#8217;, select the tab &#8216;Source Location&#8217; and remove the toplevel project path, and enter any source paths you are working with (e.g. hotspot/src). This limits what is visible to the indexer, etc. In order to take full advantage of Eclipse for debugging, I also changed &#8216;C/C++ Build&#8217;, &#8216;Behavior&#8217; tab, replace &#8216;all&#8217; with &#8216;debug_build&#8217; This will normally do a debug build of OpenJDK, which means that you get all the symbols and no compiler optimizations in the binaries. In order to be able to load the symbols in gdb, add &#8216;ZIP_DEBUGINFO_FILES=0&#8242; into the environment variables.Then click &#8216;Apply&#8217; and &#8216;OK&#8217; to close the settings dialog. Select &#8216;Project -&gt; Build Project&#8217; to launch the first build of OpenJDK in Eclipse.</p>
<p>Debugging with Eclipse is similarily straightforward, open Debug Configurations, add a new C/C++ application, set up its properties for the binary, arguments and environment variables (make sure you use a debug-build binary) and run the thing! Being able to fully debug in Eclipse, navigating stack, inspecting variables, setting breakpoints and stepping through the code is so much more useful than doing the same in plain GDB:</p>
<p><a href="http://rkennke.files.wordpress.com/2012/07/hotspot-zero-eclipse.png"><img class="alignnone  wp-image-561" title="Debug Hotspot Zero with Eclipse" src="http://rkennke.files.wordpress.com/2012/07/hotspot-zero-eclipse.png?w=600&#038;h=446" alt="Debug Hotspot Zero with Eclipse" width="600" height="446" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/560/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/560/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=560&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/07/27/hacking-hotspot-in-eclipse/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://rkennke.files.wordpress.com/2012/07/hotspot-zero-eclipse.png?w=300" medium="image">
			<media:title type="html">Debug Hotspot Zero with Eclipse</media:title>
		</media:content>
	</item>
		<item>
		<title>Please help get my son&#8217;s school class get a van</title>
		<link>http://rkennke.wordpress.com/2012/07/04/please-help-get-my-sons-school-class-get-a-van/</link>
		<comments>http://rkennke.wordpress.com/2012/07/04/please-help-get-my-sons-school-class-get-a-van/#comments</comments>
		<pubDate>Wed, 04 Jul 2012 07:01:40 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=557</guid>
		<description><![CDATA[Today I have a somewhat unusual request to you: I need your vote to help get my son&#8217;s school class get a van. Let me explain. My son attends a local Montessori school in Ettenheim (Freiburg area in Germany). A local bank is doing a contest for all sorts of local associations to win a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=557&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Today I have a somewhat unusual request to you: I need your vote to help get my son&#8217;s school class get a van. Let me explain. My son attends a local Montessori school in Ettenheim (Freiburg area in Germany). A local bank is doing a contest for all sorts of local associations to win a van (actually, 8 of them). All of the participating associations are asked to make a short video clip that shows why they need one. And since my son&#8217;s school class could really use such a van as sort of school bus or general purpose transportation tool, they made a short video clip. The video clip was made by the students themselves, and I think it turned out really great. The selection of the winners goes in 3 phases: there were 80 participating associations, in the first round 50 were selected by voting (we already passed that), in the next round the top 25 of those 50 are selected by voting again (that&#8217;s what I&#8217;m gonna ask you about) and finally, 8 of those 25 are selected by a jury. We need to get into that last round now. What can you do? Simply follow <a href="http://sparkasse-bewegt-region.de/vereinswettbewerb/top-50/videodetail-top-50?id=189">this link</a> and click on the star. No registration required. You only need to fill in a captcha and copy+paste some crap in order to prove that you&#8217;re human. If you do this: THANK YOU! It&#8217;s a great help!</p>
<p><strong>Update:</strong> If you already voted yesterday, you can vote again (everybody can vote once per day, up to July 8th)!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/557/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/557/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=557&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/07/04/please-help-get-my-sons-school-class-get-a-van/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
		<item>
		<title>Thermostat 0.3 released</title>
		<link>http://rkennke.wordpress.com/2012/06/26/thermostat-0-3-released/</link>
		<comments>http://rkennke.wordpress.com/2012/06/26/thermostat-0-3-released/#comments</comments>
		<pubDate>Tue, 26 Jun 2012 13:21:02 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=551</guid>
		<description><![CDATA[The Thermostat team (Jon, Omair, Mario and myself) are proud to announce Thermostat 0.3, codenamed &#8216;Not Yet&#8217; (yeah yeah, I know). (For those who don&#8217;t know yet, Thermostat is a next generation and free/open source monitoring and diagnosing tool for OpenJDK.) The major new feature is the support for creating and analysing memory by creating [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=551&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The Thermostat team (Jon, Omair, Mario and myself) are proud to <a href="http://icedtea.classpath.org/pipermail/thermostat/2012-June/002026.htmlhttp://" title="Thermostat 0.3 release announcement" target="_blank">announce Thermostat 0.3</a>, codenamed &#8216;Not Yet&#8217; (yeah yeah, I know). (For those who don&#8217;t know yet, Thermostat is a next generation and free/open source monitoring and diagnosing tool for OpenJDK.)</p>
<p>The major new feature is the support for creating and analysing memory by creating a heapdump and browsing a histogram of objects in memory. Additional features include a kill switch, using which you can terminate a running process (for example if it grossly misbehaves), a new Look and Feel (named Dolphin, made to look similar to Gnome 3&#8242;s Adwaita theme), new command line commands to support heap analysis, numerous little UI improvements and bugfixes.</p>
<p>The below screenshot shows the new heap analysis view. It monitors the heap usage of a selected JVM. When you click the big &#8216;Heap Dump&#8217; button, a heap dump image is created and saved in the MongoDB, it shows up in the list below (you can take and analyze several heapdumps per VM.. they will be listed with the timestamp of their creation). Clicking on the heap dump in that list brings up a histogram view that lists all allocated objects, the number of their instances and the total size of their allocation. This list can be sorted by clicking on the respective table headers. (We are planning several more heap analysis features like searching specific objects and following their paths to GC roots, showing incoming and outgoing references, etc etc, but those will show up in the next release, in about 4 weeks from now.)</p>
<p><a href="http://ladybug-studio.com/~neugens/laf/thermostat/u6.png"><img alt="Thermostat heap analysis view" src="http://ladybug-studio.com/~neugens/laf/thermostat/u6.png" title="Thermostat heap analysis view" class="alignnone" width="700" height="450" /></a></p>
<p>This was a fairly important release for us, it was our first milestone release, ready just in time for the Red Hat Summit (Deepak will present Thermostat there). Infact, it is the second milestone, milestone 0 was earlier this year when Jon and Omair showed Thermostat at FOSDEM. We took at lot of care and time to make Thermostat solid and useful, and while it&#8217;s not overflowing with features yet, we prepared the ground for a lot of greatness. Eventually, Thermostat will support monitoring remote VMs and whole clusters of VMs, and allow drilling down into problem areas and perform deep and fine grained analysis, utilizing information from the JVM itself as well as from the kernel, the operating system and even from the application server.</p>
<p>Please read the <a href="http://icedtea.classpath.org/pipermail/thermostat/2012-June/002026.htmlhttp://" target="_blank">release announcement</a> for more details about this new shiny release of Thermostat!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/551/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/551/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=551&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/06/26/thermostat-0-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://ladybug-studio.com/~neugens/laf/thermostat/u6.png" medium="image">
			<media:title type="html">Thermostat heap analysis view</media:title>
		</media:content>
	</item>
		<item>
		<title>Journey Through The Past</title>
		<link>http://rkennke.wordpress.com/2012/06/23/journey-through-the-past/</link>
		<comments>http://rkennke.wordpress.com/2012/06/23/journey-through-the-past/#comments</comments>
		<pubDate>Sat, 23 Jun 2012 21:16:10 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=539</guid>
		<description><![CDATA[During the last couple of days, Madeleine and I dedicated for a little adventure, which was to clean up our attic. And what a great journey it&#8217;s been. I met old friends that I haven&#8217;t seen in ages. I have met dreams that never came true. And things that came true, that I would never [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=539&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>During the last couple of days, Madeleine and I dedicated for a little adventure, which was to clean up our attic. And what a great journey it&#8217;s been. I met old friends that I haven&#8217;t seen in ages. I have met dreams that never came true. And things that came true, that I would never have dared to dream of. I met some ghosts of the past. I remembered smells and sounds that I thought long forgotten. Lots and lots of memories of nice people that I have met on my way. I have seen love that&#8217;s long gone, and love that somehow never happened. And we cleaned up lots of garbage and dirt. Oh boy, loads of garbage and dirt.</p>
<p><a href="http://rkennke.files.wordpress.com/2012/06/water_19991.jpg"><img src="http://rkennke.files.wordpress.com/2012/06/water_19991.jpg?w=600&#038;h=406" alt="" title="Water 1999" width="600" height="406" class="alignnone size-medium wp-image-544" /></a></p>
<p><a href="http://rkennke.files.wordpress.com/2012/06/rearview_1999.jpg"><img src="http://rkennke.files.wordpress.com/2012/06/rearview_1999.jpg?w=600&#038;h=404" alt="" title="Rearview Mirror 1999" width="600" height="404" class="alignnone size-medium wp-image-547" /></a></p>
<p>The above pictures were made in April 1999. A friend of mine made this picture during a short trip to the Baltic Sea. This was just days before my life would change forever. It was a very happy time. A few days later I would meet Madeleine for the first time. Had I known what sort of adventure I was heading into&#8230; I would do all of it again <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  She turned my life upside down, a few months later I would move in with her in Freiburg, say goodbye to many of my old friends for the last time (many of them I never met again), and it&#8217;s been my best decision ever.</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='630' height='385' src='http://www.youtube.com/embed/QT2-fDK-Hcc?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/539/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=539&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/06/23/journey-through-the-past/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://rkennke.files.wordpress.com/2012/06/water_19991.jpg?w=600" medium="image">
			<media:title type="html">Water 1999</media:title>
		</media:content>

		<media:content url="http://rkennke.files.wordpress.com/2012/06/rearview_1999.jpg?w=600" medium="image">
			<media:title type="html">Rearview Mirror 1999</media:title>
		</media:content>
	</item>
		<item>
		<title>Thermostat goes to Red Hat Summit &amp; JavaOne 2012</title>
		<link>http://rkennke.wordpress.com/2012/06/19/thermostat-goes-to-red-hat-summit-javaone-2012/</link>
		<comments>http://rkennke.wordpress.com/2012/06/19/thermostat-goes-to-red-hat-summit-javaone-2012/#comments</comments>
		<pubDate>Tue, 19 Jun 2012 20:52:04 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=536</guid>
		<description><![CDATA[Last week, we were happy to receive notification that our (Mario &#38; me) proposal for a presentation about Thermostat at JavaOne 2012 has been accepted! Thermostat is the project that both of us have been heavily involved with during the last 4-5 months (having joined Jon &#38; Omair in February who have been involved much [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=536&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Last week, we were happy to receive notification that our (Mario &amp; me) proposal for a presentation about Thermostat at JavaOne 2012 has been accepted! Thermostat is the project that both of us have been heavily involved with during the last 4-5 months (having joined Jon &amp; Omair in February who have been involved much longer and deeper). It&#8217;s a next generation monitoring, diagnosing, profiling and controlling solution for OpenJDK. Just now we are adding heap analysis support and make Thermostat ready for its first milestone release at the end of this week, just in time for Deepak&#8217;s show at the Red Hat Summit in Boston. The second milestone release is planned to be ready roughly 3 months later, just before JavaOne. (Yes, we invented a new development cycle: Conference Driven Release Management <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ) Hope to see lots of folks there!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/536/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/536/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&#038;blog=9951657&#038;post=536&#038;subd=rkennke&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/06/19/thermostat-goes-to-red-hat-summit-javaone-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
	</channel>
</rss>
