On 7/31/06, Jimmy, Jing Lv <[EMAIL PROTECTED]> wrote:
Hi everyone, Though Harmony VM 5 hasn't appeared yet(I hope it ready in the near further), I'd like to start work on an implementation of the java.lang.instrument[1].
Hi, I am also interested in working on java.lang.instrument. Besides, Harmony VM now has actually support the feature of JVMTI on which we can implement instrument. After some study on this, I find Java interface classes/interfaces
are quite easy, but there should be real implement, both in java and native. And the native code requires JVMTI[2], which is a part of VM 5. Though, luckily we can still study and code according to JVMTI and test on RI. So my goal is : 1.define those simple Java classes/interfaces in Harmony; 2. work out implementation of java/native code according to JVMTI and make it run on RI; 3. wait for Harmony VM5 and then make some integration modification/test.
As the main function of instruments is to add and remove transformers to some classes, I suggest implement it as an agent of JVMTI. That is to register callback functions, which actually transform the byte stream of some specified classes, to the events that is relevent to instrument in JVMTI including the class loading. According to Harmony naming convention, I think the implementation
class should be in org.apache.harmony.luni.internal.lang.instrument(a little too long, is it necessary to cut it shorter?). One problem is that it may have no suitable unit test for its implementation(except for some easy ones for exception class, etc), as all tests on this requires starting a VM to run. If I'm not wrong, I remember there's some of implementation also meet this problem, e.g, InheritedChannel. For this non-unit-testable implementation, shall Harmony contain some non-unit-test(some small application), or at least some document(How to use/test) to ensure its quality?
Ya, although we are able to test them both on RI and Harmony now, the testcases of instruments require lauch options of java VM, which lead to the difficult to add them to current Harmony testcases. Any comments and advices? Thanks!
[1]http://java.sun.com/j2se/1.5.0/docs/api/java/lang/instrument/package- summary.html [2]http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html -- Best Regards! Jimmy, Jing Lv China Software Development Lab, IBM --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Leo Li China Software Development Lab, IBM