twisti is currently certified at Master level.

Name: Christian Thalinger
Member since: 2007-06-13 13:10:58
Last Login: 2009-03-09 20:54:24

FOAF RDF Share This

No personal information is available.

Projects

Recent blog entries by twisti

Syndication: RSS 2.0

25 Feb 2010 »

First invokedynamic call on SPARC

Today I successfully executed an invokedynamic call on SPARC for the first time.  Excellent!

$ bin/jruby.gamma -J-XX:+UseSerialGC -J-Djruby.compile.invokedynamic=true -J-Xint -J-XX:+UnlockExperimentalVMOptions -J-XX:+EnableMethodHandles -J-XX:+EnableInvokeDynamic bench/bench_fib_recursive.rb 
OpenJDK Server VM (17.0-b08-internal-jvmg) for solaris-sparc JRE (1.7.0), built on Feb 25 2010 04:35:47 by "ct232829" with Workshop 5.9
VM option '+UseSerialGC'
VM option '+UnlockExperimentalVMOptions'
VM option '+EnableMethodHandles'
VM option '+EnableInvokeDynamic'
 52.813000   0.000000  52.813000 ( 52.296000)
 52.824000   0.000000  52.824000 ( 52.823000)
 51.808000   0.000000  51.808000 ( 51.808000)
 49.740000   0.000000  49.740000 ( 49.740000)
 49.450000   0.000000  49.450000 ( 49.450000)

MethodHandle calls already work since a couple of days and I can run the JDK MethodHandlesTest without any errors:

$ gamma -Xinternalversion
OpenJDK Server VM (17.0-b08-internal-jvmg) for solaris-sparc JRE (1.7.0), built on Feb 25 2010 04:35:47 by "ct232829" with Workshop 5.9
$ gamma -Xint -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles -classpath /java/devtools/share/junit/latest/junit.jar:. org.junit.runner.JUnitCore MethodHandlesTestVM option '+UnlockExperimentalVMOptions'
VM option '+EnableMethodHandles'
JUnit version 4.4
OpenJDK Server VM warning: JSR 292 invokedynamic is disabled in this JVM.  Use -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic to enable.
.IIIIII.findStatic
:::::::::::.findVirtual
:::::::::::::::.findSpecial
::.bind
::::::::::::::::::::::.unreflect
::::::::::::::::::::::::I.unreflectGetter
.unreflectSetter
.arrayElementGetter
.arrayElementSetter
.convertArguments
::::::.permuteArguments
.spreadArguments
.collectArguments
.insertArguments
.filterArguments
.foldArguments
.dropArguments
.exactInvoker, genericInvoker, varargsInvoker, dynamicInvoker
.guardWithTest
.catchException
.throwException
.testCastFailure

Time: 7.984

OK (23 tests)

JSR 292 SPARC support is on its way...

Syndicated 2010-02-25 12:57:50 from twisti's weblog

22 Jan 2010 »

JSR 292 server compiler support in JDK 7 b80

About two weeks ago I pushed the remaining changes (<font>6894206, </font><font>6893081, </font><font>6829187, </font><font>6893268</font>) for C2 invokedynamic support on x86 which were integrated into HotSpot 17 b07.  Meanwhile HS17b07 has been integrated into JDK 7 b80 and the latter has been released.

With two changesets <font></font>John Rose pushed lately (<font>6891770, </font><font>6914665)</font>, which have been integrated into JDK 7 b79, you can run now invokedynamic enabled programs with decent performance.  Additionally we tuned inlining heuristics a little (<font>6912063) to be able to use inline-related</font> switches in a product VM and to not count generated MethodHandle adapters.

And here is how it works (gwt is a simple testcase for guardWithTest):

$ java -server -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles -XX:+EnableInvokeDynamic gwt
370655678

You can also run JRuby benchmarks, like <font face="courier new,courier,monospace">bench_fractal.rb</font> which prints a nice fractal (we need to tune inlining heuristics a little to get good performance):

$ bin/jruby --server -J-Djruby.compile.invokedynamic=true -J-XX:+UnlockExperimentalVMOptions -J-XX:+EnableMethodHandles -J-XX:+EnableInvokeDynamic -J-XX:InlineSmallCode=2500 -J-XX:MaxInlineSize=50 bench/bench_fractal.rb
Rendering
<snip>

(To see the fractal you have to try it yourself :-)

The next thing will be C1 support.  I'm currently working on it and it's almost finished.

Syndicated 2010-01-22 13:33:16 from twisti's weblog

12 Jan 2010 »

One

It's exactly one year ago that I started to work for Sun.  Nice!  I wasn't sure that I will make the anniversary facing the merger with Oracle.  Anyway, I learned a lot in this first year and I'm really looking forward to the next years at Sun (or whatever the company will be called then).

Syndicated 2010-01-12 09:25:35 from twisti's weblog

2 Oct 2009 »

Compiz and the Meta key in Emacs

When I switched back to OpenSolaris I wanted to use Compiz instead of Metacity to have at least some eye candy.  After switching to Compiz I noticed that the Meta key is not working in Emacs.  Since it worked in the "Normal Visual Effects" mode I was sure it's related to one of the Compiz plugins that was turned on by default in the "Custom" mode.

After some trial and error I found out that the "Group and Tab Windows" in the "Window Management" section is the bugger.  It uses a couple of <Mod4> key bindings and one of them is <Mod4>x.

Disabling that plugin makes M-x work again in Emacs.

Syndicated 2009-10-02 15:33:22 from twisti's weblog

2 Oct 2009 »

Back to OpenSolaris (and DBX)

A few months ago I got a new laptop (unibody MacBook Pro) and I decided to stay with Mac OS X because of two main reasons: Broadcom WiFi and the touchpad.  Everything looked very slick and worked, obviously, out-of-the-box.  A perfect OS for private use.

But developing on that OS is a pain in the...  Apple's GDB drives me nuts!  It was crashing every now and then and was 95% of the time not able to call simple C++ instance methods.  Completely useless!!!

I filed a few bugs in Apple's Radar and tried to get the FSF guys to support Darwin in their GDB.  Some help in both cases, but nothing I could really use.

So, yesterday I decided to bite the bullet, install OpenSolaris again, use NDIS Wrapper for the Broadcom WiFi and to give the xorg-input-synaptics package of SFE a try for the touchpad.  The first one is working flawlessly, but only in 32-bit mode.  That means I can't test 64-bit HotSpot locally.  Well, I can live with that for some time.  I didn't have time to try the second one yet but I hope it works.

Glad to be back.

Syndicated 2009-10-02 15:14:58 from twisti's weblog

31 older entries...

 

twisti certified others as follows:

  • twisti certified avdyk as Journeyer
  • twisti certified michi as Master

Others have certified twisti as follows:

  • gary certified twisti as Master
  • mjw certified twisti as Journeyer
  • avdyk certified twisti as Master
  • robilad certified twisti as Master
  • reenoo certified twisti as Master
  • gnuandrew certified twisti as Master
  • rlougher certified twisti as Master
  • michi certified twisti as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page