This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]