harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jimmy, Jing Lv" <firep...@gmail.com>
Subject Re: [classlib] Intention to work on java.lang.instrument
Date Mon, 31 Jul 2006 09:20:59 GMT
Leo Li wrote:
> On 7/31/06, Jimmy, Jing Lv <firepure@gmail.com> 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.

Great! Welcome. :)

>       Besides, Harmony VM now has actually support the feature of JVMTI
> on which we can implement instrument.
> 

Ah, can it work now? It'll be great convenient if so.

> 
>    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.
> 

Yes, that's the way.

>    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.
> 

Yes, Harmony launcher may also be modified (adding parameter for 
javaagent, etc).
However I mean, without unit-test, shall Harmony have some other 
quality-assurance technique?

>    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: harmony-dev-unsubscribe@incubator.apache.org
>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>
>>
> 
> 


-- 

Best Regards!

Jimmy, Jing Lv
China Software Development Lab, IBM

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message