Re: failures running jdk/test/java/dyn tests

2011-01-11 Thread John Rose
On Jan 11, 2011, at 7:07 PM, Stephen Bannasch wrote: That fixed the problem for all the failing tests in jdk/test/java/dyn. Good. So there's a bug in those pending patches. Sorry for the extra work! -- John ___ mlvm-dev mailing list

Re: Crash in Compile::find_intrinsic

2011-01-07 Thread John Rose
On Jan 7, 2011, at 1:30 AM, Christian Thalinger wrote: Can you look at the false negative? I will fix the checking logic. Sure. Please throw me a recipe (concise if possible) for reproducing the error. -- John ___ mlvm-dev mailing list

heads up: package name change coming

2011-01-07 Thread John Rose
The home package for JSR 292 is likely to change soon from java.dyn to java.lang.mh (or a similar name). The name java.dyn was chosen several years ago, long before method handles or Project Lambda. Our JDK7 architecture and future plans have changed enough to warrant moving the content of

Re: Crash in Compile::find_intrinsic

2011-01-07 Thread John Rose
On Jan 7, 2011, at 2:48 AM, Christian Thalinger wrote: Wait a second... I doubt this is a false negative in VerifyMethodHandles. The MethodHandleWalker can't find a raw retype conversion function and that's why it crashes. Maybe it is a false negative but then we are missing some

Re: Status of Anno Class loader with constant patches?

2011-01-06 Thread John Rose
On Jan 6, 2011, at 1:12 AM, Helmut Eller wrote: * John Rose [2011-01-06 02:37] writes: Live constants are definitely one of the use cases that invokedynamic is designed for. Are/will there be any means to link invokedynamic call sites eagerly instead of the lazy linking scheme? E.g

Re: Arg ordering on the test path method handle for GwT

2011-01-06 Thread John Rose
On Jan 6, 2011, at 10:59 AM, Mark Roos wrote: My goal was to do the port at the byte code level so that there would be a high degree of confidence that the 500K of existing code will work as it does today. It is a stack based VM so changing the arg order could add some pain for me

Re: Bug with invokeArguments on x64

2011-01-04 Thread John Rose
On Jan 3, 2011, at 9:03 AM, Rémi Forax wrote: Hi Christian, On 01/03/2011 05:41 PM, Christian Thalinger wrote: On Dec 27, 2010, at 12:30 PM, Rémi Forax wrote: Hi guys, this code crash with jdk7b123 on x64, and on x32 it raises a CCE but it should raise a WrongMethodTypeException. The

Re: bad class file crash the VM

2011-01-04 Thread John Rose
On Jan 2, 2011, at 6:42 AM, Rémi Forax wrote: This means there is a bug in my code but also that there is a bug in the VM which should reject the bad class file instead of crashing. Try java -Xverify:all. If the class file fails verification *but* the verifier is not used, the JVM is

Re: bad class file crash the VM

2011-01-04 Thread John Rose
Nice. Thanks! -- John On Jan 4, 2011, at 5:30 PM, Rémi Forax wrote: On 01/05/2011 01:31 AM, John Rose wrote: On Jan 2, 2011, at 6:42 AM, Rémi Forax wrote: This means there is a bug in my code but also that there is a bug in the VM which should reject the bad class file instead

updated 292 spec

2011-01-04 Thread John Rose
Here is the current version of the document: http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm-0104/ The changes since b123 (which are few) are described here: http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm-0104-after-1216/ As you can see from the spec, we are down to a very

Re: hg: mlvm/mlvm/jdk: coro: experimental coroutine thread migration and serialization

2010-12-23 Thread John Rose
Fixed. -- John On Dec 23, 2010, at 3:36 AM, Christian Thalinger wrote: That seems to be a problem in meth-conv-6939861. MethodHandles::verify_klass should use jcc instead of jccb. John, will you fix it or should I take care of it? ___ mlvm-dev

Re: hg: mlvm/mlvm/jdk: coro: experimental coroutine thread migration and serialization

2010-12-22 Thread John Rose
Can you get a backtrace? The question is who is torturing the poor assembler. -- John On Dec 22, 2010, at 10:09 PM, Howard Lovatt wrote: Hi, When I use this version on my lambda test code I get the following error: VM option '+UnlockExperimentalVMOptions' VM option

Re: review request (L): 7001424: implement JSR 292 EG adjustments, November 2010

2010-12-16 Thread John Rose
:04 PM, John Rose wrote: This is a JDK-only change request, in response to the last several weeks of JSR 292 EG work. http://cr.openjdk.java.net/~jrose/7001424/webrev.00/ May I have an eyeball or two, please? Thanks, src/share/classes/java/dyn/ClassValue.java: 93 * If no value

Re: [jvm-l] Re: request for advice: safepoints in the JSR 292 spec

2010-12-15 Thread John Rose
On Dec 15, 2010, at 2:27 PM, Rémi Forax wrote: Why can't T3 happen between the synchronized block and the setUpdate call, and get overwritten with a T1-based decision? Rich It can. I was wrong. setTarget() has to be in the synchronized block. Foo; I agree. The T1 update can float

Fwd: [jvm-l] request for advice: safepoints in the JSR 292 spec

2010-12-09 Thread John Rose
forwarded message: From: John Rose john.r.r...@oracle.com Date: December 9, 2010 4:01:21 PM PST To: jvm-langua...@googlegroups.com Subject: [jvm-l] request for advice: safepoints in the JSR 292 spec Reply-To: jvm-langua...@googlegroups.com Hi everyone. On behalf of the JSR 292 EG, I'd like to ask

Re: review request (L): 7001379: bootstrap method data needs to be moved from constant pool to a classfile attribute

2010-11-29 Thread John Rose
On Nov 25, 2010, at 2:27 AM, Christian Thalinger wrote: On Nov 25, 2010, at 8:42 AM, John Rose wrote: On Nov 22, 2010, at 6:57 PM, John Rose wrote: Because of a strong and reasonable request from the IBM JVM team, the JSR 292 class file format for CONSTANT_InvokeDynamic is changing one

review request (L): 7001379: bootstrap method data needs to be moved from constant pool to a classfile attribute

2010-11-24 Thread John Rose
On Nov 22, 2010, at 6:57 PM, John Rose wrote: Because of a strong and reasonable request from the IBM JVM team, the JSR 292 class file format for CONSTANT_InvokeDynamic is changing one more time. ... I will be putting out a review request soon for this. Here is a JVM change which moves

Re: review request (L): 6984311 JSR 292 needs optional bootstrap method parameters

2010-11-22 Thread John Rose
will be a new attribute named BootstrapMethods. This format change will make the class file format a easier to parse by some JVMs (such as J9). I will be putting out a review request soon for this. -- John On Nov 2, 2010, at 2:38 AM, Christian Thalinger wrote: On Oct 30, 2010, at 9:08 PM, John Rose

Re: review request (L): 6984311 JSR 292 needs optional bootstrap method parameters

2010-11-22 Thread John Rose
P.S. The updated spec is here, as always: http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm/java/dyn/package-summary.html http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm/ ___ mlvm-dev mailing list mlvm-dev@openjdk.java.net

Re: review request (M): 6979327: method handle invocation should use casts instead of type parameters to specify return type

2010-11-19 Thread John Rose
It's re-published. -- John On Nov 19, 2010, at 1:47 AM, Christian Thalinger wrote: There's something wrong with the webrev. I get 404s for all files except the first. ___ mlvm-dev mailing list mlvm-dev@openjdk.java.net

review request (M): 6979327: method handle invocation should use casts instead of type parameters to specify return type

2010-11-18 Thread John Rose
Javac changes have now propagated for changing this method handle syntax: mh.TinvokeExact() to be replaced by this: (T) mh.invokeExact() The present reviewe is the other shoe dropping for these javac changes, to make the corresponding changes in the JDK code. All the places which used the

Re: mlvm failed building coroutine.cpp on Mac OS X 10.4.6

2010-11-17 Thread John Rose
On Nov 17, 2010, at 9:27 PM, Stephen Bannasch wrote: At 1:29 PM -0800 11/16/10, John Rose wrote: Stephen, that's my bug. Will fix ASAP. -- John Just tried again with these guards: export davinci=$(pwd) guards=buildable testable /coro /continuation and am now getting this error

a new way to play with invokedynamic

2010-11-16 Thread John Rose
Folks, here's a small tool for JSR 292 that may have its uses: http://blogs.sun.com/jrose/entry/a_modest_tool_for_writing Enjoy, -- John ___ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Re: a new way to play with invokedynamic

2010-11-16 Thread John Rose
:11 AM, BGB wrote: On 11/16/2010 4:53 AM, John Rose wrote: Folks, here's a small tool for JSR 292 that may have its uses: http://blogs.sun.com/jrose/entry/a_modest_tool_for_writing yep, interesting. sorry, this is unrelated, but in my own (hobby/experimental) VM effort (here using

Re: mlvm failed building coroutine.cpp on Mac OS X 10.4.6

2010-11-16 Thread John Rose
Stephen, that's my bug. Will fix ASAP. -- John On Nov 8, 2010, at 6:21 PM, Stephen Bannasch wrote: If I exclude the coro patch: export davinci=$(pwd) guards=buildable testable /coro Then I get this error: # Running javac: /usr/local/soylatte16-i386-1.0.3/bin/java

Re: How do I use the new @BootstrapMethod annotation?

2010-11-16 Thread John Rose
On Nov 16, 2010, at 1:59 PM, assembling signals wrote: 1) Which JSR-292 features will people be able to use with standard (non-customized) JDK7 builds in the future? All those documented in http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm/ . That is the leading edge of the JSR 292

Re: Few questions about invokeDynamic

2010-11-07 Thread John Rose
On Nov 7, 2010, at 3:15 PM, Rémi Forax wrote: John, I wonder if invokeVarargs() with 0 argument should use invokeGeneric instead of the genericInvoker. Also it seems that there is no check in the VM that the default target of a switch can be not taken. Probably. invokeWithArguments (which

Re: Few questions about invokeDynamic

2010-11-07 Thread John Rose
On Nov 7, 2010, at 1:17 AM, assembling signals wrote: For the use case calling a method whose signature is unknown prior to runtime (such as some lib, loaded externally) : That's what MethodHandles.genericInvoker is for. You can also do this yourself by calling Lookup.findVirtual on

Re: [jvm-l] Stack value extractor in Java

2010-11-06 Thread John Rose
On Nov 6, 2010, at 11:38 AM, Rémi Forax wrote: I've wanted to write that several times, so before doing something else, I want to try to convince all VM hackers that they should stop doing what they currently do and starts to implement a way to export values from the VM stack into a Java

Re: review request (L): 6984311 JSR 292 needs optional bootstrap method parameters

2010-10-30 Thread John Rose
On Oct 29, 2010, at 4:09 AM, Christian Thalinger wrote: On Oct 28, 2010, at 8:40 PM, John Rose wrote: 6984311: JSR 292 needs optional bootstrap method parameters http://cr.openjdk.java.net/~jrose/6984311/webrev.02/ src/share/vm/oops/constantPoolOop.cpp: 576 // Benign race condition

Re: review request (XL): 6981777: implement JSR 292 EG adjustments from summer 2010

2010-10-30 Thread John Rose
. (It's in the *311 webrev because I thought of rolling it into the fixes for 6984311, but then decided to split it.) -- John On Oct 28, 2010, at 4:30 AM, Christian Thalinger wrote: On Oct 26, 2010, at 10:39 AM, John Rose wrote: This is a large set of miscellaneous API adjustments that takes

Re: review request (XL): 6981777: implement JSR 292 EG adjustments from summer 2010

2010-10-30 Thread John Rose
On Oct 28, 2010, at 4:30 AM, Christian Thalinger wrote: On Oct 26, 2010, at 10:39 AM, John Rose wrote: This is a large set of miscellaneous API adjustments that takes account of intensive JSR 292 Expert Group work since the JVM Language Summit and JavaOne. http://cr.openjdk.java.net

review request (XL): 6981777: implement JSR 292 EG adjustments from summer 2010

2010-10-26 Thread John Rose
This is a large set of miscellaneous API adjustments that takes account of intensive JSR 292 Expert Group work since the JVM Language Summit and JavaOne. http://cr.openjdk.java.net/~jrose/6981777/webrev.01/ An earlier message, sent to the EG and copied to mlvm-dev, details the changes:

Re: hg: mlvm/mlvm/jdk: indy, meth: roll up current EG discussions to date into javadoc

2010-10-24 Thread John Rose
I agree. Thanks for the comments. -- John On Oct 24, 2010, at 3:49 AM, Rémi Forax wrote: Le 24/10/2010 12:20, john.r.r...@oracle.com a écrit : Changeset: e3a3904eea5d Author:jrose Date: 2010-10-24 03:20 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/jdk/rev/e3a3904eea5d

optional arguments for bootstrap methods

2010-10-22 Thread John Rose
Based partly on our discussions at the Summit about live constants, and also based on the likely requirements of Project Lambda, the JSR 292 EG is likely to allow any single invokedynamic instruction to pass one or more extra constant values into the bootstrap method invocation. Here is the

Re: optional arguments for bootstrap methods

2010-10-22 Thread John Rose
On Oct 22, 2010, at 2:19 AM, Rémi Forax wrote: And also: CallSite myBSM(MethodHandles.Lookup look, String name, MethodType type); CallSite myBSM(MethodHandles.Lookup look, String name, MethodType type, Object arg); CallSite myBSM(MethodHandles.Lookup look, String name, MethodType

inner classes mixed with method handles: does it matter?

2010-10-22 Thread John Rose
The JSR 292 EG is discussing access rules for method handles. The draft spec. say that CONSTANT_MethodHandles in the constant pool, and dynamically looked up method handles, are accessible to related nested classes: * In general, the conditions under which a method handle may be *

Re: optional arguments for bootstrap methods

2010-10-22 Thread John Rose
On Oct 22, 2010, at 4:03 AM, Helmut Eller wrote: Why is the name a required and not an optional argument? The name is part of the fixed structure of CONSTANT_InvokeDynamic, which is modeled on CONSTANT_Methodref, and therefore contains a CONSTANT_NameAndType. Whether you want the name or

transitional mlvm bug in JDK7 bundles

2010-10-16 Thread John Rose
If you are experimenting with the OpenJDK JDK7 bundles, you might have noticed that this syntax: mh.intinvokeExact(x) has changed to this: (int) mh.invokeExact(x) Note on void: There is no (void) cast in Java, but to get a void call, use a method call expression as a statement.

Re: Tail call optimization in Java JDK 8?

2010-10-12 Thread John Rose
On Oct 5, 2010, at 12:59 PM, Tarek Chammah wrote: One particular feature I was thinking of under the ++ column is support for tail call optimization. This particular Da Vinci sub-project is apparently not fully engineered and spec'ed at the moment. But I was thinking with the recent

Re: Another paper on invokedynamic

2010-10-11 Thread John Rose
On Oct 10, 2010, at 10:48 AM, Chanwit Kaewkasi wrote: It has been too late to me to cite it. Sorry about that! That's OK; the paper just came out. I made an obscure reference to it in my blog: http://blogs.sun.com/jrose/entry/an_experiment_with_generic_arithmetic Here's a file copy:

Re: MethodHandles for Kawa and other functional languages?

2010-09-29 Thread John Rose
On Sep 29, 2010, at 5:00 PM, Per Bothner wrote: Fundamentally, the question is: When the Scheme programmer passes of function to a higher-level function (like map), what is the type of the object passed: A MethodHandle? A Procedure? Something else? There seem to be different kind of

Re: JavaOne meet-up?

2010-09-24 Thread John Rose
On Sep 24, 2010, at 11:57 AM, Hannes Wallnoefer wrote: Can I simply use the latest official JDK7 beta build? I'm on x86 Linux. Any help is greatly appreciated! In general, the JDK7 beta builds are not far behind the mlvm patch set, for JSR 292 work. (By not far I mean a matter of several

JavaOne meet-up?

2010-09-22 Thread John Rose
I am available for conversation about JVM futures (JSR 292 and MLVM) this afternoon and tomorrow. At about 3:30, I will be hanging around the JavaOne tent by the Hilton. RSVP in case we relocate. I'm especially eager to hear people's comments on the JSR 292 work. Much of it is already in

review request (L): 6939224 MethodHandle.invokeGeneric needs to perform the correct set of conversions

2010-09-14 Thread John Rose
This is the Java code which uses the new hook placed in hotspot under this same bug. http://cr.openjdk.java.net/~jrose/6939224/jdk-webrev.00/ -- John ___ mlvm-dev mailing list mlvm-dev@openjdk.java.net

review request (L): 6981777 implement JSR 292 EG adjustments from summer 2010

2010-09-12 Thread John Rose
6981777: implement JSR 292 EG adjustments from summer 2010 Summary: Introduce one more constant pool type, CONSTANT_MethodApply. This JVM change implements a mechanism which supports computed constants and parameterized bootstrap methods: http://cr.openjdk.java.net/~jrose/6981777/webrev.00

FYI: pending RI changes

2010-09-12 Thread John Rose
FYI: I CC-ed two review requests for the JSR 292 reference implementation to this list. -- John ___ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

review request (L): 6939224 MethodHandle.invokeGeneric needs to perform the correct set of conversions

2010-09-12 Thread John Rose
6939224: MethodHandle.invokeGeneric needs to perform the correct set of conversions Until now, the HotSpot JVM has conflated invokeExact with invokeGeneric. These changes, combined with forthcoming JDK runtime support changes, provide a hook for the JVM to perform on-the-fly argument

FYI: pending integrations

2010-09-05 Thread John Rose
(There are more to come, also. -- John) Begin forwarded message: From: John Rose john.r.r...@oracle.com Date: September 5, 2010 12:04:31 AM PDT To: hotspot compiler hotspot-compiler-...@openjdk.java.net Subject: Request for review (S): 6953246: JSR 292 should support SAM conversion One

heads up: MH invocation syntax change

2010-08-26 Thread John Rose
I have just pushed code to mlvm/{langtools,jdk} which reflects the following syntax change for method handle invocation: T x = mh.TinvokeExact(...); = T x = (T) mh.invokeExact(...); and: {mh.voidinvokeExact(...);} = {mh.invokeExact(...);} In other words, we are replacing fake type

Re: Java Doc Bugs

2010-08-14 Thread John Rose
Thanks, Howard. Will fix in next push. I changed the example to use the assertEquals function from JUnit: MethodHandle cat = lookup().findVirtual(String.class, concat, methodType(String.class, String.class)); assertEquals(xy, (String) cat.invokeExact(x, y)); MethodHandle d0 =

Re: [asm] Re: bootstrap methods in the constant pool

2010-08-12 Thread John Rose
, you relink the affected indy instructions. This clearly uses a different BSM than any pre-existing BSM used by the original compiler. -- John regards, Eugene Rémi Forax wrote: Le 13/07/2010 04:59, John Rose a écrit : Folks, the 292 EG has decided to register bootstrap methods

Re: -Xlint:all Bug

2010-08-09 Thread John Rose
On Aug 6, 2010, at 9:32 PM, Howard Lovatt wrote: There is a minor bug when you use -Xlint:all, I get: Compiling 1 source file to /Users/lov080/Dropbox/Personal/Java/examples/Invoke Dynamic Multiple Dispatch/build/classes /Users/lov080/Dropbox/Personal/Java/examples/Invoke Dynamic

Re: display presence of mlvm in output of: 'java -version'

2010-07-31 Thread John Rose
That's a good idea. There could be a patch at the base of the mlvm patch queue that adds something to the version string, so people can quickly check if they have a prototype binary. -- John On Jul 31, 2010, at 4:08 PM, Stephen Bannasch wrote: It would be nice if there was some indication

Re: Invokedynamic slower than reflection?

2010-07-30 Thread John Rose
Eric's test Hello.java works OK, but your test, Rémi, fails (Fib4.java). So it is a second bug. Stephen, I left a comment: http://gist.github.com/500808 Gist of the gist is: -XX:+UnlockExperimentalVMOptions -XX:+EnableInvokeDynamic -- John On Jul 30, 2010, at 8:30 AM, Rémi Forax wrote:

Re: Primitive parameters must follow references

2010-07-30 Thread John Rose
On Jul 30, 2010, at 8:37 AM, Rémi Forax wrote: This is a known Not Yet Implemented feature, And as far as I know there is no workaround :( BTW, there is another NIY hole, you can't have more than 10 parameters. I am working on removing these limitations. The present code for FilterGeneric

Re: Invokedynamic slower than reflection?

2010-07-28 Thread John Rose
On Jul 27, 2010, at 10:11 AM, Rémi Forax wrote: Le 16/07/2010 00:48, John Rose a écrit : It was some sort of bitrot. I pushed a fix for this to mlvm/hotspot. Thanks for the reports! -- John Is it enable by default, it doesn't seem to work ? The fix is titled this way: 6969574

Re: Invokedynamic slower than reflection?

2010-07-15 Thread John Rose
It was some sort of bitrot. I pushed a fix for this to mlvm/hotspot. Thanks for the reports! -- John On Jun 5, 2010, at 10:58 AM, Rémi Forax wrote: Le 05/06/2010 02:01, John Rose a écrit : Is the call site megamutable? (Is it linked many times instead of once?) -- John

Re: getting a fatal error/Abort trap building mlvm

2010-07-15 Thread John Rose
Yikes. Thanks for the quick report, Stephen. I pushed an updated patch to get past the immediate bug and am looking more at the problem. -- John P.S. Here are some random notes about debugging which might be useful: The log file hs_err_pid70212.log might have been interesting for me to look

Re: [asm] Re: bootstrap methods in the constant pool

2010-07-13 Thread John Rose
On Jul 13, 2010, at 5:39 AM, Eugene Kuleshov wrote: what would be the meaning of bootstrap method pointing to a method handle of get/putField or get/putStatic type? It's syntactically valid as a classfile, but the instruction will fail to link with InvokeDynamicBootstrapError, with cause

bootstrap methods in the constant pool

2010-07-12 Thread John Rose
, the JVM accepts both old and new formats of invokedynamic. But old format support will go away when 292 is finalized. Best wishes, -- John Begin forwarded message: From: John Rose john.r.r...@oracle.com Date: July 12, 2010 4:20:03 PM PDT To: jsr-292...@jcp.org Subject: ISSUE: explicit bootstrap

Re: Latest Thinking

2010-06-22 Thread John Rose
On Jun 22, 2010, at 5:30 AM, Rémi Forax wrote: Le 22/06/2010 12:48, Howard Lovatt a écrit : A couple of comments on the current MethodHandle API: 1. Having only one bootstrap method for InvokeDynamic is a bit limiting, it it possible to have one per use site? It's an open issue, we're

Re: Latest Thinking

2010-06-22 Thread John Rose
On Jun 22, 2010, at 2:25 PM, Rémi Forax wrote: There is another possible design. Allow users to create fake types like java.dyn.Invokedynamic and define the annotation on that type. I'd rather not let the magic signature polymorphism escape beyond the current set of names (InvokeDynamic and

Re: Latest Thinking

2010-06-22 Thread John Rose
On Jun 22, 2010, at 4:24 PM, Howard Lovatt wrote: I don't think there is confusion between a type name and a value, therefore proposed syntax OK (but maybe not the preferred). If you want a class you have to append '.class'. Sorry, that would be a breaking change to the language, not an

Re: Invokedynamic slower than reflection?

2010-06-04 Thread John Rose
Is the call site megamutable? (Is it linked many times instead of once?) -- John On Jun 4, 2010, at 4:40 AM, Rémi Forax wrote: It's funny, I've found the same error last night. Yes, there is a problem, if you run with -XX:+PrintCompilation, you will see lot of made not entrant on the

Re: Mac OS X build available from 2010 05 28

2010-05-31 Thread John Rose
On May 31, 2010, at 4:34 PM, Stephen Bannasch wrote: At 12:41 PM -0500 5/31/10, Charles Oliver Nutter wrote: I'll make a shameless request, since you have a build env set up and I've been too lazy to refresh mine: can you post a fastdebug build too? I needz me opto assemblyz! Remind me (or

Re: hg: mlvm/mlvm/jdk: meth: add proxy maker for closures

2010-05-27 Thread John Rose
On May 25, 2010, at 2:12 PM, Charles Oliver Nutter wrote: On Mon, May 24, 2010 at 8:22 PM, John Rose john.r.r...@oracle.com wrote: Right. Here are the degrees of freedom I see at this point: - whether to accept SAM types which are not interfaces (default: yes) - whether to allow a query API

Re: Sv: hg: mlvm/mlvm/jdk: cpindex: reorder series file to reflect recent and pending pushes; tweak MethodHandlesTest

2010-05-24 Thread John Rose
On May 23, 2010, at 10:21 AM, Fredrik Öhrström wrote: What are the patches needed to build with full MethodHandle support. The wiki page http://wikis.sun.com/display/mlvm/Building says that the patche guards buildable testable should be used. This is clearly not enough. It seems like

Re: hg: mlvm/mlvm/jdk: meth: add proxy maker for closures

2010-05-24 Thread John Rose
On May 18, 2010, at 1:18 PM, Charles Oliver Nutter wrote: One important question for me is how multi-method interfaces would be handled. I had originally tried to use Scala's Function interfaces in Duby to represent closures, but they all have multiple abstract methods that must be handled

Re: InvokeVarargs with a method with more than 10 arguments

2010-05-23 Thread John Rose
Working on this; the next big chunk removes such limitations. (Ricochet frames.) -- John On May 23, 2010, at 3:01 PM, Rémi Forax wrote: I got a NYI if I try to call a method using invokeVarargs with more than 10 arguments. ___ mlvm-dev mailing

Re: VM and JDK classes aren't aligned

2010-05-22 Thread John Rose
I recently committed to JDK7 a bundle of coordinated changes to the JDK and JVM. It looks like we failed to promote, in jdk7-b92, the JDK changes that go with the most recent JVM changes. These JVM changes are in hs19-b01. The JDK changes will catch up in jdk7-b93. (Reminder: This mismatch

Re: hg: mlvm/mlvm/jdk: meth: add proxy maker for closures

2010-05-18 Thread John Rose
On May 18, 2010, at 1:00 AM, Tobias Ivarsson wrote: It does indeed. Am I reading this correctly that we will now(/soon) be able to create proxies for abstract classes? Maybe; it's just a draft so far. I expect *not* to use reflect.Proxy; we need something more opaque and optimizable. There

Re: hg: mlvm/mlvm/jdk: meth: add proxy maker for closures

2010-05-18 Thread John Rose
On May 18, 2010, at 12:59 AM, Rémi Forax wrote: It's only useful when bridging JRuby and Java, It could also be useful for bridging language A to language B. For example, Clojure has a suite of Function interfaces. But the key use is as you say, for interoperating with the Java platform APIs.

Re: Bug in MethodHandles.convertArguments

2010-05-11 Thread John Rose
On May 11, 2010, at 3:27 AM, Rémi Forax wrote: I am currently not a able to call that method because converting an int to an object doesn't work. This feels like version skew. I'm trying to reproduce it locally. If your code doesn't work then my unit tests shouldn't either; but they do

Re: jvm lang summit in July?

2010-05-10 Thread John Rose
On May 10, 2010, at 7:17 AM, Jochen Theodorou wrote: No reaction to this yet. The registration page has a link for the 2010 summit, but it points still to the 2009 version. The date is real (July 26-28). We pulled the date earlier this year because we don't want to overlap with JavaOne (in

Re: hg: mlvm/mlvm/hotspot: 5 new changesets

2010-04-14 Thread John Rose
Yes, meth-conv has the header split like that. Apologies in advance: I have not built meth-conv on sparc yet. If you want to move the header file split from meth-conv into an earlier patch, and have the cycles to do so, feel free. -- John On Apr 14, 2010, at 1:40 AM, Christian Thalinger

Re: Loop handle

2010-04-10 Thread John Rose
On Apr 10, 2010, at 3:01 PM, James Thorpe wrote: If CPS is out - what about passing the loop condition and body into a function that does the looping for you. http://blogs.sun.com/jrose/resource/jsr292/LoopHandle.zip -- John ___ mlvm-dev mailing

hg: mlvm/mlvm/jdk: meth: buglet with protected methods in 6939134

2010-04-06 Thread john . rose
Changeset: b1506f926f77 Author:jrose Date: 2010-04-06 00:48 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/jdk/rev/b1506f926f77 meth: buglet with protected methods in 6939134 ! meth-ing-6939134.patch ___ mlvm-dev mailing list

Re: Duby dynamic dispatch has landed!

2010-04-05 Thread John Rose
FTR, there's a good smoke test for the method handles part of JSR 292 in the JDK sources: davinci/sources/jdk/test/java/dyn/MethodHandlesTest.java Running the test requires JUnit 4.5. $JSR292_JAVA_HOME/bin/java -ea -esa -XX:+{UnlockExperimentalVMOptions,EnableMethodHandles}

Re: Duby dynamic dispatch has landed!

2010-04-05 Thread John Rose
The sources are changing rapidly at this point; I'm working on invokeGeneric. If you send me a JAR which which can run stand-alone, I can use it as a regression test. -- John On Apr 2, 2010, at 2:36 PM, Attila Szegedi wrote: On 2010.03.25., at 3:17, Charles Oliver Nutter wrote: For

hg: mlvm/mlvm/langtools: meth: assign bug numbers for review

2010-03-30 Thread john . rose
Changeset: ab871ff01a91 Author:jrose Date: 2010-03-30 03:36 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/langtools/rev/ab871ff01a91 meth: assign bug numbers for review + meth-ing-6939134.patch - meth-ing.patch = meth-ldc-6939203.patch meth-ldc.patch ! series

Request for reviews (M): 6939196: method handle signatures off the boot class path get linkage errors

2010-03-30 Thread John Rose
6939196: method handle signatures off the boot class path get linkage errors http://cr.openjdk.java.net/~jrose/6939196/hs-webrev.00/ http://cr.openjdk.java.net/~jrose/6939196/jdk-webrev.00/ The bugtraq description is copied below. - Adjust MethodType lookup logic to search off the BCP, but not

Request for reviews (L): 6939203: JSR 292 needs method handle constants

2010-03-30 Thread John Rose
6939203: JSR 292 needs method handle constants Summary: Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode. http://cr.openjdk.java.net/~jrose/6939203/hs-webrev.00 Please review this small JDK change along with it:

hg: mlvm/mlvm/hotspot: meth: fix unit tests; improve access checking logic

2010-03-27 Thread john . rose
Changeset: e6b2b7033950 Author:jrose Date: 2010-03-27 02:47 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/hotspot/rev/e6b2b7033950 meth: fix unit tests; improve access checking logic ! cpindex-cleanup.patch ! meth-ing.patch ! meth-ldc.patch

hg: mlvm/mlvm/jdk: meth-bcp: fix problems with name resolution, so code need not be on the bootclasspath

2010-03-27 Thread john . rose
Changeset: ff2d7d3d25de Author:jrose Date: 2010-03-27 05:35 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/jdk/rev/ff2d7d3d25de meth-bcp: fix problems with name resolution, so code need not be on the bootclasspath + meth-bcp.patch ! meth-ing.patch ! series

hg: mlvm/mlvm/jdk: indy: improve javadoc; add temporary backward compatibility logic for CallSite

2010-03-25 Thread john . rose
Changeset: 8b0a03b04092 Author:jrose Date: 2010-03-25 03:24 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/jdk/rev/8b0a03b04092 indy: improve javadoc; add temporary backward compatibility logic for CallSite ! meth-ing.patch ___

JSR 292 RI status javadoc checkpoint

2010-03-25 Thread John Rose
The JSR 292 EG has been working with me to refine and clarify the spec for invokedynamic. I have pushed updates to the RI to reflect this ongoing work. For the record, here is javadoc for the current state of the RI: http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm/ The

Re: Duby dynamic dispatch has landed!

2010-03-25 Thread John Rose
On Mar 25, 2010, at 8:12 AM, Rémi Forax wrote: I've also found useful to propagate expected type back to the calling method. Example: if (foo()) { ... } should be translated to indy foo ()Z instead of ()Object because if () wait for a boolean. Besides booleans, this is probably most

Re: Duby dynamic dispatch has landed!

2010-03-25 Thread John Rose
On Mar 25, 2010, at 10:33 AM, Charles Oliver Nutter wrote: On Thu, Mar 25, 2010 at 3:16 AM, Attila Szegedi szege...@gmail.com wrote: That's odd. arguments is Object[]; spreadArguments is required to unpack these arguments and pass them on to the invoked method. The dynalang-invoke's own

hg: mlvm/mlvm: meth, indy: update 292 API; support ldc of MH

2010-03-24 Thread john . rose
Changeset: 1c7351d7192f Author:jrose Date: 2010-03-24 18:57 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/rev/1c7351d7192f meth, indy: update 292 API; support ldc of MH ! netbeans/indy-demo/build.xml ! netbeans/indy-demo/nbproject/project.properties !

hg: mlvm/mlvm/hotspot: meth, indy: update 292 API; support ldc of MH

2010-03-24 Thread john . rose
Changeset: 5353e955d315 Author:jrose Date: 2010-03-24 18:47 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/hotspot/rev/5353e955d315 meth, indy: update 292 API; support ldc of MH + cpindex-cleanup.patch + meth-ing.patch + meth-ldc.patch + meth.fixes.patch ! meth.patch ! series

hg: mlvm/mlvm/jdk: meth, indy: update 292 API; support ldc of MH

2010-03-24 Thread john . rose
Changeset: 9e4635f9c734 Author:jrose Date: 2010-03-24 18:41 -0700 URL: http://hg.openjdk.java.net/mlvm/mlvm/jdk/rev/9e4635f9c734 meth, indy: update 292 API; support ldc of MH - indy.tests.patch + meth-ing.patch + meth-ldc.patch ! meth.patch ! meth.test.patch ! series

JSR 292 API changes

2010-03-24 Thread John Rose
The JSR 292 EG has decided to simplify some aspects of the API. I have just pushed updated patches to mlvm which embody these changes. CallSite is more streamlined. The only field it has is the target method handle. The caller class, type, and name have gone away.It is simple to create

Re: Duby dynamic dispatch has landed!

2010-03-24 Thread John Rose
Very nice stuff. Congratulations! On Mar 24, 2010, at 7:17 PM, Charles Oliver Nutter wrote: BTW, what's the current state of the art for emitting .java with an invokedynamic in it? Duby also has a .java backend, so I'll need to add indy support there as well (somehow). This statement:

Re: SPARC JSR 292 testing

2010-03-17 Thread John Rose
For here equal to ?? When on our intranet I use karachi.sfbay.sun.com as a server which is located in Santa Clara. -- John P.S. To make forays off my laptop, I usually have a Gnu emacs X server running on the target machine, under a Gnu 'screen' instance. On Mar 17, 2010, at 10:49 AM,

Re: Invokedynamic and Multiple Dispatch

2010-03-06 Thread John Rose
On Mar 6, 2010, at 5:21 PM, Larry Chester wrote: Then to invoke on an Object x: lookup.get(x.getClass()).invokeGeneric(x); This is quite slow though (although I believe the bottleneck is in the invokeGeneric call). I can certainly believe that: invokeGeneric is not fully implemented

Re: Invokedynamic and Multiple Dispatch

2010-03-05 Thread John Rose
On Feb 28, 2010, at 3:48 PM, Larry Chester wrote: So I've been playing around with invokedynamic (with build 84), however I've stumbled on something I find quite strange! Consider two objects a and b that both reference a String. a is declared as a String but b is only an Object. When I

Re: hg: mlvm/mlvm/hotspot: hotswap: New patch. Main changes are:

2010-02-03 Thread John Rose
Thanks, Lukas and Thomas. -- John ___ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Re: indy and tailc

2010-02-01 Thread John Rose
On Jan 31, 2010, at 11:19 PM, Charles Oliver Nutter wrote: The other use case, which I did not attempt, was in regenerating call sites a la the DLR's DynamicSite logic (which repeatedly regenerates a call site with a series of instanceof checks, to specialize the call paths iteratively).

more from yesterday

2010-01-28 Thread John Rose
If you missed yesterday's big Oracle webcast and what to see how the JVM was mentioned, here are the proceedings: http://www.oracle.com/us/sun/044498.html For our purposes, Thomas Kurian's talk is most relevant. But the whole thing is pretty interesting. (At least, it was to me, for obvious

<    1   2   3   4   5   6   7   8   >