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

Reply via email to