From: Peter D. <pe...@re...> - 2008-09-12 02:41:24
|
Hi, This is not answer to your question as such. However if you look on the publications or thesis page for an author named "Adam Welc" (and IIRC his two supervisors Anthony Hosking and Surresh someone) he did something similar that you may be able to leverage. Rather than using locks he implemented transactional monitors rather than lock based monitors. From memory there was a paper that was an interesting read regarding it and at least part of his thesis was relevant. I also have a diff kicking around somewhere for his work. It is a diff against an old version of the jikesrvm but still an interesting read. If you want a copy email me off list and I can rustle it up. Regarding the question. The jikesrvm is open source so you can always add features like that which you want. I am not sure about the difficulty of doing it (my intuition says it should be relatively easy as long as you use "full" images). As the RVM is primarily a research based VM, many of these modifications I would expect to be relatively easy (at least relative to making the same modifications in a production VM). On Fri, Sep 12, 2008 at 2:57 AM, Khilan Gudka <khi...@im...> wrote: > Dear All, > > Please forgive me as I am a very new user of jikes and thus this is my first > post. I am researching into a language feature called atomic which abstracts > away concurrency control much like how automatic garbage collection > abstracts away memory management (from the programmer that is!). The idea is > that the programmer writes code of the form (as shown below) and the > compiler and/or runtime ensures that the body of the atomic executes with no > interference from other threads. (There will of course be interleavings, > however, the result is as if there were none). > > atomic { > ... > } > > Software transactional memory (STM) is one way of implementing these > semantics, however, this suffers from not being able to allow operations > like I/O which cannot be rolled back in general. Hence, we're researching > into using locks (inserted at compile-time) to implement the semantics. I'm > looking at implementing such a feature in java as a testbed for being able > to take performance measurements and compare against other implementations > and potentially other approaches like STM. > > Sorry for the long background, but previously I have been using the Sun JVM > and have found that I have had to take a number of its runtime features into > account, which typically leads to solving problems that aren't fundamental > to what we are doing. > > Hence, my question is, how much can be turned off in the jikes virtual > machine? Is there a clean way to turn off features? One example is lazy > class loading. Is it possible to turn this feature off or force eager class > loading (without having to change the source code)? This is a problem for us > because it means we have to then worry about static initialisers that may > potentially modify shared state. > > Thanks, > Khilan > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Jikesrvm-researchers mailing list > Jik...@li... > https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers > > -- Cheers, Peter Donald Eddie Izzard - "Never put a sock in a toaster." |