This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Virtual memory exhausted
Hello.
> > Compiling stage1/objc-act.c with CVS as of 30 mins ago.
> >
> > It had consumed well over 600MB when it died.
>
> A backtrace at 200MB gives:
>
> #0 0x083501d5 in bitmap_element_zerop (element=0x88d699c)
> at ../../gcc/bitmap.c:155
> #1 0x0834faa4 in bitmap_operation (to=0xbfffe980, from1=0xbfffe980,
> from2=0x88d128c, operation=BITMAP_IOR) at ../../gcc/bitmap.c:633
> #2 0x08160109 in calculate_global_regs_live (blocks_in=0x88b4010,
> blocks_out=0x88b4010, flags=16) at ../../gcc/flow.c:1192
> #3 0x0815ef3b in update_life_info (blocks=0x88b4010,
> extent=UPDATE_LIFE_GLOBAL_RM_NOTES, prop_flags=27) at
> ../../gcc/flow.c:661
> #4 0x0815f631 in update_life_info_in_dirty_blocks (
> extent=UPDATE_LIFE_GLOBAL_RM_NOTES, prop_flags=27) at
> ../../gcc/flow.c:792
> #5 0x083595dc in cleanup_cfg (mode=35) at ../../gcc/cfgcleanup.c:1802
> #6 0x082fdd8f in rest_of_compilation (decl=0x406cc700)
> at ../../gcc/toplev.c:3242
> #7 0x0807315d in c_expand_body (fndecl=0x406cc700, nested_p=0,
> can_defer_p=1)
> at ../../gcc/c-decl.c:6840
> #8 0x08072c92 in finish_function (nested=0, can_defer_p=1)
> at ../../gcc/c-decl.c:6707
> #9 0x0804a758 in yyparse () at c-parse.y:400
> #10 0x08056604 in c_common_parse_file (set_yydebug=0) at
> ../../gcc/c-lex.c:161
> #11 0x082fb495 in compile_file () at ../../gcc/toplev.c:2063
> #12 0x08301281 in do_compile () at ../../gcc/toplev.c:5151
> #13 0x083012da in toplev_main (argc=58, argv=0xbffff764)
> at ../../gcc/toplev.c:5183
> #14 0x080c13ca in main (argc=58, argv=0xbffff764) at ../../gcc/main.c:35
> #15 0x400376cf in __libc_start_main () from /lib/libc.so.6
>
> so I suspect this patch:
>
> 2002-05-16 Zdenek Dvorak
>
> Basic block renumbering removal:
> * basic_block.h (struct basic_block_def): Renamed index to
> * sindex,
> added prev_bb and next_bb fields.
> (n_basic_blocks): Renamed to num_basic_blocks.
> (last_basic_block): New, index of last basic block.
> (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
> traversing basic block chain.
> (BLOCK_NUM): index -> sindex.
> (create_basic_block_structure, create_basic_block): Declaration
> changed.
> (debug_num2bb): Declare.
> (expunge_block_nocompact): Declaration removed.
> (link_block, unlink_block, compact_blocks): Declare.
> * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
> [SNIP]
Yes, you're right.
Zdenek