harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Weldon Washburn <weldon...@gmail.com>
Subject Re: [modules] classloader/jit interface
Date Tue, 28 Jun 2005 00:31:05 GMT
Geir,
Any update on when Apache will have a license in place so that code
can be donated to Apache Harmony project?
  Thanks
     Weldon

On 6/24/05, Geir Magnusson Jr. <geirm@apache.org> wrote:
> 
> On Jun 24, 2005, at 5:17 PM, Weldon Washburn wrote:
> 
> > On 6/23/05, Geir Magnusson Jr. <geirm@apache.org> wrote:
> >
> >
> >> Where is code we can start examining?  What do the the java-on-java
> >> implementations do?
> >>
> >> geir
> >>
> >>
> >
> > Geir,
> > I can't talk about code just yet.
> 
> 
> I know, but I'm going to taunt you anyway!  Taunt!
> 
> Seriously, how about referring us to code in ORP at sourceforge?
> 
> > But I think we can at least get
> > started on the basic, low controversy APIs.  For example, the access
> > and property flags defined in the class file format are straight
> > forward boolean values.  While the access/property flags may be
> > extended, it is unlikely that basic notions such as public/private
> > access would ever be removed.  Below is a first stab at the API to
> > retrieve the values contained in internal classloader data structures.
> >  Its understood that the JIT won't use all of the below APIs.  For
> > example, some of the access properties issues are dealt with during
> > resolution and not by the jit.  I used the java 1.5 version of Chapter
> > 3 of the Java Virtual Machine Spec.
> >
> 
> > Comment/questions are appreciated.
> >
> >     Thanks
> >         Weldon
> >
> > Class access and property modifiers (table 4.1)
> > bool Class::is_public();        // ACC_PUBLIC
> > bool Class::is_final();        // ACC_FINAL
> > bool Class::is_super();        // ACC_SUPER
> > bool Class::is_interface();    // ACC_INTERFACE
> > bool Class::is_abstract();    // ACC_ABSTRACT
> > bool Class::is_synthetic();    // ACC_SYNTHETIC
> > bool Class::is_annotation();    // ACC_ANNOTATION
> > bool Class::is_enum();        // ACC_ENUM
> >
> > Field access and property flags (table 4.4)
> > bool Field::is_public();        // ACC_PUBLIC
> > bool Field::is_private();        // ACC_PRIVATE
> > bool Field::is_protected();    // ACC_PROTECTED
> > bool Field::is_static();        // ACC_STATIC
> > bool Field::is_final();        // ACC_FINAL
> > bool Field::is_volatile();    // ACC_VOLATILE
> > bool Field::is_transient();    // ACC_TRANSIENT
> > bool Field::is_synthetic();    // ACC_SYNTHETIC
> > bool Field::is_enum();        // ACC_ENUM
> >
> > Method access and property flags (table 4.5)
> > bool Method::is_public();    // ACC_PUBLIC
> > bool Method::is_private();    // ACC_PRIVATE
> > bool Method::is_protected();    // ACC_PROTECTED
> > bool Method::is_static();    // ACC_STATIC
> > bool Method::is_final();        // ACC_FINAL
> > bool Method::is_synchronized();     // ACC_SYNCHRONIZED
> > bool Method::is_bridge();    // ACC_BRIDGE
> > bool Method::is_varargs();    // ACC_VARARGS
> > bool Method::is_native();    // ACC_NATIVE
> > bool Method::is_abstract();    // ACC_ABSTRACT
> > bool Method::is_strict();    // ACC_STRICT
> > boot Method::is_synthetic();            // ACC_SYNTHETIC
> >
> 
> That's pretty non-controversial :)
> 
> So this API is really for the classes Method, Field and Class, rather
> than a bigger C API.  Does this make it harder for other languages to
> use or implement?  (I have to admit it's going to take a few to start
> thinking in C again...)
> 
> geir
> 
> --
> Geir Magnusson Jr                                  +1-203-665-6437
> geirm@apache.org
> 
> 
>

Mime
View raw message