harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Pervov" <pmcfi...@gmail.com>
Subject Re: [drlvm] Cleaning insides of Class.h header
Date Mon, 24 Jul 2006 14:25:30 GMT
Michail,

If some component external to VM core has direct access to class.h, this
should be eliminated shortly. AFAIU, there are none such components.

Answering your questions:
1) It is possible to traverse class hierarchy downward using available
specialized interfaces. It is also possible to traverse class hierarchy
upward by asking direct super class of any class you have. The only
impossible thing to do is to traverse one level of class hierarchy in both
directions. Do you really want to do the thing?

2) AFAIU, it is also available in the interface.

Also, your questions are more likely related to OPEN, rather than internal
class.h interfaces.

Regards,
    Pavel.

On 7/24/06, Mikhail Fursov <mike.fursov@gmail.com> wrote:
>
> Pavel,
> Class.h is also used by other modules with by of vm.h public wrappers.
> Can you add more class hierarchy analysis (CHA) related methods to the
> public interface of Class.h  during the refactoring.
> The methods I interested in
> 1) To iterate class hierarchy in two directions: from super to subclass
> and
> back.
> 2) Ask a class if it has an a version of the specified virtual method.
> Also
> in both directions in hierarchy.
>
> Do you think we need to create a separate thread to discuss these changes?
> BTW we can do in in a thread with discussion of devirtualization
> techniques.
> ?
>
> On 7/24/06, Pavel Pervov <pmcfirst@gmail.com> wrote:
> >
> > On 7/24/06, Alexey Petrenko <alexey.a.petrenko@gmail.com> wrote:
> > >
> > > 2006/7/24, Pavel Pervov <pmcfirst@gmail.com>:
> > > > Hello, all.
> > > >
> > > > I would like to work on cleaning the insides of Class.h header file.
> > > >
> > > > This header is related to internal representation of java class
> inside
> > > the
> > > > VM. Currently it contains all entities for internal class
> > > representation:
> > > > class itself, constant pool, members (field, method), exceptions
> > > handler,
> > > > vtable and so forth.
> > > >
> > > > First thing I would like to do is to split the file into a group of
> > > files,
> > > > each of which would contain only one entity (and some closely
> related
> > > > entities, if any). This would produce the following headers:
> > > > 1)       Class.h – constant pool and class
> > > > 2)       vtable.h – vtable
> > > > 3)       class_member.h – field and method entities descriptors,
> > > exception
> > > > handler descriptor
> > > > 4)       cci.h – code chunk entity (part of compiled method code)
> > >
> > > Will these header files be useful separately?
> >
> >
> > Yes, sure, they will be. This is one of the arguments for doing so.
> >
> > Pavel.
> >
> >
>
>
> --
> Mikhail Fursov
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message