[Patch] Java: Add heap dump and analyze support.
David Daney
ddaney@avtrex.com
Wed Feb 14 23:22:00 GMT 2007
New version of the patch.
Tom Tromey wrote:
>>>>>> "David" == David Daney <ddaney@avtrex.com> writes:
>>>>>>
>
>
>>> I wonder if we could fix this by putting the new tool code into
>>> standard.omit, and then compile it separately using a special rule of
>>> some kind, with a classpath pointing to the tools zip.
>>>
>
> David> Ok, I added some rules to classpath/lib/Makefile.am, that parallel the
> David> special libgcj rules, to build gcj tools with a different classpath.
> David> To build more packages this way (i.e. gcj_dbtool), it should be as
> David> simple as adding the package name to the list in libjava's
> David> configure.ac. There will no longer be any excuses to prevent us from
> David> converting gcj_dbtool to use the getopt things.
>
> David> OK to commit if no regressions?
>
> I was hoping for 2 things, which I didn't communicate well.
>
> One is, no changes to libjava/classpath/. But I realize now that this
> is too hard.
>
> The other is, not adding the tools classes to AM_GCJFLAGS.
>
> Instead of adding a new script in classpath/lib, would it be posssible
> to build the new tool code in classpath/tools/Makefile? Then the new
> tool could be built in libjava/Makefile.am following the recipe for
> all the other classpath tools.
>
Done (I hope!).
That should be the last problem with the patch.
Initial build looks good. I will finish testing tonight.
OK to commit if no regressions?
gcc/java:
2007-02-14 David Daney <ddaney@avtrex.com>
* Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
(java.maintainer-clean):Add gc-analyze.1.
(.INTERMEDIATE): Add gc-analyze.pod.
(gc-analyze.pod): New rule.
(java.install-man): Install gc-analyze.1
* gcj.texi: Add new section for the gc-analyze program.
libjava:
2007-02-14 Johannes Schmidt <jschmidt@avtrex.com>
David Daney <ddaney@avtrex.com>
* configure.ac: Create vm-tools-packages file. Add
gnu/gcj/tools/gc_analyze to standard.omit and vm-tools-packages.
Check for /proc/self/maps.
* Makefile.am (bin_PROGRAMS): Added gc-analyze.
(gc_analyze_SOURCES): New.
(gc_analyze_LDFLAGS): New.
(gc_analyze_LINK): New.
(gc_analyze_LDADD): New.
(gc_analyze_DEPENDENCIES): New.
(nat_source_files): Add gnu/gcj/util/natGCInfo.cc.
* Makefile.in: Regenerated.
* configure: Regenerated.
* include/config.h.in: Regenerated.
* sources.am: Regenerated.
* scripts/makemake.tcl: Don't include gc-analyze classes in libgcj.
* gnu/gcj/tools/gc_analyze/SymbolLookup.java: New.
* gnu/gcj/tools/gc_analyze/ObjectMap.java: New.
* gnu/gcj/tools/gc_analyze/MemoryMap.java: New.
* gnu/gcj/tools/gc_analyze/SymbolTable.java: New.
* gnu/gcj/tools/gc_analyze/BlockMap.java: New.
* gnu/gcj/tools/gc_analyze/BytePtr.java: New.
* gnu/gcj/tools/gc_analyze/ItemList.java: New.
* gnu/gcj/tools/gc_analyze/ToolPrefix.java: New.
* gnu/gcj/tools/gc_analyze/MemoryAnalyze.java: New.
* gnu/gcj/util/GCInfo.java: New.
* gnu/gcj/util/GCInfo.h: New.
* gnu/gcj/util/natGCInfo.cc: New.
* gnu/gcj/util/UtilPermission.java: New.
* gnu/gcj/util/UtilPermission.h: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/SymbolTable.class: New.
*
classpath/tools/gnu/gcj/tools/gc_analyze/ObjectMap$ObjectItem.class: New.
*
classpath/tools/gnu/gcj/tools/gc_analyze/MemoryMap$RangeComparator.class:
New.
* classpath/tools/gnu/gcj/tools/gc_analyze/BlockMap$PtrMarks.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryMap$Range.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/BlockMap.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/BytePtr.class: New.
*
classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$SubstringComparator.class:
New.
* classpath/tools/gnu/gcj/tools/gc_analyze/ItemList.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/ToolPrefix.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze.class: New.
*
classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1$Info.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$2.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$3.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$4.class: New.
*
classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$OptionParser.class:
New.
* classpath/tools/gnu/gcj/tools/gc_analyze/BlockMap$SizeKind.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/SymbolLookup.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/ObjectMap.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryMap.class: New.
* classpath/lib/gnu/gcj/util/GCInfo.class: New.
* classpath/lib/gnu/gcj/util/UtilPermission.class: New.
libjava/classpath:
2007-02-14 David Daney <ddaney@avtrex.com>
* tools/Makefile.am (TOOLS_ZIP): Add classes from vm-tools-packages.
* tools/Makefile.in: Regenerated.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gc-analyze.diff.txt
URL: <http://gcc.gnu.org/pipermail/java-patches/attachments/20070214/c7b7407b/attachment.txt>
More information about the Java-patches
mailing list