Skip to content
Snippets Groups Projects
  • Andrew Haley's avatar
    90471585
    lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New. · 90471585
    Andrew Haley authored
    2003-10-22  Andrew Haley  <aph@redhat.com>
    
            * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
            (java_get_callee_fndecl): New.
    
            * jcf-parse.c (java_parse_file): Call emit_catch_table().
    
            * java-tree.h (ctable_decl): New.
            (catch_classes):  New.
            (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
    
            * decl.c (java_init_decl_processing): Add catch_class_type.
            Add ctable_decl.
            Add catch_classes field.
    
            * class.c (build_indirect_class_ref): Break out from
            build_class_ref.
            (make_field_value): Check flag_indirect_dispatch.
            (make_class_data): Ditto.
            Tidy uses of PUSH_FIELD_VALUE.
            Add field catch_classes.
            (make_catch_class_record): New.
    
            * java-tree.h (PUSH_FIELD_VALUE): Tidy.
    
    2003-10-22  Andrew Haley  <aph@redhat.com>
    
            * java/lang/natClass.cc (initializeClass): Call
            _Jv_linkExceptionClassTable.
            (_Jv_LinkSymbolTable): Call )_Jv_ThrowNoSuchMethodError.  Call
            _Jv_Defer_Resolution on a method whose ncode is NULL.
            (_Jv_linkExceptionClassTable): New function.
            (_Jv_LayoutVTableMethods): If superclass looks like a constant pool
            entry, look it up.
            * java/lang/Class.h (struct _Jv_CatchClass): New.
            (_Jv_linkExceptionClassTable): New friend.
            (_Jv_Defer_Resolution): New friend.
            (class Class.catch_classes): New field.
            * include/java-interp.h (Jv_Defer_Resolution): New method.
            (_Jv_PrepareClass): Make a friend of _Jv_MethodBase.
            (_Jv_MethodBase.deferred): New field.
            (_Jv_Defer_Resolution): New function.
            * resolve.cc (_Jv_PrepareClass): Resolve deferred handlers.
            * exception.cc (get_ttype_entry): Change return type to void**.
            (PERSONALITY_FUNCTION): Remove all code related to using a
            Utf8Const* for a match type.  Change match type to be a pointer to
            a pointer, rather than a pointer to a Class.
            * defineclass.cc (handleCodeAttribute): Initialize
            method->deferred.
            (handleMethodsEnd): Likewise.
    
    From-SVN: r72886
    90471585
    History
    lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
    Andrew Haley authored
    2003-10-22  Andrew Haley  <aph@redhat.com>
    
            * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
            (java_get_callee_fndecl): New.
    
            * jcf-parse.c (java_parse_file): Call emit_catch_table().
    
            * java-tree.h (ctable_decl): New.
            (catch_classes):  New.
            (java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
    
            * decl.c (java_init_decl_processing): Add catch_class_type.
            Add ctable_decl.
            Add catch_classes field.
    
            * class.c (build_indirect_class_ref): Break out from
            build_class_ref.
            (make_field_value): Check flag_indirect_dispatch.
            (make_class_data): Ditto.
            Tidy uses of PUSH_FIELD_VALUE.
            Add field catch_classes.
            (make_catch_class_record): New.
    
            * java-tree.h (PUSH_FIELD_VALUE): Tidy.
    
    2003-10-22  Andrew Haley  <aph@redhat.com>
    
            * java/lang/natClass.cc (initializeClass): Call
            _Jv_linkExceptionClassTable.
            (_Jv_LinkSymbolTable): Call )_Jv_ThrowNoSuchMethodError.  Call
            _Jv_Defer_Resolution on a method whose ncode is NULL.
            (_Jv_linkExceptionClassTable): New function.
            (_Jv_LayoutVTableMethods): If superclass looks like a constant pool
            entry, look it up.
            * java/lang/Class.h (struct _Jv_CatchClass): New.
            (_Jv_linkExceptionClassTable): New friend.
            (_Jv_Defer_Resolution): New friend.
            (class Class.catch_classes): New field.
            * include/java-interp.h (Jv_Defer_Resolution): New method.
            (_Jv_PrepareClass): Make a friend of _Jv_MethodBase.
            (_Jv_MethodBase.deferred): New field.
            (_Jv_Defer_Resolution): New function.
            * resolve.cc (_Jv_PrepareClass): Resolve deferred handlers.
            * exception.cc (get_ttype_entry): Change return type to void**.
            (PERSONALITY_FUNCTION): Remove all code related to using a
            Utf8Const* for a match type.  Change match type to be a pointer to
            a pointer, rather than a pointer to a Class.
            * defineclass.cc (handleCodeAttribute): Initialize
            method->deferred.
            (handleMethodsEnd): Likewise.
    
    From-SVN: r72886