1999-10-19 Bryce McKinlay <bryce@albatross.co.nz>
* libjava.compile/invokeinterface: New directory.
* libjava.compile/invokeinterface/Test.java: New file. Test code for
PR gcj/71 and PR gcj/72.
* libjava.compile/invokeinterface/A.java: New file.
* libjava.compile/invokeinterface/B.java: New file.
From-SVN: r30094
* cplus-dem.c (INTBUF_SIZE): New macro.
(string_append_template_idx): New function.
(demangle_expression): Likewise.
(demangle_integral_value): Use it.
(demangle_real_value): New function, split out from ...
(demangle_template_value_parm): ... here. Use
string_append_template_idx. Use demangle_real_value.
(demangle_template): Use string_append_template_idx.
(demangle_qualified): Use consume_count_with_underscores.
(get_count): Tweak formatting.
(do_type): Use string_append_template_idx.
From-SVN: r30091
* mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
to the cfg code that this is a return instruction.
* mn10300.md (return_internal): Similarly.
From-SVN: r30072
* c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
(finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
if that tests TREE_PERMANENT.
From-SVN: r30068
* combine.c (get_last_value): If the last set of a register
is after subst_low_cuid, then we can not use it to determine
the register's last value.
From-SVN: r30062
* haifa-sched.c (add_dependence): Only check/update the cache
if it exists.
(remove_dependence): Likewise.
(schedule_insns): Only create the true_dependency_cache if the
average number of instructions in a basic block is very large.
From-SVN: r30058
* basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
Prototype for exported functions.
(pre_lcm, pre_rev_lcm): Remove prototypes.
* gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
(compute_available): Move to lcm.c, and change parameter order.
(one_classic_gcse_pass): Call compute_ae_kill with parameters.
(pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
(gcse_main): No longer call compute_preds_succs. Rebuild the
set table after reach pre pass.
(pre_insert_map, pre_delete_map, edge_list): New.
(alloc_pre_mem): Allocate edge vectors.
(free_pre_mem): Delete edge vectors.
(compute_pre_data): Call new edge based lcm routines.
(process_insert_insn): New function.
(insert_insn_end_bb): Use it.
(pre_edge_insert): New function.
(pre_insert_copy_insn): Formatting fixes. Update BLOCK_END as
needed.
(pre_insert_copies): Revamp using new edge based lcm outputs.
(pre_delete): Likewise.
(one_pre_gcse_pass): Insert & remove fake edges to the exit
block.
(compute_code_hoist_vbeinout): New new edge based routines.
* lcm.c: Remove all the old LCM functions. Replace with new ones
that work with the new cfg datastructures and work with edges
instead of blocks.
From-SVN: r30055
* reload.h (struct reload): Add new fields "mode" and "nregs".
* reload1.c: Change all occurrences of reload_mode and reload_nregs
to reference the "mode" and "nregs" field within struct reload.
From-SVN: r30051
* haifa-sched.c (true_dependency_cache): New.
(add_dependence): Use the true dependency cache to avoid expensive
walks down the LOG_LINKS dependency list. Add entries to the
cache as necessary.
(remove_dependence): Remove entries from the true dependency cache
as needed.
(schedule_insns): Allocate and initialize and free the true
dependency cache.
From-SVN: r30050
* java/lang/ClassLoader.java (getSystemResource): Use
getSystemClassLoader instead of ClassLoader.system.
(getSystemResourceAsStream): Ditto.
* java/lang/natClassLoader.cc (redirect): Make static and
remove #ifdef INTERPRETER so it is always defined.
(getVMClassLoader0): Remove #ifdef INTERPRETER so it always
returns a VMClassLoader.
* java/util/ResourceBundle.java (trySomeGetBundle): Create a
PropertyResourceBundle if a properties file is found before a
ResourceBundle class.
From-SVN: r30048