|
From: Philippe W. <phi...@sk...> - 2014-07-08 18:48:49
|
On Tue, 2014-07-08 at 14:39 -0400, Eliot Moss wrote: > On 7/8/2014 2:04 PM, Philippe Waroquiers wrote: > > On Tue, 2014-07-08 at 03:49 -0400, Karl Cronburg wrote: > > I can confirm that Jikes RVM does it own special allocation > of stacks, which might be involved here. > > I am wondering why anyone would think a tool like memcheck > would work with a Java virtual machine like JikesRVM, with > its own notion of object, garbage collection, etc. For > example, JikesRVM almost certainly explicitly clears memory > before using it for objects, which would mean it is initialized, > and verified Java bytecode will never access an uninitialized > local variable. I suppose you might get some mileage on > checking JNI / native code stuff, but I'm not sure. So, > I am intrigued, but also wondering if maybe you're barking > up the wrong tree here ... > > Regards -- Eliot (Hi, Sam!) I guess memcheck could be useful for checking the RVM itself, not the Java code run by RVM. And maybe things like cachegrind/callgrind/helgrind might be useful ? Note that I have since a long time on my list of things to never do to look at defining client requests allowing a JIT compiler to indicate to Valgrind how to unwind and so make a reasonable "source" stacktrace of the JIT-ed code. Might make Valgrind a lot more interesting for mixed JIT code and JNI and 'virtual machine implementation' follow up. Philippe |