* src/vm/jit/inline/inline.c (emit_inlining_prolog): Set javaindex
[cacao.git] / src / vm / resolve.h
index 5724322afe2fff03a4deba8d7f507c314088b381..599352f77997bc9bf9b1358ca827e7c875cc0644 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes:
 
-   $Id: resolve.h 5497 2006-09-14 18:55:03Z edwin $
+   $Id: resolve.h 5737 2006-10-11 19:40:22Z edwin $
 
 */
 
@@ -169,36 +169,84 @@ unresolved_class * create_unresolved_class(methodinfo *refmethod,
                                                typeinfo *valuetype);
 #endif
 
-unresolved_field *new_create_unresolved_field(classinfo *referer,
+unresolved_field *resolve_create_unresolved_field(classinfo *referer,
                                                                                          methodinfo *refmethod,
                                                                                          instruction *iptr);
 
-unresolved_method *new_create_unresolved_method(classinfo *referer,
-                                                                                               methodinfo *refmethod,
-                                                                                               instruction *iptr);
+unresolved_method * resolve_create_unresolved_method(classinfo *referer,
+                                                                                                        methodinfo *refmethod,
+                                                                                                        constant_FMIref *methodref,
+                                                                                                        bool invokestatic,
+                                                                                                        bool invokespecial);
 
 void unresolved_class_free(unresolved_class *ref);
 void unresolved_field_free(unresolved_field *ref);
 void unresolved_method_free(unresolved_method *ref);
 
-resolve_result_t new_resolve_method_lazy(jitdata *jd,
-                                                                                instruction *iptr,
-                                                                                methodinfo *refmethod);
-
-resolve_result_t new_resolve_field_lazy(jitdata *jd,
-                                                                               instruction *iptr,
-                                                                               methodinfo *refmethod);
-
-#ifdef ENABLE_VERIFIER
-bool new_constrain_unresolved_field(jitdata *jd, 
-                                                                       unresolved_field *ref, classinfo *referer,
-                                                                       methodinfo *refmethod, instruction *iptr);
+resolve_result_t resolve_method_lazy(methodinfo *refmethod,
+                                                                        constant_FMIref *methodref,
+                                                                        bool invokespecial);
+
+resolve_result_t resolve_field_lazy(methodinfo *refmethod,
+                                                                       constant_FMIref *fieldref);
+
+#if defined(ENABLE_VERIFIER)
+resolve_result_t resolve_field_verifier_checks(methodinfo *refmethod,
+                                                                                          constant_FMIref *fieldref,
+                                                                                          classinfo *container,
+                                                                                          fieldinfo *fi,
+                                                                                          typeinfo *instanceti,
+                                                                                          typeinfo *valueti,
+                                                                                          bool isstatic,
+                                                                                          bool isput);
+
+bool resolve_constrain_unresolved_field(unresolved_field *ref,
+                                                                               classinfo *referer, 
+                                                                               methodinfo *refmethod,
+                                                                           typeinfo *instanceti,
+                                                                           typeinfo *valueti);
+
+resolve_result_t resolve_method_verifier_checks(methodinfo *refmethod,
+                                                                                               constant_FMIref *methodref,
+                                                                                               methodinfo *mi,
+                                                                                               bool invokestatic);
+
+resolve_result_t resolve_method_instance_type_checks(methodinfo *refmethod,
+                                                                                                        methodinfo *mi,
+                                                                                                        typeinfo *instanceti,
+                                                                                                        bool invokespecial);
+
+resolve_result_t resolve_method_param_type_checks(jitdata *jd, 
+                                                                                                 methodinfo *refmethod,
+                                                                                                 instruction *iptr, 
+                                                                                                 methodinfo *mi,
+                                                                                                 bool invokestatic);
+
+resolve_result_t resolve_method_param_type_checks_stackbased(
+               methodinfo *refmethod, 
+               methodinfo *mi,
+               bool invokestatic, 
+               typedescriptor *stack);
+
+bool resolve_method_loading_constraints(classinfo *referer,
+                                                                               methodinfo *mi);
+
+bool resolve_constrain_unresolved_method_instance(unresolved_method *ref,
+                                                                                                 methodinfo *refmethod,
+                                                                                                 typeinfo *instanceti,
+                                                                                                 bool invokespecial);
+
+bool resolve_constrain_unresolved_method_params(jitdata *jd,
+                                                                                               unresolved_method *ref,
+                                                                                               methodinfo *refmethod,
+                                                                                               instruction *iptr);
 
-bool new_constrain_unresolved_method(jitdata *jd,
-                                                                        unresolved_method *ref, classinfo *referer,
-                                                                        methodinfo *refmethod, instruction *iptr);
+bool resolve_constrain_unresolved_method_params_stackbased(
+               unresolved_method *ref,
+               methodinfo *refmethod,
+               typedescriptor *stack);
 
-#endif
+#endif /* defined(ENABLE_VERIFIER) */
 
 #ifndef NDEBUG
 void unresolved_class_debug_dump(unresolved_class *ref,FILE *file);