Patch: FYI: merge in gcj-eclipse branch
Tom Tromey
tromey@redhat.com
Tue Jan 9 19:35:00 GMT 2007
I will be checking this in shortly on svn trunk.
This merges the gcj-eclipse branch. After committing this I will
submit some patches for the web pages.
I've appended the ChangeLog and attached the patch. If you read the
patch, you'll see it is a little funny -- filterdiff left in all the
"Index:" lines for the files I removed.
I tried to clean up the patch a bit to make it small enough to post.
No generated files are included. Also I omitted all the changes to
libjava/classpath, as this is just an import from upstream.
I bootstrapped and tested this on x85 FC5. I believe Andrew tested it
on x86-64.
Tom
gcc/java
2007-01-09 Andrew Haley <aph@redhat.com>
* expr.c (build_java_arrayaccess): Rewrite to generate array
access in canonical form.
(expand_java_arraystore): Use build_fold_addr_expr() on address of
array access.
2007-01-03 Andrew Haley <aph@redhat.com>
PR java/28754
* expr.c (expand_java_field_op): If we're initializing a field's
declaring interface we should not also initialize the class
context in which it was referenced.
2007-01-02 Tom Tromey <tromey@redhat.com>
* java-tree.h (compiling_from_source, current_encoding,
JTI_FINIT_IDENTIFIER_NODE, JTI_INSTINIT_IDENTIFIER_NODE,
JTI_LENGTH_IDENTIFIER_NODE, JTI_SUPER_IDENTIFIER_NODE,
JTI_CONTINUE_IDENTIFIER_NODE, JTI_ACCESS0_IDENTIFIER_NODE,
JTI_WFL_OPERATOR): Removed
(finit_identifier_node, instinit_identifier_node,
length_identifier_node, super_identifier_node,
continue_identifier_node, access0_identifier_node, wfl_operator):
Removed.
(cyclic_inheritance_report,
DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND,
DECL_FUNCTION_NAP, DECL_FUNCTION_SYNTHETIC_CTOR,
DECL_FIXED_CONSTRUCTOR_P): Removed.
(struct lang_decl_func) <smic, nap, synthetic_ctor, fixed_ctor>:
Removed.
(TYPE_FINIT_STMT_LIST, TYPE_CLINIT_STMT_LIST, TYPE_II_STMT_LIST,
TYPE_IMPORT_LIST, TYPE_IMPORT_DEMAND_LIST): Removed.
(struct lang_type) <finit_stmt_list, clinit_stmt_list, ii_block,
import_list, import_demand_list>: Removed.
(java_layout_seen_class_methods, init_jcf_parse, init_src_parse,
cxx_keyword_p): Removed.
(DECL_FINIT_P, DECL_INSTINIT_P, ID_FINIT_P, ID_INSTINIT_P,
TYPE_UNUSED, TYPE_UNDERFLOW, TYPE_UNEXPECTED,
CLASS_ACCESS0_GENERATED_P, CLASS_HAS_FINIT_P,
IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P, IS_A_CLASSFILE_NAME,
IS_AN_IMPORT_ON_DEMAND_P, COMPOUND_ASSIGN_P, SWITCH_HAS_DEFAULT,
PRIMARY_P, MODIFY_EXPR_FROM_INITIALIZATION_P,
CLASS_METHOD_CHECKED_P, FOR_LOOP_P, ANONYMOUS_CLASS_P,
LOCAL_CLASS_P, ARG_FINAL_P, SUPPRESS_UNREACHABLE_ERROR,
RESOLVE_PACKAGE_NAME_P, RESOLVE_TYPE_NAME_P, IS_BREAK_STMT_P,
IS_CRAFTED_STRING_BUFFER_P, IS_INIT_CHECKED, CALL_USING_SUPER,
NESTED_FIELD_ACCESS_IDENTIFIER_P, TOPLEVEL_CLASS_DECL_P,
PURE_INNER_CLASS_TYPE_P, TOPLEVEL_CLASS_TYPE_P,
CALL_CONSTRUCTOR_P, CALL_EXPLICIT_CONSTRUCTOR_P,
CALL_THIS_CONSTRUCTOR_P, CALL_SUPER_CONSTRUCTOR_P,
FINALLY_EXPR_LABEL, FINALLY_EXPR_BLOCK, BLOCK_IS_IMPLICIT,
BLOCK_EMPTY_P, IS_UNCHECKED_EXCEPTION_P, java_error_count,
java_parse_abort_on_error, extract_field_decl): Removed.
(finput): Declare.
* lang.c: (compiling_from_source, current_encoding): Removed.
(java_handle_option): Ignore -fencoding.
* parse.h: Don't include lex.h.
(java_error_count, int_fits_type_p, stabilize_reference, RULE,
RECOVERED, DRECOVERED, RECOVER, DRECOVER, YYERROR_NOW,
YYNOT_TWICE, CLASS_MODIFIERS, FIELD_MODIFIERS, METHOD_MODIFIERS,
INTERFACE_MODIFIERS, INTERFACE_INNER_MODIFIERS,
INTERFACE_METHOD_MODIFIERS, INTERFACE_FIELD_MODIFIERS,
MODIFIER_WFL, THIS_MODIFIER_ONLY, parse_error_context,
ABSTRACT_CHECK, JCONSTRUCTOR_CHECK, exit_java_complete_class,
CLASS_OR_INTERFACE, GET_REAL_TYPE, GET_TYPE_NAME,
OBSOLETE_MODIFIER_WARNING, OBSOLETE_MODIFIER_WARNING2,
BUILD_PTR_FROM_NAME, INCOMPLETE_TYPE_P,
JAVA_MAYBE_GENERATE_DEBUG_INFO, JBSC_TYPE_P, JSTRING_P,
JNULLP_TYPE_P, JDECL_P, TYPE_INTERFACE_P, TYPE_CLASS_P,
IDENTIFIER_INNER_CLASS_OUTER_FIELD_ACCESS,
MANGLE_OUTER_LOCAL_VARIABLE_NAME,
MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_ID,
MANGLE_ALIAS_INITIALIZER_PARAMETER_NAME_STRING,
SKIP_THIS_AND_ARTIFICIAL_PARMS, MARK_FINAL_PARMS,
UNMARK_FINAL_PARMS, CRAFTED_PARAM_LIST_FIXUP,
AIPL_FUNCTION_CREATION, AIPL_FUNCTION_DECLARATION,
AIPL_FUNCTION_CTOR_INVOCATION, AIPL_FUNCTION_FINIT_INVOCATION,
ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
ERROR_CAST_NEEDED_TO_INTEGRAL, ERROR_VARIABLE_NOT_INITIALIZED,
LOOP_EXPR_BODY_MAIN_BLOCK, LOOP_EXPR_BODY_UPDATE_BLOCK,
LOOP_EXPR_BODY_CONDITION_EXPR, LOOP_EXPR_BODY_LABELED_BODY,
LOOP_EXPR_BODY_BODY_EXPR, PUSH_LABELED_BLOCK, POP_LABELED_BLOCK,
PUSH_LOOP, POP_LOOP, PUSH_EXCEPTIONS, POP_EXCEPTIONS,
IN_TRY_BLOCK_P, EXCEPTIONS_P, ANONYMOUS_ARRAY_BASE_TYPE,
ANONYMOUS_ARRAY_DIMS_SIG, ANONYMOUS_ARRAY_INITIALIZER,
INVOKE_STATIC, INVOKE_NONVIRTUAL, INVOKE_SUPER, INVOKE_INTERFACE,
INVOKE_VIRTUAL, jdep_code, struct _jdep, JDEP_DECL, JDEP_DECL_WFL,
JDEP_KIND, JDEP_WFL, JDEP_MISC, JDEP_ENCLOSING, JDEP_CLASS,
JDEP_APPLY_PATCH, JDEP_GET_PATCH, JDEP_CHAIN, JDEP_TO_RESOLVE,
JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P, struct
jdeplist_s, jdeplists, CLASSD_FIRST, CLASSD_LAST, CLASSD_CHAIN,
JDEP_INSERT, SET_TYPE_FOR_RESOLUTION, WFL_STRIP_BRACKET,
STRING_STRIP_BRACKETS, PROMOTE_RECORD_IF_COMPLETE,
BLOCK_CHAIN_DECL, GET_CURRENT_BLOCK, EXPR_WFL_GET_LINECOL,
EXPR_WFL_QUALIFICATION, QUAL_WFL, QUAL_RESOLUTION, QUAL_DECL_TYPE,
GET_SKIP_TYPE, COMPLETE_CHECK_OP, COMPLETE_CHECK_OP_0,
COMPLETE_CHECK_OP_1, COMPLETE_CHECK_OP_2, BUILD_APPEND,
BUILD_STRING_BUFFER, BUILD_THROW, SET_WFL_OPERATOR,
PATCH_METHOD_RETURN_ERROR, CHECK_METHODS, CLEAR_DEPRECATED,
CHECK_DEPRECATED_NO_RESET, CHECK_DEPRECATED, REGISTER_IMPORT,
CURRENT_OSB, struct parser_ctxt, GET_CPC_LIST, CPC_INNER_P,
GET_CPC, GET_CPC_UN, GET_CPC_UN_MODE, GET_CPC_DECL_NODE,
GET_ENCLOSING_CPC, GET_NEXT_ENCLOSING_CPC,
GET_ENCLOSING_CPC_CONTEXT, INNER_ENCLOSING_SCOPE_CHECK, PUSH_CPC,
PUSH_ERROR, POP_CPC, DEBUG_CPC, CPC_INITIALIZER_LIST,
CPC_STATIC_INITIALIZER_LIST, CPC_INSTANCE_INITIALIZER_LIST,
CPC_INITIALIZER_STMT, CPC_STATIC_INITIALIZER_STMT,
CPC_INSTANCE_INITIALIZER_STMT, SET_CPC_INITIALIZER_STMT,
SET_CPC_STATIC_INITIALIZER_STMT,
SET_CPC_INSTANCE_INITIALIZER_STMT, JAVA_NOT_RADIX10_FLAG,
java_complete_class, java_check_circular_reference,
java_fix_constructors, java_layout_classes, java_reorder_fields,
java_method_add_stmt, java_get_line_col, reset_report,
java_init_lex, yyparse, java_parse, yyerror, java_expand_classes,
java_finish_classes, ctxp, ctxp_for_generation,
ctxp_for_generation_last): Removed.
* expr.c (force_evaluation_order): Don't mention NEW_CLASS_EXPR.
* mangle.c (utf8_cmp): New function.
(cxx_keywords): New global.
(cxx_keyword_p): New function.
* jvspec.c (JAVA_START_CHAR): Removed obsolete comment.
* java-tree.def (UNARY_PLUS_EXPR, NEW_ARRAY_EXPR,
NEW_ANONYMOUS_ARRAY_EXPR, NEW_CLASS_EXPR, THIS_EXPR,
CASE_EXPR, DEFAULT_EXPR, JAVA_CATCH_EXPR, SYNCHRONIZED_EXPR,
THROW_EXPR, CONDITIONAL_EXPR, INSTANCEOF_EXPR, NEW_ARRAY_INIT,
CLASS_LITERAL, JAVA_EXC_OBJ_EXPR): Removed.
* Make-lang.in (java.srcextra): Do nothing.
(parse.c, keyword.h, gt-java-parse.h): Removed targets.
(JAVA_OBJS): Don't mention deleted files.
(java.mostlyclean): Likewise.
(java.clean): Likewise.
(JAVA_LEX_C): Removed.
(buffer.o, check-init.o, parse.o): Remove unused targets.
(typeck.o): Updated.
* jcf-parse.c (read_class): Comment out unused code.
(java_layout_seen_class_methods): New function.
(parse_source_file_1, parse_source_file_2, parse_source_file_3):
Removed.
(java_parse_file): Comment out unused code. Don't use 'ctxp'.
(init_jcf_parse): Removed.
* config-lang.in (gtfiles): Remove deleted files.
* decl.c (java_init_decl_processing): Don't initialize
finit_identifier_node, instinit_identifier_node,
length_identifier_node, super_identifier_node,
continue_identifier_node, access0_identifier_node. Don't call
init_jcf_parse.
* class.c (cyclic_inheritance_report): New global.
(add_method_1): Don't use
DECL_FUNCTION_STATIC_METHOD_INVOCATION_COMPOUND.
(maybe_layout_super_class): Comment out code.
(safe_layout_class): New function.
* java-gimplify.c (java_gimplify_expr): Removed CASE_EXPR,
DEFAULT_EXPR, NEW_ARRAY_INIT, JAVA_CATCH_EXPR, JAVA_EXC_OBJ_EXPR,
UNARY_PLUS_EXPR, NEW_ARRAY_EXPR, NEW_ANONYMOUS_ARRAY_EXPR,
NEW_CLASS_EXPR, SYNCHRONIZED_EXPR, CONDITIONAL_EXPR,
INSTANCEOF_EXPR, CLASS_LITERAL, THIS_EXPR.
(java_gimplify_case_expr): Removed.
(java_gimplify_default_expr): Likewise.
(java_gimplify_new_array_init): Likewise.
* parse.y: Removed.
* keyword.gperf, keyword.h: Removed.
* chartables.h: Removed.
* check-init.c: Removed.
* buffer.c, buffer.h: Removed.
* convert.h: Removed.
* gen-table.pl: Removed.
* lex.c, lex.h: Removed.
2007-01-02 Andrew Haley <aph@redhat.com>
* expr.c (expand_java_arraystore): Make sure we perform a bounds
check at runtime before we perform a type check.
2006-12-19 Andrew Haley <aph@redhat.com>
* decl.c: Bump minor BC ABI version.
2006-12-13 Gary Benson <gbenson@redhat.com>
* jcf-depend.c (jcf_dependency_add_file): Mark filename unused.
2006-12-12 Tom Tromey <tromey@redhat.com>
* lang-specs.h: Pass -M options to jc1.
* jcf-depend.c (jcf_dependency_add_file): Don't emit
dependencies.
2006-12-07 Mohan Embar <gnustuff@thisiscool.com>
* jcf-path.c (jcf_path_compute): Use platform PATH_SEPARATOR.
2006-12-06 Mohan Embar <gnustuff@thisiscool.com>
* lang-specs.h: Pass '%U'-based options as separate arguments.
2006-12-05 Tom Tromey <tromey@redhat.com>
PR java/29495:
* jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
classes as well.
* class.c (add_field): Handle ACC_SYNTHETIC.
(add_method_1): Likewise. Handle bridge and varargs.
(get_access_flags_from_decl): Handle synthetic, bridge, varargs,
annotation.
(set_class_decl_access_flags): Handle synthetic and annotation.
* java-tree.h (METHOD_BRIDGE): New macro.
(METHOD_VARARGS): Likewise.
(TYPE_SYNTHETIC): Likewise.
(TYPE_ANNOTATION): Likewise.
(lang_type): New fields 'synthetic' and 'annotation'.
(lang_decl_func): New fields 'varargs' and 'bridge'.
2006-12-04 Andrew Haley <aph@redhat.com>
* jcf-parse.c (rewrite_reflection_indexes): Don't do anything if
there's no map.
2006-11-29 Gary Benson <gbenson@redhat.com>
* expr.c (rewrite_arglist_getcaller): Reorder.
2006-11-29 Andrew Haley <aph@redhat.com>
* expr.c (rewrite_arglist_getcaller): Remove DECL_INLINE.
* lang.c (java_decl_ok_for_sibcall): Check for DECL_INLINE.
2006-11-23 Andrew Haley <aph@redhat.com>
* expr.c (rewrite_arglist_getcaller): New.
(rewrite_arglist_getclass): Fix indentation.
(rules): Add gnu.classpath.VMStackWalker.getCallingClass() and
gnu.classpath.VMStackWalker.getCallingClassLoader().
* builtins.c (initialize_builtins): Remove duplicate def'n of
__sync_synchronize.
Add __builtin_return_address.
2006-11-22 Andrew Haley <aph@redhat.com>
* jcf-reader.c (get_attribute): Mark attr_type unused.
* builtins.c (compareAndSwapObject_builtin): Fix declaration.
2006-11-06 Andrew Haley <aph@redhat.com>
* java-tree.h (CONSTANT_LazyFlag): New.
* constants.c (build_constants_constructor): Mask CONSTANT_LazyFlag.
* jcf-parse.c (handle_innerclass_attribute): Write attribute to
reflection_data.
(handle_constant): Return 0 for dummy cpool entries.
Handle constants of kind Class.
Handle constants of kind NameAndType.
(handle_enclosingmethod_attribute): New.
(handle_signature_attribute): New.
(HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New.
(HANDLE_SIGNATURE_ATTRIBUTE): New.
(handle_constant): Use unmangle_classname()rather than calling
identifier_subst() directly.
2006-11-02 Andrew Haley <aph@redhat.com>
* java-tree.h (FIELD_ENUM): New.
(lang_decl_var.field_enum): New.
(lang_type.enum_class): New.
(CLASS_ENUM): New.
* class.c (set_class_decl_access_flags): Handle enum types.
(add_field): Handle enum fields.
(get_access_flags_from_decl): Likewise.
* class.c (make_class_data): Put reflection_data into rodata.
2006-11-01 Andrew Haley <aph@redhat.com>
* jcf-parse.c (field_offsets, bit_obstack): New variables.
(jcf_parse): Write end marker to annotation_data.
(java_parse_file): Create field_offsets bitmap. Destroy it.
(annotation_grow, annotation_rewrite_byte)
(annotation_rewrite_short, annotation_rewrite_int)
(annotation_read_short, annotation_write_byte)
(annotation_write_short, annotation_write_int)
(handle_long_constant, handle_constant, handle_element_value)
(handle_annotation, handle_annotations)
(handle_annotation_attribute, rewrite_reflection_indexes)
(handle_member_annotations, handle_parameter_annotations)
(handle_default_annotation): New functions.
(HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE)
(HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE)
(HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
(HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE)
(HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): New definitions.
* java-tree.h (enum jv_attr_type, enum jv_attr_kind): New.
(TYPE_REFLECTION_DATA): New.
(TYPE_REFLECTION_DATASIZE): New.
* jcf.h (enum cpool_tag): Convert a bunch of #define constants to
an enum.
* jcf-reader.c (get_attribute): Pass field/method index and
attribute type to get_attribute().
* constants.c (find_class_or_string_constant): Make nonstatic.
(cpool_for_class): Likewise.
(build_constants_constructor): Separate string and scalar types.
* class.c (make_class_data): Generate field_indexes permutation.
Pass it to rewrite_reflection_indexes().
(make_class_data): Generate constructor for reflection_data field.
2006-10-20 Tom Tromey <tromey@redhat.com>
* gcj.texi (Top): Don't mention jv-scan.
(Invoking gcj): Likewise.
(Invoking gcjh): Likewise.
(Invoking gjnih): Likewise.
(Invoking gij): Likewise.
(Invoking gcj-dbtool): Likewise.
(Invoking jv-scan): Removed.
* parse-scan.y: Removed.
* jv-scan.c: Removed.
* config-lang.in (stagestuff): Don't mention jv-scan.
* Make-lang.in (java): Removed jv-scan.
(JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
(JVSCAN_OBJS): Removed.
(jv-scan$(exeext)): Likewise.
(JAVA_MANFILES): Removed jv-scan.1.
(java.uninstall): Don't mention jv-scan.
(java.mostlyclean): Likewise.
(java.maintainer-clean): Likewise.
(.INTERMEDIATE): Likewise.
(java/jv-scan.o): Removed.
(jv-scan.pod): Likewise.
(java.srcextra): Don't mention parse-scan.c.
(java.mostlyclean): Likewise.
(java/parse-scan.c): Removed.
(java/parse-scan.o-warn): Removed.
(java/parse-scan.o): Removed.
2006-10-20 Tom Tromey <tromey@redhat.com>
* lang.c (java_handle_option): Don't use
jcf_write_base_directory.
* jcf.h (jcf_write_base_directory): Removed.
* parse.y (java_expand_classes): Don't call write_classfile.
* config-lang.in (gtfiles): Removed jcf-write.c.
* Make-lang.in (JAVA_OBJS): Removed jcf-write.o.
(java/jcf-write.o): Removed.
* jcf-parse.c (parse_class_file): Don't call write_classfile.
* java-tree.h (write_classfile): Removed declaration.
* jcf-write.c: Removed.
2006-10-20 Tom Tromey <tromey@redhat.com>
* Make-lang.in (java): Removed gjnih, gcjh.
(JAVA_TARGET_INDEPENDENT_BIN_TOOLS): Likewise.
(GCJH_OBJS): Removed.
(GJNIH_OBJS): Likewise.
(gjnih$(exeext)): Likewise.
(gcjh$(exeext)): Likewise.
(JAVA_MANFILES): Removed gcjh.1, gjnih.1.
(java.install-common): Don't special case gcjh.
(java.uninstall): Don't mention gcjh, gjnih.
(java.mostlyclean): Likewise.
(java.maintainer-clean): Likewise.
(.INTERMEDIATE): Likewise.
(gcjh.pod): Removed.
(gjnih.pod): Likewise.
(GCJH_TARGET_INSTALL_NAME): Removed.
(java/gjavah-jni.o): Removed.
(java/gjavah.o): Likewise.
* config-lang.in (stagestuff): Removed gjnih, gcjh.
* gjavah.c: Removed.
2006-10-17 Tom Tromey <tromey@redhat.com>
* jcf-dump.c (print_element_value): Expect a utf8 constant in the
"string" case.
2006-10-17 Tom Tromey <tromey@redhat.com>
* jvgenmain.c (main): Handle -findirect-dispatch.
* jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
jvgenmain.
2006-10-06 Andrew Haley <aph@redhat.com>
* builtins.c (compareAndSwapInt_builtin): Check that we really do
have a compare_and_swap builtin.
(compareAndSwapLong_builtin): Likewise.
(compareAndSwapObject_builtin): Likewise.
2006-10-04 Andrew Haley <aph@redhat.com>
* builtins.c (java_builtins): Add compareAndSwapInt,
compareAndSwapLong, compareAndSwapObject, putOrderedInt,
putOrderedLong, putOrderedObject, putIntVolatile, putLongVolatile,
putObjectVolatile, getObjectVolatile, getIntVolatile,
getLongVolatile, getLong.
(UNMARSHAL3): New macro.
(UNMARSHAL4): Likewise.
(UNMARSHAL5): Likewise.
(build_arglist_for_builtin): New function.
(build_addr_sum, build_check_this): New functions.
(putObject_builtin. compareAndSwapInt_builtin,
compareAndSwapLong_builtin, compareAndSwapObject_builtin,
putVolatile_builtin, getVolatile_builtin): New builtins.
2006-06-08 Andrew Haley <aph@redhat.com>
* expr.c (build_field_ref): Pass NULL_TREE as SPECIAL arg to
get_symbol_table_index().
(maybe_rewrite_invocation): Set SPECIAL if we need to access a
private method.
(build_known_method_ref): New arg: special. Pass it to
get_symbol_table_index.
(get_symbol_table_index): Put SPECIAL in the TREE_PURPOSE field of
the method list.
(build_invokevirtual): New arg: special. Pass it to
get_symbol_table_index.
(expand_invoke): New variable: special.
Pass it to maybe_rewrite_invocation().
Pass it to build_known_method_ref().
* class.c (build_symbol_entry): Add new arg: special. Use it to
build the symbol table conbstructor.
(emit_symbol_table): Extract SPECIAL from the method list and pass
it to build_symbol_entry().
* parse.y (patch_invoke): Call maybe_rewrite_invocation() and set
special accordingly.
2006-09-08 Andrew Haley <aph@redhat.com>
* class.c (layout_class_method): Use build_java_signature, not
build_java_argument_signature. Use lookup_java_method, not
lookup_argument_method.
2006-08-16 Jakub Jelinek <jakub@redhat.com>
Bryce McKinlay <bryce@mckinlay.net.nz>
* jvspec.c (lang_specific_driver): Add -s-bc-abi when needed.
2006-07-18 Tom Tromey <tromey@redhat.com>
* lang.opt: Added missing -W options.
2006-07-12 Tom Tromey <tromey@redhat.com>
PR java/28329:
* lang-specs.h: Pass '%U'-based options as separate arguments.
Use -faux-classpath.
* lang.c (java_handle_option): Handle OPT_faux_classpath.
* lang.opt (faux-classpath): New option.
2006-07-07 Tom Tromey <tromey@redhat.com>
* class.c (make_class_data): Set value for reflection_data field.
* decl.c (java_init_decl_processing): Add reflection_data field.
2006-07-07 Tom Tromey <tromey@redhat.com>
* jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): Declare locals
earlier.
(HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
2006-07-07 Andrew Haley <aph@redhat.com>
* jcf-parse.c (set_source_filename): Don't check for
CLASS_FROM_CURRENTLY_COMPILED_P.
Remove // comments.
2006-07-07 Andrew Haley <aph@redhat.com>
* java-tree.h (java_read_sourcefilenames): Declare.
* lang.c (java_handle_option): Call java_read_sourcefilenames().
* lang.opt (fsource-filename): New opt.
* lang-specs.h: Add -fsource-filename.
* jcf-parse.c (num_files, filenames): New variables.
(reverse, cmpstringp, java_read_sourcefilenames,
find_sourcefile): New.
(set_source_filename): Call find_sourcefile to find the real name
of a source file.
2006-06-27 Tom Tromey <tromey@redhat.com>
* jcf-reader.c (get_attribute): Handle EnclosingMethod,
Signature, LocalVariableTypeTable, annotation attributes.
* jcf-dump.c (HANDLE_ENCLOSINGMETHOD_ATTRIBUTE): New macro.
(HANDLE_SIGNATURE_ATTRIBUTE): Likewise.
(HANDLE_START_FIELD): Mention 'descriptor', not 'signature'.
(HANDLE_METHOD): Likewise.
(HANDLE_LOCALVARIABLETYPETABLE_ATTRIBUTE): New macro.
(print_annotation): New function.
(print_element_value): Likewise.
(indent): Likewise.
(HANDLE_RUNTIMEVISIBLEANNOTATIONS_ATTRIBUTE): New macro.
(HANDLE_RUNTIMEINVISIBLEANNOTATIONS_ATTRIBUTE): Likewise.
(print_parameter_annotations): New function.
(HANDLE_RUNTIMEVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE): New macro.
(HANDLE_RUNTIMEINVISIBLEPARAMETERANNOTATIONS_ATTRIBUTE):
Likewise.
(HANDLE_ANNOTATIONDEFAULT_ATTRIBUTE): Likewise.
(print_annotations): New function.
2006-06-23 Tom Tromey <tromey@redhat.com>
* lang-specs.h: Default -fsource and -ftarget to 1.5. If
emitting class files, always use 1.5.
* gcj.texi (Input Options): Document -fsource.
(Code Generation): Document -ftarget.
2006-06-21 Tom Tromey <tromey@redhat.com>
PR java/28089:
* expr.c (expand_java_field_op): Initialize field's declaring
class.
2006-06-20 Tom Tromey <tromey@redhat.com>
* expr.c (push_value): Always flush quick stack.
2006-06-19 Tom Tromey <tromey@redhat.com>
* expr.c (push_value): Also flush quick stack if value is a
component_ref.
2006-06-19 Tom Tromey <tromey@redhat.com>
* expr.c (push_value): Flush quick stack if value has side
effects.
2006-06-13 Tom Tromey <tromey@redhat.com>
* class.c (is_compiled_class): Explicitly check for current
class.
2006-06-09 Tom Tromey <tromey@redhat.com>
* gjavah.c (decompile_method): Don't decompile a static field
accessor method.
2006-06-06 Tom Tromey <tromey@redhat.com>
* lang-specs.h <jc1>: Add .jar file to command line if
-fsaw-java-file. Also, remove -ffilelist-file in this case.
2006-06-05 Tom Tromey <tromey@redhat.com>
* jcf-dump.c (print_access_flags): Handle varargs, bridge,
synthetic, enum, annotation.
* jcf.h (ACC_BRIDGE): New macro.
(ACC_VARARGS): Likewise.
(ACC_SYNTHETIC): Likewise.
(ACC_ENUM): Likewise.
(ACC_ANNOTATION): Likewise.
2006-06-04 Tom Tromey <tromey@redhat.com>
* lang.opt (-fsaw-java-file, -fsource, -ftarget): New options.
* jvspec.c (jvgenmain_spec): Remove -fsaw-java-file, -fsource,
and -ftarget.
(lang_specific_driver): Removed dead code. Add -fsaw-java-file
when needed. Handle classpath-setting.
* Make-lang.in ($(GCJ)$(exeext)): Link in jcf-path.o.
* lang-specs.h: Rewrote.
2006-06-04 Tom Tromey <tromey@redhat.com>
* jcf-io.c (find_class): Set source_ok to 0.
* jcf-parse.c (jcf_parse): Disable gnu.gcj.gcj-compiled warning.
(parse_class_file): Don't call java_mark_class_local.
(java_parse_file): Skip .java files. Call java_mark_class_local
before lowering any code.
(parse_zip_file_entries): Don't call duplicate_class_warning
here.
(process_zip_dir): ... call it here.
* class.c (add_field): Don't mark field external if it is being
compiled into this object.
(make_class_data): Handle situation where class_dtable_decl is
created before Class is compiled.
(is_compiled_class): Don't assume files in zip are compiled into
this object.
(layout_class_method): Don't mark method external if it is being
compiled into this object.
2006-06-04 Tom Tromey <tromey@redhat.com>
* jcf-path.c (jcf_path_compute): New function.
* jcf.h (jcf_path_compute): Declare.
Index: libjava/ChangeLog
2007-01-05 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.loader/loader.exp (gcj_loader_run): Find
dummy.class in srcdir.
2007-01-03 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.cni/cni.exp (gcj_cni_compile_cxx_to_o): Add -I
for srcdir.
2007-01-03 Tom Tromey <tromey@redhat.com>
* testsuite/*: Added many .jar and .h files.
* testsuite/libjava.special/special.exp
(gcj_special_try_compiler): New proc.
* testsuite/libjava.loader/loader.exp (gcj_loader_run): Don't
bytecompile source. Search for .jar files.
(gcj_loader_test_one): Don't look for MyLoader.java.
* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_test_one): Don't
bytecompile sources or build headers.
(gcj_jvmti_run): Look for .jar files.
* testsuite/libjava.jni/jni.exp (gcj_jni_run): Compile .jar
files.
(gcj_jni_test_one): Don't bytecompile sources or build headers.
Set classpath when invoking gij.
(gcj_jni_invocation_test_one): Likewise.
* testsuite/libjava.cni/cni.exp (gcj_cni_test_one): Don't build
headers or bytecompile sources.
(gcj_cni_run): Use .jar files, not .java files.
* testsuite/libjava.lang/lang.exp: Compile .jar files.
2007-01-02 Tom Tromey <tromey@redhat.com>
* configure: Rebuilt.
* configure.ac: Check for gjar.
2007-01-02 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.jacks/jacks.exp: Removed.
* testsuite/libjava.jacks/jacks.xfail: Removed.
2006-12-22 Tom Tromey <tromey@redhat.com>
* sources.am, Makefile.in: Rebuilt.
* java/io/natObjectInputStream.cc (allocateObject): Now method on
VMObjectStream.
(currentLoader): Removed.
* java/io/ObjectInputStream.java: Removed.
* java/io/VMObjectInputStream.java: New file.
* scripts/classes.pl (scan): Ignore .svn directories.
* gcj/javaprims.h: Updated.
2006-12-22 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.jni/register2.c: Include jni.h, not
register2.h.
* testsuite/libjava.cni/cni.exp (gcj_cni_build_headers):
Special-case shortfield.
2006-12-20 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (getDeclaredAnnotations): Call
ClassLoader.getDeclaredAnnotations and
ClassLoader.putDeclaredAnnotations.
* java/lang/ClassLoader.java (AnnotationsKey): New class.
(getDeclaredAnnotations, putDeclaredAnnotations): New.
2006-12-19 Andrew Haley <aph@redhat.com>
* java/lang/natClassLoader.cc (_Jv_CheckABIVersion): Move here
from include/jvm.h.
Add BC ABI Version 1.
Throw a ClassFormatError if we're not ABI-compatible.
(_Jv_RegisterClasses): Throw a ClassFormatError if we're not
ABI-compatible.
(_Jv_RegisterClasses_Counted): Likewise.
(_Jv_NewClassFromInitializer): Likewise.
Call Class::initializerSize to get size of initializer struct.
* include/jvm.h (_Jv_CheckABIVersion): Move to natClassLoader.cc.
* java/lang/Class.h (Class::initializerSize): New function.
2006-12-18 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_build_headers):
Don't use jv-scan.
2006-12-18 Tom Tromey <tromey@redhat.com>
* HACKING: Updated.
* gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.93.
2006-12-15 Tom Tromey <tromey@redhat.com>
* configure, Makefile.in: Rebuilt.
* Makefile.am (gcjh.stamp): Use JAVA_MAINTAINER_MODE.
* configure.ac: Added --enable-java-maintainer-mode.
2006-12-15 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.compile: Removed.
2006-12-15 Andrew Haley <aph@redhat.com>
* Makefile.am (AM_MAKEFLAGS): Pass JAR to sub-make.
(libgcj_tools_la_GCJFLAGS): Pass -fsource-filename to gcj.
2006-12-14 Gary Benson <gbenson@redhat.com>
* include/java-stack.h (stackwalker_nnl_trace_fn,
GetStackWalkerFirstNonNullLoader): Declare.
* stacktrace.cc (stackwalker_nnl_trace_fn,
GetStackWalkerFirstNonNullLoader): New methods.
* gnu/classpath/natVMStackWalker.cc
(firstNonNullClassLoader): New method.
* gnu/classpath/VMStackWalker.java
(firstNonNullClassLoader): Replace with native method.
2006-12-13 Gary Benson <gbenson@redhat.com>
* stacktrace.cc (stackwalker_trace_fn,
GetStackWalkerCallingClass): Be less strict about caller.
* gnu/classpath/natVMStackWalker.cc
(getCallingClassLoader): New method.
* gnu/classpath/VMStackWalker.java
(getCallingClassLoader): Replace with native method.
2006-12-12 Tom Tromey <tromey@redhat.com>
* sources.am, Makefile.in: Rebuilt.
* gnu/java/rmi/rmic/CompilerProcess.java: Removed.
* gnu/java/rmi/rmic/RMICException.java: Removed.
* gnu/java/rmi/rmic/Compiler.java: Removed.
* gnu/java/rmi/rmic/Compile_gcj.java: Removed.
* gnu/java/rmi/rmic/Compile_jikes.java: Removed.
* gnu/java/rmi/rmic/TabbedWriter.java: Removed.
* gnu/java/rmi/rmic/Compile_kjc.java: Removed.
* gnu/java/rmi/rmic/RMIC.java: Removed.
* Makefile.am (toolexeclib_LTLIBRARIES): Uncomment
libgcj-tools.la.
(jar_DATA): Uncomment libgcj-tools jar.
(libgcj_tools_la_SOURCES): Uncomment.
(libgcj_tools_la_GCJFLAGS): Likewise.
(libgcj_tools_la_LDFLAGS): Likewise.
(libgcj_tools_la_DEPENDENCIES): Likewise.
(libgcj_tools_la_LINK): Likewise.
(libgcj-tools-$(gcc_version).jar): Uncomment.
(bin_PROGRAMS): Add gappletviewer, gjarsigner, gkeytool, gjar,
gjavah, gnative2ascii, gorbd, grmid, gserialver, gtnameserv.
(gjar_SOURCES): New variable.
(gjar_LDFLAGS): Likewise.
(gjar_LINK): Likewise.
(gjar_LDADD): Likewise.
(gjar_DEPENDENCIES): Likewise.
(gjavah_SOURCES): Likewise.
(gjavah_LDFLAGS): Likewise.
(gjavah_LINK): Likewise.
(gjavah_LDADD): Likewise.
(gjavah_DEPENDENCIES): Likewise.
(gnative2ascii_SOURCES): Likewise.
(gnative2ascii_LDFLAGS): Likewise.
(gnative2ascii_LINK): Likewise.
(gnative2ascii_LDADD): Likewise.
(gnative2ascii_DEPENDENCIES): Likewise.
(gorbd_SOURCES): Likewise.
(gorbd_LDFLAGS): Likewise.
(gorbd_LINK): Likewise.
(gorbd_LDADD): Likewise.
(gorbd_DEPENDENCIES): Likewise.
(grmid_SOURCES): Likewise.
(grmid_LDFLAGS): Likewise.
(grmid_LINK): Likewise.
(grmid_LDADD): Likewise.
(grmid_DEPENDENCIES): Likewise.
(gserialver_SOURCES): Likewise.
(gserialver_LDFLAGS): Likewise.
(gserialver_LINK): Likewise.
(gserialver_LDADD): Likewise.
(gserialver_DEPENDENCIES): Likewise.
(gtnameserv_SOURCES): Likewise.
(gtnameserv_LDFLAGS): Likewise.
(gtnameserv_LINK): Likewise.
(gtnameserv_LDADD): Likewise.
(gtnameserv_DEPENDENCIES): Likewise.
(grmic_LDADD): Link against tools library.
(grmic_LDFLAGS): Changed --main.
(grmiregistry_LDADD): Link against tools library.
(grmiregistry_LDFLAGS): Changed --main.
(grmic_DEPENDENCIES): Updated.
(grmiregistry_DEPENDENCIES): Likewise.
2006-12-12 Tom Tromey <tromey@redhat.com>
* sources.am, Makefile.in: Rebuilt.
* gnu/java/nio/FileLockImpl.java: New override.
* gnu/java/nio/SelectorProviderImpl.java: New override.
* gnu/java/nio/PipeImpl.java: New override.
* gnu/java/nio/SocketChannelSelectionKeyImpl.java: New override.
* gnu/java/nio/NIOSocket.java: New override.
* gnu/java/nio/SocketChannelSelectionKey.java: New override.
* java/io/FileDescriptor.java: New override.
* java/io/RandomAccessFile.java: New override.
* java/io/FileInputStream.java: New override.
* java/io/FileOutputStream.java: New override.
* configure.ac: Pass --disable-Werror, --disable-tool-wrappers to
Classpath configure.
* java/io/ObjectInputStream.java (readClassDescriptor): Don't pass
class loader to ObjectStreamField.
* java/net/DatagramSocket.java: New override.
* java/net/Socket.java: New override.
* java/net/MulticastSocket.java: New override.
* gnu/classpath/VMStackWalker.java (firstNonNullClassLoader): New
method from Classpath.
* java/lang/Class.java (newInstance): Fixed return type.
(forName): Likewise.
(getClasses): Likewise.
(getComponentType): Likewise.
(getConstructors): Likewise.
(getDeclaredClasses): Likewise.
(getDeclaredConstructors): Likewise.
(getDeclaringClass): Likewise.
(getInterfaces): Likewise.
(getSuperclass): Likewise.
(internalGetClasses): Genericized.
(getMethod): Likewise.
(isAssignableFrom): Likewise.
* java/util/zip/natDeflater.cc (getBytesWritten): Renamed.
(getBytesRead): Likewise.
* java/util/zip/Deflater.java (getBytesRead, getBytesWritten): New
methods.
(getTotalIn, getTotalOut): Rewrote.
* java/net/NetworkInterface.java: New override.
* java/lang/ClassLoader.java (defineClass): New overload from
Classpath.
2006-12-11 Gary Benson <gbenson@redhat.com>
* gcj/Makefile.in: Rebuilt.
2006-12-11 Gary Benson <gbenson@redhat.com>
* Makefile.in: Rebuilt.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
2006-12-08 Mohan Embar <gnustuff@thisiscool.com>
* configure, Makefile.in: Rebuilt.
* configure.ac: (GCJ_FOR_ECJX) New substitution.
(host_exeext): Likewise.
(ENABLE_SHARED): New conditional,
* Makefile.am: Added GCJ_FOR_ECJX and GCJ_FOR_ECJX_LINK.
(install-exec-hook): Correctly rename ecjx to ecj1.
(ecjx_LINK, ecjx_LDFLAGS, ecjx_LDADD, ecjx_DEPENDENCIES): Define
as a function of whether we're doing a native and/or shared build.
2006-12-08 Mohan Embar <gnustuff@thisiscool.com>
* posix-threads.cc (_Jv_ThreadUnpark): Removed.
(ParkHelper::unpark): Ported from _Jv_ThreadUnpark.
(ParkHelper::deactivate): Implemented.
(_Jv_ThreadPark): Removed.
(ParkHelper::park): Ported from _Jv_ThreadPark; moved
mutex locking and unlocking to inside if statement.
* win32-threads.cc (compare_and_exchange): New helper function.
(_Jv_ThreadUnpark, _Jv_ThreadPark): Removed.
(ParkHelper::init): Implemented.
(ParkHelper::init_event): Implemented.
(ParkHelper::deactivate): Implemented.
(ParkHelper::destroy): Implemented.
(ParkHelper::unpark): Implemented.
(ParkHelper::park): Implemented.
* java/lang/natThread.cc (initialize_native): Use ParkHelper
instead of POSIX synchronization constructs.
(finalize_native): Likewise.
(interrupt): Use ParkHelper method instead of _Jv_ThreadUnpark().
(finish_): Use ParkHelper::deactivate().
* include/jvm.h (struct natThread): Use ParkHelper instead of POSIX
synchronization constructs.
* include/posix-threads.h: Include sysdep/locks.h
(_Jv_ThreadUnpark, _Jv_ThreadPark): Removed.
(ParkHelper): New struct.
(ParkHelper::init): Implemented.
(ParkHelper::destroy): Implemented.
* include/win32-threads.h (ParkHelper): New struct.
(TEXT): undefined this macro.
* sun/misc/natUnsafe.cc (unpark): Use ParkHelper instead of
_Jv_ThreadUnpark.
(park): Use ParkHelper instead of _Jv_ThreadPark.
2006-12-08 Ben Konrath <bkonrath@redhat.com>
PR libgcj/30110:
* Makefile.am: Add contents of classpath/external to src.zip.
* Makefile.in: Regenerate.
2006-12-07 Tom Tromey <tromey@redhat.com>
PR libgcj/30076:
* defineclass.cc (read_fields): Sort fields here.
(handleFieldsEnd): Removed.
(handleField): Added field map argument.
(struct _Jv_ClassReader): Updated.
(handleParameterAnnotations): Use writeInt for the length.
2006-12-07 Gary Benson <gbenson@redhat.com>
* include/java-stack.h (stackwalker_trace_fn,
GetStackWalkerCallingClass): Declare.
* stacktrace.cc (stackwalker_trace_fn,
GetStackWalkerCallingClass): New methods.
* gnu/classpath/natVMStackWalker.cc
(getCallingClass): Use the above.
* gnu/classpath/VMStackWalker.java
(getCallingClass): Replace with native method.
2006-12-06 Tom Tromey <tromey@redhat.com>
PR java/24938:
* sources.am, Makefile.in: Rebuilt.
* gnu/CORBA/DynAn/gnuDynValue.java: Removed.
* gnu/CORBA/DynAn/RecordAny.java: Removed.
* gnu/CORBA/DynAn/RecordAny.h: Rebuilt.
2006-12-06 Andrew Haley <aph@redhat.com>
* gcj/javaprims.h (_Jv_is_proxy): Declare.
* java/lang/reflect/natVMProxy.cc (_Jv_is_proxy): Define
(run_proxy): Register this proxy invocation with a _Jv_InterpFrame.
* include/java-stack.h (struct _Jv_StackFrame): Add proxyClass and
proxyMethod.
* stacktrace.cc (UnwindTraceFn): Add frame_proxy handling.
(getLineNumberForFrame): Likewise.
(FillInFrameInfo): Likewise.
2006-12-05 Andrew Haley <aph@redhat.com>
* Makefile.am: Add java/lang/reflect/natVMProxy.cc.
* java/lang/reflect/Method.java (exception_types, parameter_types,
return_type): Make package private.
* include/jvm.h (_Jv_makeUtf8Const(const char *s)): New function.
(_Jv_Linker::layout_vtable_methods): Given
public linkage.
(_Jv_Linker::search_method_in_class): Likewise.
* interpret.cc (_Jv_init_cif): Renamed from init_cif. Given
public linkage.
* include/java-interp.h (_Jv_init_cif): Likewise.
* java/lang/reflect/natVMProxy.cc: New file.
* java/lang/VMCompiler.java (precompiles): New method.
(compileClass): Use it.
* java/lang/reflect/VMProxy.java
(HAVE_NATIVE_GENERATE_PROXY_CLASS): true.
(generateProxyClass): Native.
2006-12-05 Tom Tromey <tromey@redhat.com>
* Makefile.in: Rebuilt.
* Makefile.am (libexecsubdir): New variable.
(install-exec-hook): Install ecj1 in libexecsubdir.
(libexecsub_PROGRAMS): Renamed.
2006-12-05 Tom Tromey <tromey@redhat.com>
PR java/29495:
* testsuite/libjava.lang/PR29495.out: New file.
* testsuite/libjava.lang/PR29495.java: New file.
2006-12-05 Gary Benson <gbenson@redhat.com>
* gnu/classpath/natVMStackWalker.cc: Comment fixes.
2006-12-05 Gary Benson <gbenson@redhat.com>
* gnu/classpath/natVMStackWalker.cc (getCallingClass): Unwind
the stack when the caller is a compiled frame and the caller
of the caller is an interpreted frame.
2006-12-04 Adam Megacz <megacz@cs.berkeley.edu>
* gnu/gcj/runtime/natSharedLibLoader.cc (init): add "::" to fix
syntax error
2006-12-04 Adam Megacz <megacz@cs.berkeley.edu>
* include/win32.h (_Jv_platform_process): change to Win32Process
2006-12-04 Gary Benson <gbenson@redhat.com>
* stacktrace.cc (GetClassContext): Remove.
* include/java-stack.h (GetClassContext): Likewise.
2006-12-04 Gary Benson <gbenson@redhat.com>
* java/lang/SecurityManager.java: Removed.
* java/lang/VMSecurityManager.java: Likewise.
* java/lang/natVMSecurityManager.cc: Likewise.
* javax/naming/spi/NamingManager.java: Likewise.
* gnu/CORBA/ObjectCreator.java: Likewise.
* sun/reflect/Reflection.java: Replaced with reference.
* sun/reflect/natReflection.cc: Removed.
* gcj/javaprims.h: Removed reference to VMSecurityManager.
* Makefile.am (nat_source_files): Removed natReflection.cc
and natVMSecurityManager.cc.
* sources.am, Makefile.in: Rebuilt.
2006-12-01 Gary Benson <gbenson@redhat.com>
* java/net/URLClassLoader.java
(findClass): Inhibit calling this.toString() further into VM
initialization.
(runtimeInitialized): Removed.
* java/net/natURLClassLoader.cc: Removed.
* Makefile.am: Reflect the above.
* Makefile.in: Rebuilt.
2006-11-30 Tom Tromey <tromey@redhat.com>
* java/lang/Class.java (getAnnotations): Don't recurse.
2006-11-30 Gary Benson <gbenson@redhat.com>
* include/java-stack.h (GetStackWalkerStack): Declare.
* stacktrace.cc (GetStackWalkerStack): New method.
* gnu/classpath/natVMStackWalker.cc (getClassContext): Likewise.
* gnu/classpath/VMStackWalker.java
(getClassContext): Replace stub with native method declaration.
(getCallingClass): Remove "throws NotImplementedException".
(getCallingClassLoader): Likewise.
2006-11-30 Gary Benson <gbenson@redhat.com>
* java/lang/ClassLoader.java: Merged javadoc.
(getParent, getSystemClassLoader): Use VMStackWalker.
2006-11-30 Gary Benson <gbenson@redhat.com>
* java/lang/Thread.java: Merged javadoc.
(getContextClassLoader): Use VMStackWalker.
2006-11-29 Gary Benson <gbenson@redhat.com>
* java/lang/Package.java: Removed.
* java/security/Security.java: Likewise.
* java/util/ResourceBundle.java: Likewise.
* java/util/natResourceBundle.cc: Likewise.
* Makefile.am (nat_source_files): Removed natResourceBundle.cc.
* sources.am, Makefile.in: Rebuilt.
2006-11-29 Gary Benson <gbenson@redhat.com>
* gnu/classpath/VMStackWalker.java: Added javadoc.
2006-11-27 Andrew Haley <aph@redhat.com>
* sun/reflect/misc/ReflectUtil.java (checkPackageAccess):
Implement.
2006-11-23 Andrew Haley <aph@redhat.com>
* java/lang/natClassLoader.cc (_Jv_RegisterClasses): Abort if we
are ABI-incompatible.
2006-11-23 Andrew Haley <aph@redhat.com>
* Makefile.am (nat_source_files): Add gnu/classpath/natVMStackWalker.cc.
* sources.am: Rebuild.
* gnu/classpath/natVMStackWalker.cc: New file.
* gnu/classpath/VMStackWalker.java: New file.
* headers.txt: prepend
_Jv_Thread_t* _Jv_ThreadGetData(java::lang::Thread* thread)
* include/java-stack.h: Add VMStackWalker namespace.
Add friend class gnu::classpath::VMStackWalker.
2006-11-23 Gary Benson <gbenson@redhat.com>
* java/security/Security.java: Merge with classpath.
* java/lang/Package.java: Likewise.
2006-11-21 Andrew Haley <aph@redhat.com>
* java/lang/Class.h: (isEnum, isSynthetic, isAnnotation): Move
to native code.
* java/lang/Class.java (isEnum, isSynthetic, isAnnotation):
Likewise.
2006-11-17 Andrew Haley <aph@redhat.com>
* java/net/natVMURLConnection.cc: Check for HAVE_MAGIC_OPEN.
* configure.ac: Add HAVE_MAGIC_OPEN.
* include/config.h.in: Regenerated.
* configure: Regenerated.
2006-11-07 Andrew Haley <aph@redhat.com>
* java/lang/VMCompiler.java (compileClass): Revert mistaken
change.
* java/lang/natVMClassLoader.cc (defineClass): Register the new
class with the initiating loader.
2006-11-06 Andrew Haley <aph@redhat.com>
* defineclass.cc (prepare_pool_entry): Be careful about which
constant pool entries have their '/' characters stripped.
(handleGenericSignature): Likewise.
(handleAnnotationElement): Likewise.
(handleAnnotation): Likewise.
(read_one_class_attribute): Likewise.
(handleMethod): Likewise.
* include/java-cpool.h (JV_CONSTANT_LazyFlag): New.
* java/lang/natClass.cc (check_constant): Likewise.
* link.cc (resolve_pool_entry): Mask JV_CONSTANT_LazyFlag.
2006-11-01 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (parseAnnotationElement): Set result from
anno_class.
2006-10-21 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.lang/PR260.out: Rewrote for 1.5.
* testsuite/libjava.lang/pr179.out: Rewrote for 1.5.
* testsuite/libjava.lang/pr179.java: Updated comments.
* testsuite/libjava.compile/inner_1.xfail: Removed.
2006-10-20 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.cni/cni.exp (gcj_cni_build_headers): Don't use
jv-scan.
* testsuite/lib/libjava.exp (test_libjava_from_javac): Removed.
(find_jvscan): Removed.
2006-10-20 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.jni/jni.exp (gcj_jni_build_header): Use
-force.
* testsuite/lib/libjava.exp (find_gcjh): Find 'gjavah' instead.
* testsuite/libjava.cni/cni.exp (gcj_cni_build_headers): Pass -cni
and -force to gcjh.
* Makefile.in: Rebuilt.
* Makefile.am (MYGCJH): Use gjavah.
2006-10-18 Tom Tromey <tromey@redhat.com>
PR classpath/28203:
* java/lang/Class.java (getAnnotations): Rewrote.
* java/lang/reflect/Method.java (METHOD_MODIFIERS): Now
package-private.
* java/lang/reflect/Field.java (FIELD_MODIFIERS): Now
package-private.
* gcj/field.h (_Jv_FIELD_CONSTANT_VALUE): Removed.
* defineclass.cc (handleConstantValueAttribute): Added found_value
argument. Don't use _Jv_FIELD_CONSTANT_VALUE.
(read_one_field_attribute): Updated.
(read_fields): Likewise.
(handleField): Mask with FIELD_MODIFIERS, not ALL_FLAGS.
(handleMethod): Mask with METHOD_MODIFIERS, not ALL_FLAGS.
2006-10-17 Tom Tromey <tromey@redhat.com>
* defineclass.cc (handleMemberAnnotations): Write member index
after 'kind'.
(handleAnnotation): Call prepare_pool_entry.
* java/lang/reflect/natMethod.cc (getDeclaredAnnotationsInternal):
Removed unused variable.
(getParameterAnnotationsInternal): Likewise.
* java/lang/reflect/natField.cc (getDeclaredAnnotationsInternal):
Removed unused variable.
* java/lang/reflect/natConstructor.cc
(getDeclaredAnnotationsInternal): Removed unused variable.
(getParameterAnnotationsInternal): Likewise.
* java/lang/natClass.cc (parseAnnotation): Create annotation.
(parseAnnotationElement): Handle 'c' and 'e' cases more
correctly.
(getMethodDefaultValue): Fixed variable names.
(parseAnnotationElement): Create String for 's' entry.
* java/lang/reflect/Constructor.java (getAnnotation): New method.
* java/lang/reflect/Field.java (getAnnotation): New method.
* java/lang/reflect/Method.java (getAnnotation): New method.
2006-10-17 Tom Tromey <tromey@redhat.com>
* java/lang/natClass.cc (parseAnnotationElement): Expect a utf8
constant in the "string" case.
* defineclass.cc (handleAnnotationElement): Expect a utf8 constant
in the "string" case.
2006-10-17 Tom Tromey <tromey@redhat.com>
* configure, Makefile.in: Rebuilt.
* Makefile.am (install-exec-hook): Now unconditional. Rename ecjx
if needed.
(jar_DATA): Add ecj jar when needed.
(toolexec_PROGRAMS): New variable.
(ecjx_SOURCES, ecjx_LDFLAGS, ecjx_LDADD, ecjx_DEPENDENCIES):
Likewise.
* prims.cc (JvRunMainName): New function.
* include/jvm.h (JvRunMainName): Declare.
* configure.ac: Added --with-ecj-jar.
(ECJ_JAR): New subst.
(ECJ_BUILD_JAR): Likewise.
(INSTALL_ECJ_JAR): New conditional.
(BUILD_ECJ1): Likewise.
2006-10-13 Tom Tromey <tromey@redhat.com>
* HACKING: Updated.
* sources.am, Makefile.in: Rebuilt.
* scripts/makemake.tcl (emit_bc_rule): Updated for class files in
srcdir.
(emit_package_rule): Likewise.
(emit_process_package_rule): Likewise.
* Makefile.am (gcjh.stamp): Conditional on MAINTAINER_MODE. Put
headers in srcdir.
(libgcj-$(gcc_version).jar): Updated to find classes in source
tree.
(BOOTCLASSPATH): Likewise.
(install-data-local): Likewise.
Added all the .class and CNI .h files.
2006-10-12 Andrew Haley <aph@redhat.com>
* java/lang/natThreadLocal.cc: New file.
* java/lang/ThreadLocal.java: Rewrite to use native TLS.
* Makefile.am: Add java/lang/natThreadLocal.cc.
* sources.am: Move classpath/java/lang/ThreadLocal.java to
java/lang/ThreadLocal.java.
2006-10-11 Tom Tromey <tromey@redhat.com>
* sources.am, Makefile.in, include/config.h.in, configure:
Rebuilt.
* Makefile.am (nat_source_files): Added natConfiguration.cc.
* gnu/classpath/natConfiguration.cc: New file.
* configure.ac (AWT_TOOLKIT): New define.
(LIBGCJ_PREFIX): Likewise.
* gnu/classpath/Configuration.java: New file.
* sources.am: Rebuilt.
* scripts/makemake.tcl: Don't special case Configuration.java.
2006-10-10 Tom Tromey <tromey@redhat.com>
* gcj/javaprims.h: Updated.
* sources.am, Makefile.in: Rebuilt.
* standard.omit.in: Removed process source files.
* scripts/makemake.tcl: Removed ConcreteProcess special case.
(emit_package_rule): Also special-case Process.
(emit_process_package_rule): New proc.
* Makefile.am (inner_nat_headers): Removed
PLATFORM_INNER_NAT_HDRS.
* configure: Rebuilt.
* configure.ac (PLATFORM_INNER_NAT_HDRS): Removed subst.
Don't create ConcreteProcess.java link.
(PLATFORM): New subst.
* java/lang/natWin32Process.cc: Updated.
* java/lang/natPosixProcess.cc: Updated.
* java/lang/natEcosProcess.cc: Updated.
* java/lang/Win32Process.java (Win32Process): Renamed from
ConcreteProcess.
* java/lang/EcosProcess.java (EcosProcess): Renamed from
ConcreteProcess.
* java/lang/PosixProcess.java (PosixProcess): Renamed from
ConcreteProcess.
* include/win32.h (_Jv_platform_process): New define.
* java/lang/natRuntime.cc (execInternal): Use
_Jv_platform_process.
* include/posix.h (_Jv_platform_process): New define.
2006-10-09 Andrew Haley <aph@redhat.com>
* win32-threads.cc (_Jv_ThreadUnpark, _Jv_ThreadPark): New
functions.
2006-10-06 Tom Tromey <tromey@redhat.com>
PR libgcj/29278:
* Makefile.in: Rebuilt.
* Makefile.am ($(generic_header_files)): Depend on gcjh.stamp.
(gcjh.stamp): New target.
2006-10-06 Andrew Haley <aph@redhat.com>
* posix-threads.cc (_Jv_ThreadUnpark, _Jv_ThreadPark): Moved here
from sun/misc/natUnsafe.cc.
* sun/misc/natUnsafe.cc (class spinlock): New class.
(compareAndSwap): New methods.
(compareAndSwapInt, compareAndSwapLong, compareAndSwapObject)
(putOrderedLong, putLongVolatile, putObjectVolatile, putLong)
(getIntVolatile, getObjectVolatile, getLong, getLongVolatile):
Rewrite to use gcj's own atomic functions rather than gcc
builtins.
(unpark): Moved to posix-threads.cc
(park): Likewise.
* include/jvm.h (struct natThread::alive_flag): Moved here from
Thread.java.
(struct natThread): Likewise.
* include/posix-threads.h: (_Jv_ThreadUnpark, _Jv_ThreadPark):
moved here from sun/misc/natUnsafe.cc.
* java/lang/natThread.cc (initialize_native): Set alive_flag here.
(isAlive): Moved here from Thread.java.
(interrupt): alive_flag is now in the natThread structure.
(interrupt): Call _Jv_ThreadUnpark().
(finish_): parkPermit and alive_flag are now in the natThread
structure.
(start): LIkewise.
(_Jv_AttachCurrentThread): Likewise.
* java/lang/Thread.java (alive_flag): Remove.
(parkPermit): Likewise.
(Thread): Don't set alive_flag.
(isAlive): Make native.
2006-09-13 Andrew Haley <aph@redhat.com>
* Makefile.am: Add sun/reflect/natReflection.cc.
* Makefile.in: Rebuild.
* sun/reflect/natReflection.cc: New file.
* sun/reflect/Reflection.java (getCallerClass): Now native.
* stacktrace.cc (GetClassContext): Don't check the class if
checkClass is NULL.
2006-09-12 Andrew Haley <aph@redhat.com>
* java/lang/Thread.java (alive_flag): Make it a byte.
(THREAD_DEAD, THREAD_ALIVE, THREAD_SIGNALED): new constants.
(parkPermit): New variable.
(data): Now package private.
(Thread): Set alive_flag to THREAD_DEAD, not false.
(isAlive): Test against THREAD_DEAD.
* java/lang/natThread.cc (initialize_native): Initialize
park_mutex and park_cond.
(finish_): Set parkPermit THREAD_PARK_DEAD.
(interrupt): Rewrite. Use an atomic update rather than a mutex to
access alive_flag.
If the thread is parked, unpark it.
(start): Set alive_flag to THREAD_ALIVE, not true.
(finalize_native): Destroy park_mutex and park_cond.
* sun/misc/natUnsafe.cc (unpark): New method.
(park): New method.
* include/jvm.h (struct natThread): Moved here.
2006-06-07 Andrew Haley <aph@redhat.com>
* include/jvm.h (_Jv_Linker::maybe_adjust_signature): New.
(_Jv_Linker::uaddr): New.
* link.cc (resolve_pool_entry): Call search_method_in_superclasses
instead of an open-coded loop around search_method_in_class.
(search_method_in_class): Add a new arg, check_perms.
(search_method_in_superclasses): New.
(link_symbol_table): Call maybe_adjust_signature() to extract the
least significnt bit of the signature pointer. Do this three
times, for instace method calls, static methods, and interfaces.
Call search_method_in_superclasses() instead of
_Jv_LookupDeclaredMethod.
(typedef uaddr): Delete.
2006-09-11 Andrew Haley <aph@redhat.com>
* gij.cc (main): Remove bogus code that sets LTDL_SHLIBPATH_VAR
and forks.
2006-06-16 Andrew Haley <aph@redhat.com>
* java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Don't
copy the whole Class instance from the initializer: instead, copy
everything but the first word (the vtable pointer).
Change prototype to (const char* class_initializer).
(_Jv_RegisterNewClasses): Change prototype to (const char**).
* java/lang/Class.h (_Jv_RegisterNewClasses): Change prototype to
(const char**).
2006-08-31 Tom Tromey <tromey@redhat.com>
PR libgcj/28698:
* libgcj_bc.c (DECLARE_PRIM_TYPE): New macro. Declare primitive
classes.
2006-08-21 Bryce McKinlay <mckinlay@redhat.com>
* java/lang/natThread.cc (_Jv_AttachCurrentThread): Attach thread
to GC.
(_Jv_DetachCurrentThread): Detach thread from GC.
* include/boehm-gc.h (_Jv_GCAttachThread, _Jv_GCDetachThread):
Declare.
* boehm.cc (_Jv_GCAttachThread): New function.
(_Jv_GCDetachThread): Likewise.
2006-08-16 Jakub Jelinek <jakub@redhat.com>
Bryce McKinlay <bryce@mckinlay.net.nz>
* configure, Makefile.in: Rebuilt.
* Makefile.am (toolexeclib_LTLIBRARIES): Add libgcj_bc.la.
(libgcj_bc_la_SOURCES): New variable.
(libgcj_bc_la_LDFLAGS): Likewise.
(libgcj_bc_la_LIBADD): Likewise.
(libgcj_bc_la_DEPENDENCIES): Likewise.
(libgcj_bc_la_LINK): Likewise.
(libgcj_bc_dummy_LINK): Likewise.
(libgcj_bc.la): New target.
(install-exec-hook): Likewise.
* libgcj.spec.in (*lib): Use LIBGCJ_SPEC.
* libgcj_bc.c: New file.
* configure.ac (LIBGCJ_SPEC): New subst.
* configure.host (use_libgcj_bc): New variable.
2006-08-26 Andrew John Hughes <gnu_andrew@member.fsf.org>
* link.cc:
Increment loaded classes when printing verbose output.
* gnu/java/lang/management/natVMMemoryMXBeanImpl.cc:
Added comments.
* gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc:
(getMemoryManagerNames(jstring)): Implemented.
(isValid(jstring)): Implemented.
* gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc:
(getLoadedClassCount()): Implemented.
(getUnloadedClassCount()): Likewise.
(isVerbose()): Likewise.
(setVerbose(jboolean)): Likewise.
* java/lang/management/natVMManagementFactory.cc:
(getMemoryPoolNames()): Implemented.
(getMemoryManagerNames()): Likewise.
(getGarbageCollectorNames()): Likewise.
* include/jvm.h:
Add loaded and unloaded class counts.
* defineclasses.c:
Increment loaded classes count.
* prims.cc:
Add loaded and unloaded class counts.
2006-08-16 Tom Tromey <tromey@redhat.com>
* include/posix-threads.h (_Jv_MutexLock): No longer inline.
* posix-threads.cc (_Jv_CondWait): Set thread's state.
* include/jvm.h (class JvSetThreadState): New class.
(JvThreadState): New enum.
* java/lang/Thread.java (state): New field.
* java/lang/natThread.cc (_Jv_ThreadRun): Use
getUncaughtExceptionHandler.
(start): Set state.
(_Jv_AttachCurrentThread): Likewise.
(finish_): Likewise.
(getState): Wrote.
2006-08-15 Tom Tromey <tromey@redhat.com>
* gnu/gcj/runtime/natSharedLibLoader.cc (init): Added missing
'::'.
* gnu/gcj/convert/natIconv.cc (init): Added missing '::'.
(read): Likewise.
* gnu/gcj/natCore.cc (create): Added missing '::'.
* gnu/classpath/natSystemProperties.cc (insertSystemProperties):
Added missing '::'
2006-08-14 Tom Tromey <tromey@redhat.com>
* Makefile.in: Rebuilt.
* Makefile.am (libgcj_la_LIBADD): Add LIBMAGIC.
* java/net/natVMURLConnection.cc: Wrote, based on Classpath.
* configure, config.h.in: Rebuilt.
* configure.ac: Check for magic.h and -lmagic.
2006-08-14 Tom Tromey <tromey@redhat.com>
* java/lang/natThread.cc (getId): Removed.
* java/lang/Thread.java (threadId): New field.
(totalThreadsCreated): Likewise.
(Thread): Set threadId.
(getId): No longer native.
2006-08-14 Tom Tromey <tromey@redhat.com>
* sources.am, Makefile.in: Rebuilt.
* Makefile.am (nat_source_files): Added new .cc files.
(libgcj-$(gcc_version).jar): Include 'sun'.
(src.zip): Likewise.
* java/lang/natThread.cc (getId): New stub.
(getState): Likewise.
* scripts/makemake.tcl (emit_source_var): Use -decreasing when
sorting.
* gnu/java/lang/management/natVMMemoryMXBeanImpl.cc: New file.
* gnu/java/lang/management/natVMCompilationMXBeanImpl.cc: New file.
* gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc: New
file.
* gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc: New file.
* gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc: New file.
* gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc: New file.
* gnu/java/lang/management/natVMThreadMXBeanImpl.cc: New file.
* gnu/java/nio/natVMChannel.cc: New file.
* gcj/javaprims.h: Updated.
* sources.am: Likewise.
* java/lang/management/natVMManagementFactory.cc: New file.
* java/net/natVMURLConnection.cc: New file.
* java/util/concurrent/atomic/natAtomicLong.cc: New file.
* sun/misc/natUnsafe.cc: New file.
2006-08-07 Andrew John Hughes <gnu_andrew@member.fsf.org>
* libjava/Makefile.in,
* libjava/sources.am:
Regenerated.
* libjava/scripts/makemake.tcl:
Added gconf and dnd peers as BC.
2006-08-07 Andrew John Hughes <gnu_andrew@member.fsf.org>
* libjava/Makefile.in,
* libjava/sources.am:
Regenerated.
* libjava/scripts/makemake.tcl:
Added external/jsr166.
2006-08-07 Andrew John Hughes <gnu_andrew@member.fsf.org>
* libjava/configure,
* libjava/Makefile.in:
Regenerated.
* libjava/scripts/makemake.tcl:
Handle the Escher peers as we handle Qt.
* libjava/gcj/Makefile.in:
Regenerated.
* libjava/configure.ac:
Handle Escher peers and disable plugin when Gtk+ is not used.
* libjava/sources.am:
Regenerated.
* libjava/classpath/gnu/java/awt/peer/x/fonts.properties:
Removed (as recently on generics branch of Classpath).
* libjava/include/Makefile.in,
* libjava/testsuite/Makefile.in:
Regenerated.
2006-07-23 Andrew John Hughes <gnu_andrew@member.fsf.org>
* libjava/Makefile.in:
Regenerated.
* libjava/scripts/classes.pl:
Ignore .svn directories.
* libjava/scripts/makemake.tcl:
Include sun directory.
* libjava/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
* libjava/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
* libjava/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
* libjava/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
* libjava/gnu/java/lang/management/VMThreadMXBeanImpl.java,
* libjava/gnu/java/lang/management/VMMemoryMXBeanImpl.java,
* libjava/gnu/java/lang/management/VMCompilationMXBeanImpl.java,
* libjava/gnu/java/nio/VMChannel.java:
Copied over from classpath/vm/reference.
* libjava/gnu/java/nio/channels/FileChannelImpl.java:
(getNativeFD()): Implemented.
* libjava/gcj/javaprims.h:
Updated for generics merge from 20060709.
* libjava/javax/naming/spi/NamingManager.java:
Copied over from classpath/vm/reference.
* libjava/sources.am:
Regenerated.
* libjava/java/lang/Thread.java:
(getId()): Implemented.
(getState()): Likewise.
(getAllStackTraces()): Likewise.
(getStackTrace()): Likewise.
* libjava/java/lang/management/VMManagementFactory.java,
* libjava/java/net/VMURLConnection.java:
Copied over from classpath/vm/reference.
* libjava/classpath/vm/reference/java/lang/management/VMThreadInfo.java:
Removed.
* libjava/classpath/native/fdlibm/namespace.h:
Changed back to GCJ LOCAL version.
* libjava/sun/reflect/Reflection.java,
* libjava/sun/reflect/misc/ReflectUtil.java,
* libjava/sun/misc/Unsafe.java:
Copied over from classpath/vm/reference.
2006-07-07 Andrew John Hughes <gnu_andrew@member.fsf.org>
* sources.am, Makefile.in: Rebuilt.
* gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
* gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc:
New files.
* include/jvm.h:
Add new variables used in prims.cc.
* Makefile.am:
Add natVMRuntimeMXBeanImpl.cc.
* prims.cc:
(_Jv_CreateJavaVM): Retain start time and input
arguments.
2006-07-21 Tom Tromey <tromey@redhat.com>
PR libgcj/4105:
* java/lang/natClass.cc (findInnerClassAttribute): New method.
(findDeclaredClasses): Likewise.
(getDeclaredClasses): Implemented.
(getDeclaringClass): Likewise.
(isAnonymousClass): Likewise.
(isMemberClass): Likewise.
(check_constant): Pass message in exception. Allow resolved
constants.
(resolve_class_constant): New function.
* defineclass.cc (read_one_class_attribute): Handle InnerClasses.
* java/lang/Class.h (isAnonymousClass, isLocalClass,
isMemberClass): Declare.
* java/lang/Class.java (getSimpleName): Implemented.
(isAnonymousClass, isLocalClass, isMemberClass): New methods.
2006-07-16 Tom Tromey <tromey@redhat.com>
* configure: Rebuilt.
* configure.ac (JV_API_VERSION, JV_VERSION): Claim 1.5.
2006-07-12 Andrew Haley <aph@redhat.com>
* Makefile.am (java/lang/Object.lo): Add -fsource-filename.
(java/lang/Class.lo): Likewise.
* Makefile.in: Regenerate.
2006-07-07 Tom Tromey <tromey@redhat.com>
* defineclass.cc (input_data, input_offset): New fields.
(reflection_data, data_stream): Likewise.
(get_reflection_stream): New method.
(_Jv_ClassReader): Initialize new fields.
(parse): Call finish_reflection_data.
(finish_reflection_data): New method.
(handleEnclosingMethod): Likewise.
(handleGenericSignature): Likewise.
(handleAnnotationElement): Likewise.
(handleAnnotation): Likewise.
(handleAnnotations): Likewise.
(handleMemberAnnotations): Likewise.
(handleAnnotationDefault): Likewise.
(handleParameterAnnotations): Likewise.
(read_one_field_attribute): Handle new attributes.
(read_one_method_attribute): Likewise.
(read_one_class_attribute): Likewise.
* include/jvm.h (resolve_method_entry): New method.
* java/lang/Class.h (jv_attr_type, jv_attr_kind): New enums.
(Class): Updated for new methods. Field, Method, Constructor now
friends.
(reflection_data): New field.
* java/lang/Class.java (asSubclass, cast): New methods.
(getEnclosingClass, getEnclosingConstructor): Now native.
(getEnclosingMethod): Likewise.
(getClassSignature): New method.
(getGenericInterfaces, getGenericSuperclass, getTypeParameters):
Likewise.
(Class): Implements AnnotatedElement.
(getAnnotation, isAnnotationPresent, getAnnotations): New methods.
(getDeclaredAnnotations): New method.
(getDeclaredAnnotationsInternal): Likewise.
* java/lang/reflect/natConstructor.cc (anno_a_t, anno_aa_t): New
typedefs.
(getSignature): New method.
(getDeclaredAnnotationsInternal): Likewise.
(getParameterAnnotationsInternal): Likewise.
* java/lang/reflect/natField.cc (anno_a_t): New typedef.
(getSignature): New method.
(getDeclaredAnnotationsInternal): Likewise.
* java/lang/reflect/natMethod.cc (anno_a_t, anno_aa_t): New
typedefs.
(getSignature): New method.
(getDefaultValue): Likewise.
(getDeclaredAnnotationsInternal): Likewise.
(getParameterAnnotationsInternal): Likewise.
* java/lang/reflect/Constructor.java (addTypeParameters):
Genericized.
(getSignature): Now native.
(getDeclaredAnnotations, getDeclaredAnnotationsInternal,
getParameterAnnotations, getParameterAnnotationsInternal): New
methods.
* java/lang/reflect/Field.java (getDeclaringClass, getType):
Genericized.
(getSignature): Now native.
(getDeclaredAnnotations, getDeclaredAnnotationsInternal): New
methods.
* java/lang/reflect/Method.java (getReturnType): Genericized.
(getParameterTypes, getExceptionTypes, getTypeParameters):
Likewise.
(getSignature): Now native.
(getDefaultValue, getDeclaredAnnotations,
getParameterAnnotations, getDeclaredAnnotationsInternal,
getParameterAnnotationsInternal): New methods.
* java/lang/natClass.cc (read_u1): New functions.
(read_u2): Likewise.
(read_4): New function.
(getReflectionSignature): New methods.
(getClassSignature): New method.
(getEnclosingMethodData): Likewise.
(getEnclosingClass): Likewise.
(getEnclosingMethod): Likewise.
(getEnclosingConstructor): Likewise.
(check_constant): New function.
(parseAnnotationElement): Likewise.
(parseAnnotation): Likewise.
(parseAnnotations): Likewise.
(parseParameterAnnotations): Likewise.
(getMethodDefaultValue): New method.
(getDeclaredAnnotations): New methods.
(getDeclaredAnnotationsInternal): New method.
* boehm.cc (_Jv_MarkObj): Mark 'reflection_data' field.
* link.cc (resolve_method_entry): New method.
(resolve_pool_entry): Use it.
2006-07-07 Andrew Haley <aph@redhat.com>
* Makefile.am: Use -fsource-filename when compiling libgcj.
* Makefile.in: Regenerate.
2006-06-23 Tom Tromey <tromey@redhat.com>
Merged in classpath-generics.
* sources.am, Makefile.in: Rebuilt.
* Makefile.am (generic_header_files): Don't filter out omitted
headers.
(generic_header_files): Rewrote.
(MYGCJH): New variable.
Removed all .h rules.
* headers.txt: New file.
* java/io/PrintStream.java (PrintStream): Implement Appendable.
* java/lang/Class.java: Genericized.
(getEnumConstants): New method.
(isEnum): Likewise.
(isSynthetic): Likewise.
(isAnnotation): Likewise.
* java/lang/reflect/Constructor.java (getDeclaringClass,
getTypeParameters, declaringClass): Genericized.
* java/lang/reflect/Method.java (invoke): Now varargs.
* java/lang/ref/Reference.java (Reference): Imported genericized
version from Classpath.
(get): Now native.
* java/lang/ref/natReference.cc (get): New method.
* java/lang/ProcessBuilder.java: New file.
* java/lang/System.java (environmentMap): New field.
(clearProperty): New method.
(getenv): Likewise.
(EnvironmentCollection): New class.
(EnvironmentMap): Likewise.
(EnvironmentSet): Likewise.
* java/lang/StringBuilder.java (StringBuilder): Implements
Appendable.
* gnu/classpath/SystemProperties.java (remove): New method.
2006-06-23 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.loader/TestLeak.java: Don't use wildcard
import for java.lang.reflect.
2006-06-21 Tom Tromey <tromey@redhat.com>
* gnu/classpath/natSystemProperties.cc (insertSystemProperties):
Set java.class.version to 49.
2006-06-21 Tom Tromey <tromey@redhat.com>
* link.cc (resolve_pool_entry): Initialize field's declaring
class, not its qualifying class.
2006-06-21 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.jacks/jacks.xfail: Updated for ecj.
2006-06-20 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.compile/Where.xfail: Now 'no-link'.
2006-06-19 Tom Tromey <tromey@redhat.com>
* gnu/java/lang/natMainThread.cc (call_main): Link main class.
2006-06-19 Tom Tromey <tromey@redhat.com>
* testsuite/lib/libjava.exp (test_libjava): Don't compile via
bytecode. Run BC compilations from source.
2006-06-19 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.lang/TestProxy.java: Don't use wildcard
imports for java.lang.reflect.
2006-06-13 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.lang/stringconst.xfail: Removed.
* testsuite/libjava.lang/ArrayStore2.xfail: Removed.
2006-06-08 Tom Tromey <tromey@redhat.com>
* sources.am, Makefile.in: Rebuilt.
* Makefile.am (libgcj_la_LIBADD): Add Object.lo and Class.lo.
(java/lang/Object.lo): New target.
(java/lang/Class.lo): Likewise.
* scripts/makemake.tcl (emit_package_rule): Add special case for
Object and Class.
2006-06-06 Tom Tromey <tromey@redhat.com>
* Makefile.in: Rebuilt.
* Makefile.am (gcj_dbtool_DEPENDENCIES): Add gcj_dbtool.lo.
2006-06-06 Tom Tromey <tromey@redhat.com>
* Makefile.in: Rebuilt.
* Makefile.am (nat_headers): Don't list Main.h.
(generic_header_files): Likewise.
2006-06-05 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.loader/TestLeak.java (MyLoader): Now static.
* testsuite/libjava.jacks/jacks.exp (gcj_jacks_write): Use -w.
* testsuite/lib/libjava.exp (libjava_arguments): Add -w.
* testsuite/libjava.compile/G19990210_2.java: Removed.
* testsuite/libjava.compile/PR208.java: Removed.
* testsuite/libjava.compile/PR208.xfail: Removed.
* testsuite/libjava.compile/support/Case.java: Removed.
* testsuite/libjava.compile/Case.java: Removed.
2006-06-04 Tom Tromey <tromey@redhat.com>
* sources.am, Makefile.in: Rebuilt.
* Makefile.am (gcj_dbtool_LDADD): Add
gnu-gcj-tools-gcj_dbtool.lo.
(gcj_dbtool_SOURCES): Updated.
(EXTRA_libgcj_la_SOURCES): New macro.
* scripts/makemake.tcl (emit_package_rule): Compile class files
from the package.
(gcj_dbtool/Main.java, Class.java, Object.java): Removed
package_map settings.
(emit_package_rule): Special case gnu.gcj.tools.gcj_dbtool.
2006-06-04 Tom Tromey <tromey@redhat.com>
* java/lang/Class.java (getClassLoaderInternal): Now native.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: merge.diff.bz2
Type: application/x-bzip2
Size: 374943 bytes
Desc: the patch
URL: <http://gcc.gnu.org/pipermail/java-patches/attachments/20070109/e2ba2658/attachment.bz2>
More information about the Java-patches
mailing list