Re: Hotspot loves PHP.reboot

2011-09-07 Thread Helmut Eller
* John Rose [2011-09-06 20:04] writes: > On Sep 6, 2011, at 8:51 AM, Charles Oliver Nutter wrote: > > Did we ever figure out if it's possible to trick Hotspot into doing a > JO instead of the raw bit-level operations? John/Christian/Tom: what > would it take to get HS to "know" that we

Re: Implementing a Smalltalk debugger with JSR292

2011-11-27 Thread Helmut Eller
* Mark Roos [2011-11-27 06:16] writes: > The approach we took has two facets, we ( mainly oscar ) coded a C++ > jvmti agent with a JNI interface which allowed us to call some JVMTI > apis from within the jvm being debugged and we added some logic to the > callsite to handle the stepping. What's t

Error handling without exceptions (was: Throwable)

2009-08-19 Thread Helmut Eller
Hello, I've been wondering if the java.dyn stuff will enable error handling which is not based on exceptions. For instance if a MethodHandle is called with the wrong number of arguments the current design seems to assume that throwing an exception is a sensible action to take. Throwing an except

Re: Which file is the interpreter?

2009-09-23 Thread Helmut Eller
* James Ladd [2009-09-23 23:52+0200] writes: > Im looking for the loop that takes the next instruction and dispatches > it. Maybe I just dont understand the JVM - yet. Is there such a loop ? As described in Gary Benson blog, there are two interpreters: the c++ interpreter and the template based i

NoClassDefFoundError

2010-01-08 Thread Helmut Eller
I built a JVM as described on the Wiki[1] and running this example: class Foo { public static void main (String[] args) throws Throwable { java.dyn.InvokeDynamic.bar(); } } with java -Xint -XX:+EnableMethodHandles -XX:+EnableInvokeDynamic Foo prints: Exception in thread "main" ja

Nullpointers not checked

2010-03-07 Thread Helmut Eller
The attached program crashes with this message: # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (sharedRuntime.cpp:586), pid=4116, tid=3072834448 # Error: guarantee(cb->is_adapter_blob(),"exception happened outside interpreter, nmethods and vtable stubs (

Re: Nullpointers not checked

2010-03-12 Thread Helmut Eller
* Christian Thalinger [2010-03-12 14:21+0100] writes: > 6934494: JSR 292 MethodHandles adapters should be generated into their > own CodeBlob Are those numbers a kind of bug ticket or some Sun internal thing? I tried to search it on the OpenJDK Bugzilla but it only answered: "Zarro Boogs found".

Re: MethodHandles for Kawa and other functional languages?

2010-09-30 Thread Helmut Eller
* Alessio Stalla [2010-09-30 07:44] writes: > InvokeDynamic.#"SOME-LISP-PACKAGE:FOO"(...) > > and in the bootstrap method, roughly, > > ... > Symbol sym = readFromString(methodName); > MethodHandle mh = sym.getSymbolFunctionOrDie().asMethodHandle(); > ... Just out of curiosity: what do you do if

Re: MethodHandles for Kawa and other functional languages?

2010-09-30 Thread Helmut Eller
* Alessio Stalla [2010-09-30 11:52] writes: > On Thu, Sep 30, 2010 at 12:48 PM, Helmut Eller wrote: >> >> Just out of curiosity: what do you do if the package was renamed (say >> from SOME-LISP-PACKAGE to ANOTHER-LISP-PACKAGE) before the bootstrap >> method ge

Re: MethodHandles for Kawa and other functional languages?

2010-09-30 Thread Helmut Eller
* Alessio Stalla [2010-09-30 13:28] writes: >> I guess you could avoid reflection if you generate a custom bootstrap >> method for each callsite.  Hmm.. probably just as clumsy as reflection. > > Yeah, clumsy and suffering from code bloat - I'm already disturbed to > have one static block register

Re: MethodHandles for Kawa and other functional languages?

2010-10-11 Thread Helmut Eller
* Per Bothner [2010-10-10 23:38] writes: > An example I was considering was: > > (define (twice f x) >(f (f x))) > > My initial thought was to compile this as: > > public static Object (Procedure f, Object x) { >MethodHandle f$mh = f.asMethodHandle(); >return f$mh.invoke(f$mh.invoke(x)

Re: optional arguments for bootstrap methods

2010-10-22 Thread Helmut Eller
* John Rose [2010-10-22 08:43] writes: > MethodHandle myBSM(MethodHandles.Lookup look, String name, MethodType type); > MethodHandle myBSM(MethodHandles.Lookup look, String name, MethodType type, > Object arg); > MethodHandle myBSM(MethodHandles.Lookup look, String name, MethodType type, >

Re: Status of Anno Class loader with constant patches?

2011-01-06 Thread Helmut Eller
* 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. in Lisp there is this form (load-time-value t)

Re: Status of Anno Class loader with constant patches?

2011-01-06 Thread Helmut Eller
* Rémi Forax [2011-01-06 13:30] writes: >> that is essentially a constant but must be evaluated at load time >> and not later (as would be done with lazy linking). > > why not using a static final field initialized in in that case ? Because final static fields can't be optimized as well as cons

Re: Status of Anno Class loader with constant patches?

2011-01-06 Thread Helmut Eller
* Rémi Forax [2011-01-06 15:36] writes: > Anyway, you can store your load-time constant in a static field, > initialize it in a static block and use invokedynamic to load it. > In the bootstrap method, do a field lookup to get the value and > return a constant method handle created using the value