aboutsummaryrefslogtreecommitdiff
path: root/gcc/ggc-page.c
AgeCommit message (Collapse)AuthorFilesLines
2000-04-28Makefile.in (OBJS): Add timevar.o.Alex Samuel1-9/+4
hangeLog: * Makefile.in (OBJS): Add timevar.o. (toplev.o): Depend on timevar.h. (ggc-simple.o): Likewise. (ggc-page.o): Likewise. (timevar.o): New rule. (timevar.h): New rule. * timevar.h: New file. * timevar.c: Likewise. * timevar.def: Likewise. * toplev.h (gc_time, parse_time, varconst_time): Remove. * toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR throughout. (TIMEVAR): Remove macro. (gc_time, parse_time, varconst_time, integration_time, jump_time, cse_time, gcse_time, loop_time, cse2_time, branch_prob_time, flow_time, combine_time, regmove_time, sched_time, local_alloc_time, global_alloc_time, flow2_time, peephole2_time, sched2_time, dbr_sched_time, reorder_blocks_time, rename_registers_time, shorten_branch_time, stack_reg_time, to_ssa_time, from_ssa_time, final_time, symout_time, dump_time, all_time): Remove. (compile_file): Don't initialize time variables. Call init_timevar and start TV_TOTAL timer. Call timevar_print instead of many calls to print_time. (rest_of_compilation): Add timing for reload_cse_regs. (get_run_time): Removed to timevar.c. (print_time): Likewise. (get_run_time): Implement using TV_TOTAL time variable. (print_time): Get total run time from get_run_time. * ggc-page.c (ggc_collect): Push and pop TV_GC instead of computing elapsed time explicitly. * ggc-simple.c (ggc_collect): Likewise. (gc_time): Remove declaration. cp/ChangeLog: * lex.c (my_get_run_time): Remove. (init_filename_times): Use get_run_time instead of my_get_run_time. (check_newline): Likewise. (dump_time_statistics): Likewise. * decl2.c (finish_file): Push and pop timevar TV_VARCONST instead of computing elapsed time explicitly. From-SVN: r33496
2000-04-15Makefile.in (ggc-page.o): Now includes toplev.h.Richard Kenner1-18/+16
* Makefile.in (ggc-page.o): Now includes toplev.h. * ggc-page.c (toplev.h): Now included. (gc_time): Remove declaration. (ggc_collect): TIME now long. * toplev.c (parse_time, varasm_time, gc_time): Still global; all others static. * toplev.h (gc_time, parse_time, gc_time): New declarations. * cp/decl2.c (parse_time, varconst_time): Delete declarations. (finish_file): Delete LINENO declaration. START_TIME and THIS_TIME now long. From-SVN: r33169
2000-03-07rtl.h (rtunion_def): Constify member `rtstr'.Kaveh R. Ghazi1-4/+4
* rtl.h (rtunion_def): Constify member `rtstr'. (emit_line_note_after, emit_line_note, emit_line_note_force, emit_note, decode_asm_operands): Constify. * cse.c (canon_hash): Likewise. * dbxout.c (dbxout_block): Likewise. * diagnostic.c (file_and_line_for_asm, v_error_for_asm, v_warning_for_asm): Likewise. * dwarfout.c (function_start_label): Likewise. * emit-rtl.c (emit_line_note_after, emit_line_note, emit_note, emit_line_note_force): Likewise. * final.c (last_filename, asm_insn_count, final_scan_insn, output_source_line): Likewise. * function.h (struct emit_status): Likewise. * gcse.c (hash_expr_1): Likewise. * genattr.c (gen_attr, main): Likewise. * genattrtab.c (struct function_unit, current_alternative_string, write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq, attr_numeral, check_attr_test, check_attr_value, convert_set_attr_alternative, convert_set_attr, compute_alternative_mask, simplify_by_exploding, gen_attr, gen_unit): Likewise. * genflags.c (gen_insn): Likewise. * gengenrtl.c (type_from_format): Likewise. * genopinit.c (gen_insn): Likewise. * genoutput.c (n_occurrences, process_template, process_template): Likewise. * ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size): Likewise. * ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size): Likewise. * ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable, ggc_set_mark, ggc_get_size): Likewise. * objc/objc-act.c (build_module_descriptor, finish_objc): Likewise. * optabs.c (init_one_libfunc): Likewise. * output.h (assemble_start_function): Likewise. * recog.c (decode_asm_operands): Likewise. * toplev.c (rest_of_compilation): Likewise. * tree.h (emit_line_note_after, emit_line_note, emit_line_note_force): Likewise. * varasm.c (asm_output_bss, asm_output_aligned_bss, asm_emit_uninitialised, assemble_start_function, assemble_variable, const_hash, compare_constant_1, find_pool_constant, mark_constant_pool, assemble_alias): Likewise. * xcoffout.h (DBX_FINISH_SYMBOL): Likewise. * alpha/alpha.md (call_vms, call_value_vms): Likewise. * arm/aof.h (ASM_OUTPUT_ASCII): Likewise. * arm/aout.h (ASM_OUTPUT_ASCII): Likewise. * arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p, arm_dllimport_name_p): Likewise. * arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op): Likewise. * arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise. * arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p, arm_mark_dllexport, arm_mark_dllimport, arm_pe_encode_section_info): Likewise. * arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS, ASM_FINISH_DECLARE_OBJECT): Likewise. * arm/thumb.c (thumb_function_prologue): Likewise. * arm/thumb.h (ASM_OUTPUT_ASCII): Likewise. * avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * clipper/clix.h (ASM_OUTPUT_ASCII): Likewise. * fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise. * i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise. * i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise. * i386/i386-protos.h (asm_output_function_prefix): Likewise. * i386/i386.c (asm_output_function_prefix): Likewise. * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise. * i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise. * i386/sco5.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise. * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise. * i860/paragon.h (ASM_OUTPUT_ASCII): Likewise. * i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise. * m32r/m32r.c (m32r_encode_section_info): Likewise. * mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * mcore/mcore.c (mcore_encode_section_info): Likewise. * mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * mips/mips.h (ASM_OUTPUT_IDENT): Likewise. * mips/mips.md (movdi, movsi): Likewise. * mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII): Likewise. * rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog, output_mi_thunk, output_toc): Likewise. * rs6000/rs6000.md (movsi): Likewise. * rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise. * tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise. * v850/v850.c (print_operand, print_operand_address, v850_encode_data_area): Likewise. ch: * grant.c (globalize_decl): Constify a char*. cp: * decl2.c (finish_objects): Constify a char*. * method.c (emit_thunk): Likewise. From-SVN: r32388
2000-02-10flow.c (mark_regs_live_at_end): Delete unused variables.Kaveh R. Ghazi1-1/+1
* flow.c (mark_regs_live_at_end): Delete unused variables. * ggc-page.c (ggc_page_print_statistics): bzero -> memset. * integrate.c (copy_rtx_and_substitute): Wrap variable `alignment' in macro FRAME_GROWS_DOWNWARD. * stmt.c (expand_end_bindings): Delete unused variable. * unroll.c (iteration_info): Mark parameter `loop' with ATTRIBUTE_UNUSED. From-SVN: r31895
2000-01-23(struct globals): Likewise.Mark Mitchell1-1/+1
From-SVN: r31574
2000-01-23ggc-page.c (struct page_entry): Make `context_depth' an `unsigned short'.Mark Mitchell1-4/+4
* ggc-page.c (struct page_entry): Make `context_depth' an `unsigned short'. From-SVN: r31572
2000-01-17ggc-common.c: PROTO -> PARAMS.Kaveh R. Ghazi1-12/+12
* ggc-common.c: PROTO -> PARAMS. * ggc-page.c: Likewise. * ggc-simple.c: Likewise. * ggc.h: Likewise. * global.c: Likewise. * graph.c: Likewise. * gthr-win32.h: Likewise. * haifa-sched.c: Likewise. * halfpic.h: Likewise. * integrate.c: Likewise. * integrate.h: Likewise. * jump.c: Likewise. * lcm.c: Likewise. * local-alloc.c: Likewise. * loop.c: Likewise. * loop.h: Likewise. From-SVN: r31458
2000-01-16aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro.Alexandre Oliva1-9/+9
* aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro. * configure.in (AC_FUNC_MMAP_ZERO): Use instead of AC_FUNC_MMAP. * ggc-page.c: Replace HAVE_MMAP with HAVE_MMAP_ZERO. * configure, config.in: Rebuilt. From-SVN: r31444
1999-12-26acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING, GC_CHECKING, ↵Zack Weinberg1-3/+3
GC_ALWAYS_COLLECT. 1999-12-26 Zack Weinberg <zack@wolery.cumb.org> * acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING, GC_CHECKING, GC_ALWAYS_COLLECT. * configure.in: Allow --enable-checking with an argument listing check modes to enable. * config.in, configure: Rebuilt. * ggc-page.c, ggc-simple.c: Define GGC_POISON (and GGC_ALWAYS_VERIFY for ggc-simple.c) only if ENABLE_GC_CHECKING. Define GGC_ALWAYS_COLLECT only if ENABLE_GC_ALWAYS_COLLECT. * rtl.h, rtl.c: Change ENABLE_CHECKING to ENABLE_RTL_CHECKING throughout. * tree.h, tree.c: Change ENABLE_CHECKING to ENABLE_TREE_CHECKING throughout. * cp-tree.h: Replace ENABLE_CHECKING with ENABLE_TREE_CHECKING throughout. From-SVN: r31093
1999-11-30lcm.c (compute_laterin): Cast bb->aux to size_t not int.Richard Henderson1-2/+2
* lcm.c (compute_laterin): Cast bb->aux to size_t not int. (compute_nearerout): Likewise. * ggc-page.c (ggc_page_print_statistics): Explicitly cast size_t to unsigned long for formatting. From-SVN: r30728
1999-11-01ggc-page.c (struct page_entry): Remove save_num_free_objects.Mark Mitchell1-23/+59
* ggc-page.c (struct page_entry): Remove save_num_free_objects. (DIV_ROUND_UP): Robustify. (ggc_recalculate_in_use_p): New function. (release_pages): Don't inline it. (ggc_alloc_obj): Don't refuse to allocate objects on pages for outer contexts. (ggc_pop_context): Use ggc_recalculate_in_use_p. (clear_marks): Always save in_use_p. (sweep_pages): Use ggc_recalculate_in_use_p. (ggc_page_print_statistics): Avoid signed/unsigned comparisons. Release pages before counting statistics. From-SVN: r30314
1999-10-30ggc-common.c: Update pre-function commentary.Richard Henderson1-24/+34
* ggc-common.c: Update pre-function commentary. * ggc-page.c: Likewise. (poison): Remove. (poison_pages): Use memset directly. (ggc_alloc_obj): Likewise. Use a different pattern than poison_pages. (ggc_collect): Poison before sweeping. * ggc-simple.c: Update pre-function commentary. (ggc_alloc_obj): Poison non-zeroed memory. From-SVN: r30275
1999-10-30ggc-common.c (ggc_print_statistics): Make arguments to fprintf match format ↵Mark Mitchell1-3/+6
string, even on 64-bit hosts. * ggc-common.c (ggc_print_statistics): Make arguments to fprintf match format string, even on 64-bit hosts. * gcc-page.c (ggc_page_print_statistics): Likewise. From-SVN: r30274
1999-10-29ggc.h (struct ggc_statistics): New type.Mark Mitchell1-0/+65
* ggc.h (struct ggc_statistics): New type. (ggc_get_size): New function. (ggc_print_statistics): Likewise. * ggc-common.c (ggc_stats): New variable. (ggc_mark_rtx_children): Keep statistics. (ggc_mark_tree_children): Likewise. (ggc_print_statistics): New function. * ggc-page.c (struct globals): Add bytes_mapped field. (alloc_anon): Update it. (release_pages): Likewise. (ggc_get_size): New function. (ggc_page_print_statistics): New function. * ggc-simple.c (ggc_get_size): New function. From-SVN: r30251
1999-10-27* ggc-page.c (poison_pages): Don't be overzealous.Mark Mitchell1-0/+8
From-SVN: r30209
1999-10-20* gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.Richard Earnshaw1-0/+3
From-SVN: r30102
1999-10-18* ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.Richard Henderson1-0/+20
From-SVN: r30070
1999-10-13* ggc-page.c (MAP_FAILED): Provide default.Richard Henderson1-0/+4
From-SVN: r29961
1999-10-13Simplified GC interface and other goodies.Richard Henderson1-145/+75
From-SVN: r29946
1999-10-11ggc.h (ggc_push_context): Fix comment.Mark Mitchell1-7/+47
* ggc.h (ggc_push_context): Fix comment. (ggc_pop_context): Likewise. (mark_string_if_gcable): Likewise. * ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_string_if_gcable. * ggc-page.c (ggc_lookup_page_table): New function. (ggc_allocated_p): Likewise. (mark_obj): Fix formatting. (ggc_mark_string_if_gcable): New function. * ggc-simple.c (ggc_allocated_strings): New variable. (ggc_strings_used): Likewise. (ggc_compare_addresses): New function. (ggc_pop_context): Pop the `any' memory too. (ggc_mark_string_if_gcable): New function. (ggc_collect): Initialize and tear down ggc_allocated_strings. From-SVN: r29897
1999-10-05* ggc-page.c (GGC_ALWAYS_COLLECT): Fix typo when undef'ing.Paul Burchard1-1/+1
From-SVN: r29833
1999-10-05Include tm_p.h in ggc filesMichael Meissner1-0/+1
From-SVN: r29825
1999-10-04ggc-none.c (ggc_alloc_rtvec): An rtvec is an array of rtx, not an array of ↵Jeffrey A Law1-1/+1
rtunion. * ggc-none.c (ggc_alloc_rtvec): An rtvec is an array of rtx, not an array of rtunion. * gcc-page.c (ggc_alloc_rtvec): Similarly. * gcc-simple (ggc_free_rtvec): Similarly. From-SVN: r29793
1999-09-29ggc-page.c: Don't include <unistd.h> etc taken care of by "system.h".Richard Henderson1-7/+4
* ggc-page.c: Don't include <unistd.h> etc taken care of by "system.h". Include <sys/mman.h> afterward. From-SVN: r29713
1999-09-27ggc-page.c (GGC_MIN_LAST_ALLOCATED): New.Richard Henderson1-3/+7
* ggc-page.c (GGC_MIN_LAST_ALLOCATED): New. (init_ggc): Use it instead of a constant. (ggc_collect): Bound allocated_last_gc by it. From-SVN: r29685
1999-09-23ggc-page.c: New file.Alex Samuel1-0/+1083
* ggc-page.c: New file. * Makefile.in (ggc-page.o): New. Co-Authored-By: Richard Henderson <rth@cygnus.com> From-SVN: r29632