r124905 - in /branches/escape-analysis: gcc/com...
pbiggar@gcc.gnu.org
pbiggar@gcc.gnu.org
Mon May 21 16:34:00 GMT 2007
Author: pbiggar
Date: Mon May 21 16:34:55 2007
New Revision: 124905
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124905
Log:
It appears that we can now successfully all of spec and libgcj, flow-sensitively. It is horribly slow though.
Fixed a bug in tree-ssa-devirt
Added the tree-ssa-offline-devirt, which provides offline virtualisation analysis. The method calls are not actually devirtualized, but rather used when a the escape analysis pass sees a virtual functions, and needs to find its callees.
We now serialize all functions, as part of an iterative whole-program analysis.
The flag_ipa_stack_allocate flag has been split into many different flags, though not as many as intended.
ADDR_EXPRs and INDIRECT_REFs are now recognized as variables, since it was too complicated to use their inner nodes, which were frequently classes. get_var is used to extract the variable
Interprocedural is extended to virtual functions, using serialized results
Results are printed to the ./results file
In libjava, NOTE_MEMORY_USAGE can be turned on and off at compile time, with the PRINT_ALLOCATION_INFO define
Added:
branches/escape-analysis/gcc/java/ipa-stack-allocate.h
branches/escape-analysis/libjava/include/mem_usage.h
Modified:
branches/escape-analysis/gcc/common.opt
branches/escape-analysis/gcc/java/Make-lang.in
branches/escape-analysis/gcc/java/class.c
branches/escape-analysis/gcc/java/congraph.c
branches/escape-analysis/gcc/java/congraph.h
branches/escape-analysis/gcc/java/ipa-stack-allocate.c
branches/escape-analysis/gcc/java/lang.c
branches/escape-analysis/gcc/java/tree-ssa-devirt.c
branches/escape-analysis/libjava/boehm.cc
branches/escape-analysis/libjava/include/boehm-gc.h
branches/escape-analysis/libjava/prims.cc
More information about the Gcc-cvs
mailing list