* src/vmcore/resolve.h, src/vmcore/resolve.c
authoredwin <none@none>
Mon, 5 Mar 2007 16:53:45 +0000 (16:53 +0000)
committeredwin <none@none>
Mon, 5 Mar 2007 16:53:45 +0000 (16:53 +0000)
(resolve_classref_or_classinfo_eager): New function.

src/vm/jit/i386/asmpart.S
src/vmcore/resolve.c
src/vmcore/resolve.h

index 05d1d0199b6c1ee2ebe05b94e1f89f3a2efd8687..92f75974ef7cdd67ef3d2a6a6d9870ac88bb2068 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: asmpart.S 7355 2007-02-14 10:57:32Z twisti $
+   $Id: asmpart.S 7310 2007-02-09 13:00:04Z twisti $
 
 */
 
index 67a9bba18e35fb71b4aa0e936a4bc692af257d59..a69b112960f0e68db8bdb42ea538630a8be6b870 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: resolve.c 7431 2007-03-01 13:49:14Z edwin $
+   $Id: resolve.c 7457 2007-03-05 16:53:45Z edwin $
 
 */
 
@@ -365,6 +365,33 @@ bool resolve_classref_or_classinfo(methodinfo *refmethod,
 }
 
 
+/* resolve_classref_or_classinfo_eager *****************************************
+   Resolve a symbolic class reference eagerly if necessary.
+   No attempt is made to link the class.
+
+   IN:
+       cls..............class reference or classinfo
+       checkaccess......if true, access rights to the class are checked
+  
+   RETURN VALUE:
+       classinfo *......the resolved class
+       NULL.............an exception has been thrown
+   
+*******************************************************************************/
+
+classinfo *resolve_classref_or_classinfo_eager(classref_or_classinfo cls,
+                                                                                          bool checkaccess)
+{
+       classinfo *c;
+
+       if (!resolve_classref_or_classinfo(NULL, cls, resolveEager, checkaccess, false, &c))
+               return NULL;
+
+       return c;
+}
+
+
 /* resolve_class_from_typedesc *************************************************
  
    Return a classinfo * for the given type descriptor
index 6311d154e81e3d4d481be70b50fd199aaa204e7c..59a53ad57de36ddbb9fd210a9a0ca2ed01fb1fdb 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: resolve.h 7431 2007-03-01 13:49:14Z edwin $
+   $Id: resolve.h 7457 2007-03-05 16:53:45Z edwin $
 
 */
 
@@ -139,6 +139,8 @@ bool resolve_classref_or_classinfo(methodinfo *refmethod,
                                                          bool link,
                                                          classinfo **result);
 
+classinfo *resolve_classref_or_classinfo_eager(classref_or_classinfo cls, bool checkaccess);
+
 bool resolve_class_from_typedesc(typedesc *d,bool checkaccess,bool link,classinfo **result);
 
 #ifdef ENABLE_VERIFIER