hg: mlvm/mlvm: netbeans/meth project

2011-05-25 Thread john . r . rose
Changeset: 14ffe87f27c6 Author:jrose Date: 2011-05-25 00:15 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/rev/14ffe87f27c6 netbeans/meth project ! netbeans/meth/build.xml ! netbeans/meth/nbproject/build-impl.xml ! netbeans/meth/nbproject/genfiles.properties ! netbeans/meth/nbproj

hg: mlvm/mlvm/jdk: meth: incorporate more review comments; add security manager logic

2011-05-25 Thread john . r . rose
Changeset: 8e5985e788d6 Author:jrose Date: 2011-05-25 01:48 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/jdk/rev/8e5985e788d6 meth: incorporate more review comments; add security manager logic ! meth-doc-7014005.patch ! meth-review-7032323.patch

Re: Good news, bad news

2011-05-25 Thread Christian Thalinger
On May 25, 2011, at 5:58 AM, Ola Bini wrote: > Hi, > > There are at least three problems that are still there. They might be > connected, or not. > (I will tell you how to reproduce these at the end) > > I just built a new JVM: > openjdk version "1.7.0-internal" > OpenJDK Runtime Environment (bui

hg: mlvm/mlvm/jdk: meth: add explanatory text

2011-05-25 Thread john . r . rose
Changeset: cc4e3c77aee3 Author:jrose Date: 2011-05-25 02:36 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/jdk/rev/cc4e3c77aee3 meth: add explanatory text ! meth-review-7032323.patch + meth-review-7032323.txt ___ mlvm-dev mailing list m

Re: Good news, bad news

2011-05-25 Thread Ola Bini
Hi, Just to clarify, my builds are against the current patchset in the MLVM repository, so that might explain why you're not seeing these problems. Cheers On 2011-05-25 14.29, Christian Thalinger wrote: > On May 25, 2011, at 5:58 AM, Ola Bini wrote: >> Hi, >> >> There are at least three problems

Re: Good news, bad news

2011-05-25 Thread Christian Thalinger
On May 25, 2011, at 12:20 PM, Ola Bini wrote: > Hi, > > Just to clarify, my builds are against the current patchset in the MLVM > repository, so that might explain why you're not seeing these problems. I know that. That's why we need to find out where the problem is (some hints below). Can som

review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review

2011-05-25 Thread John Rose
This is the last major bundle of changes for JDK 7. http://cr.openjdk.java.net/~jrose/7032323/webrev.00/ (Note: This is an engineering code review. The associated API documents are also under review and are about to be finalized by the Expert Group. Here is a recent version: http://cr.openj

Re: Good news, bad news

2011-05-25 Thread John Rose
On May 25, 2011, at 3:20 AM, Ola Bini wrote: > Just to clarify, my builds are against the current patchset in the MLVM > repository, so that might explain why you're not seeing these problems. Good news: The jdk7 repository just integrated a bunch of critical 292 fixes. I hope the bsd-port can

Re: Good news, bad news

2011-05-25 Thread Ola Bini
Well, on my linux box with a JDK built this morning I don't see any of these problems actually. (However, there are things on my master that only works with the mlvm patches. Type conversions specifically.) Problem 3 also seems to not be there - you would notice if it were since it's also a total

Re: Good news, bad news

2011-05-25 Thread John Rose
On May 25, 2011, at 3:23 AM, Christian Thalinger wrote: > I know that. That's why we need to find out where the problem is (some hints > below). Can someone provide a jar file of the current MLVM JSR 292 classes > (like John's meth.jar)? I just posted it with the javadoc: http://cr.openjdk.

Re: Good news, bad news

2011-05-25 Thread Charles Oliver Nutter
On Wed, May 25, 2011 at 12:18 AM, John Rose wrote: > On May 23, 2011, at 5:43 PM, Charles Oliver Nutter wrote: > > Well I have a prototype GWT in place, but I'm having trouble getting > invokeExact to work. As far as I can tell, incoming arguments should > match the handle type just fine, but I'm

Re: Good news, bad news

2011-05-25 Thread Charles Oliver Nutter
On Wed, May 25, 2011 at 11:31 AM, Charles Oliver Nutter wrote: > Build in progress! I'll let you know how it goes. How low is low in "low > arity"? Ok, we're definitely back to having solid performance, but it's not as good as it was before. I'm not sure if it's related to the inlining threshold

Re: Good news, bad news

2011-05-25 Thread Charles Oliver Nutter
Actually now that I look at it, this isn't all that solid performance. It's just *slightly* faster than using JRuby's inline cache, which almost never inlines... Inline cache only, via CachingCallSite. ~/projects/jruby ➔ jruby -Xcompile.invokedynamic=false --server bench/bench_fib_recursive.rb 5

Re: Good news, bad news

2011-05-25 Thread John Rose
On May 25, 2011, at 9:31 AM, Charles Oliver Nutter wrote: > Build in progress! I'll let you know how it goes. How low is low in "low > arity"? About 0-9. Let's find the next bottleneck! -- John ___ mlvm-dev mailing list mlvm-dev@openjdk.java.net htt

Re: Good news, bad news

2011-05-25 Thread Charles Oliver Nutter
On Wed, May 25, 2011 at 2:14 PM, John Rose wrote: > On May 25, 2011, at 9:31 AM, Charles Oliver Nutter wrote: > >> Build in progress! I'll let you know how it goes. How low is low in "low >> arity"? > > About 0-9. > > Let's find the next bottleneck! That's the spirit! We can do it! - Charlie __

Re: Good news, bad news

2011-05-25 Thread Tom Rodriguez
I've got the bimorphic method handle inline working. I was doing something stupid at the beginning which is why it wasn't as easy as I expected to be and then I encountered a stupid API which wasted a little more time. I was able to leverage the existing invokedynamic call site cache code gen

Re: Good news, bad news

2011-05-25 Thread Charles Oliver Nutter
On Wed, May 25, 2011 at 5:12 PM, Tom Rodriguez wrote: > I've got the bimorphic method handle inline working.  I was doing something > stupid at the beginning which is why it wasn't as easy as I expected to be > and then I encountered a stupid API which wasted a little more time.  I was > able t

Danger Will Robinson! Missing API!

2011-05-25 Thread Charles Oliver Nutter
Oh my goodness...I just realized an obvious missing API...is there still time?! SwitchPoint has no way to query if it has been invalidated! Is this by design? I would like to use this as both a call site guard and as a queryable trigger...to know whether I can go forward with the faster SwitchPoi

Re: Danger Will Robinson! Missing API!

2011-05-25 Thread Ola Bini
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2011-05-26 10.33, Charles Oliver Nutter wrote: > Oh my goodness...I just realized an obvious missing API...is there still > time?! > > SwitchPoint has no way to query if it has been invalidated! > > Is this by design? I would like to use this as

More performance explorations

2011-05-25 Thread Charles Oliver Nutter
Ok, onward with perf exploration, folks! I'm running with mostly-current MLVM, with John's temporary reversion of GWT to the older non-ricochet logic. As reported before, "fib" has improved with the reversion, but it's only marginally faster than JRuby's inline caching logic and easily 30-40% slo

Re: Danger Will Robinson! Missing API!

2011-05-25 Thread Charles Oliver Nutter
On Thu, May 26, 2011 at 12:19 AM, Ola Bini wrote: > Take a look at the way I use SwitchPoints in Seph. The api you're > looking for is already there: > > SwitchPoint x = new SwitchPoint(); > MethodHandle valid = > x.guardWithTest(MethodHandles.constant(boolean.class, true), > MethodHandle.constant

Re: Danger Will Robinson! Missing API!

2011-05-25 Thread Attila Szegedi
On May 25, 2011, at 10:34 PM, Charles Oliver Nutter wrote: > On Thu, May 26, 2011 at 12:19 AM, Ola Bini wrote: >> Take a look at the way I use SwitchPoints in Seph. The api you're >> looking for is already there: >> >> SwitchPoint x = new SwitchPoint(); >> MethodHandle valid = >> x.guardWithTest

Re: Danger Will Robinson! Missing API!

2011-05-25 Thread Ola Bini
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 > > Well, lacking a method, it's actually probably the most > straightforward one :-) Ola wins gazillion points for > resourcefulness. Actually, it was Remi who came up with this gem when we discussed adding an isInvalid() method on SwitchPoint. The

Re: Danger Will Robinson! Missing API!

2011-05-25 Thread Charles Oliver Nutter
On Thu, May 26, 2011 at 12:55 AM, Ola Bini wrote: > Actually, it was Remi who came up with this gem when we discussed adding > an isInvalid() method on SwitchPoint. I don't say it's not clever. It's just not something anyone is typically going to figure out on their own. There will be constant qu

Re: More performance explorations

2011-05-25 Thread Charles Oliver Nutter
Ok, here we go with the macosx build from 5/13. Performance is *substantially* better. First tak: user system totalreal 1.401000 0.00 1.401000 ( 0.821000) 0.552000 0.00 0.552000 ( 0.552000) 0.561000 0.00 0.561000 ( 0.561000) 0.552000 0.0

Re: More performance explorations

2011-05-25 Thread Charles Oliver Nutter
Now for something completely different: SwitchPoint-based "constant" lookup in JRuby. It's certainly possible I'm doing something wrong here, but using a SwitchPoint for constant invalidation in JRuby (rather than pinging a global serial number) is significantly slower. Using SwitchPoint: ~/proj

Re: More performance explorations

2011-05-25 Thread Charles Oliver Nutter
On Thu, May 26, 2011 at 1:34 AM, Charles Oliver Nutter wrote: > Ok, here we go with the macosx build from 5/13. Performance is > *substantially* better. It's worth mentioning that the 5/13 build results are only slightly slower than our "ideal", JRuby's dynopt mode. That made me water at the mout

Re: Good news, bad news

2011-05-25 Thread Tom Rodriguez
On May 25, 2011, at 9:39 PM, Charles Oliver Nutter wrote: > On Wed, May 25, 2011 at 5:12 PM, Tom Rodriguez > wrote: >> I've got the bimorphic method handle inline working. I was doing something >> stupid at the beginning which is why it wasn't as easy as I expected to be >> and then I encoun

Re: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review

2011-05-25 Thread Tom Rodriguez
Overall it seems ok. A few minor oddities: MethodHandle.java variable arity is sometimes hyphenated. It seems more correct without but be consistent. AdapterMethodHandle.java: The new value srcSlot appears unused. Should this just go away: -if (argCount <= 2) return false; // mus