This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: PATCH: java: suppress java.lang.Object constructor
- To: Tom Tromey <tromey at redhat dot com>
- Subject: Re: PATCH: java: suppress java.lang.Object constructor
- From: Jeff Sturm <jsturm at one-point dot com>
- Date: Wed, 18 Jul 2001 21:44:23 -0400 (EDT)
- cc: java-patches at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
On 18 Jul 2001, Tom Tromey wrote:
> Jeff> I see a disproportionate number of cache misses in
> Jeff> _Jv_AllocObject, ostensibly due to the finalizer check
> Jeff> (java.lang.Object's vtable is seldom used otherwise).
>
> That's interesting. How do you measure cache misses?
With hardware event counters on the Alpha CPU, and a user-mode tool
called iprobe. Below is a sample report for dcache accesses/misses on
GCBench.
Only the top 6 functions are reported. Note that _Jv_AllocObject
single-handedly generates more dcache traffic than the entire gcbench
image. The other results seem normal.
Jeff
+----------------------------------------+
| Profile Report | Event = Dcache Access |
+----------------------------------------+
* One sample = 65536 events *
Sample Image Total
Name Count Pct Pct
---- ----- --- ---
/home/jsturm/Boehm/gcbench 4385 19.2
_ZN7GCBench8PopulateEiP4Node 2224 50.7 9.7
_ZN7GCBench8MakeTreeEi 2133 48.6 9.3
/opt/gcc/lib/libgcjgc.so.1.0.1 11534 50.5
GC_allochblk_nth 1094 9.5 4.8
GC_gcj_malloc 6663 57.8 29.2
GC_mark_from 2403 20.8 10.5
/opt/gcc/lib/libgcj.so.2.0.0 4807 21.0
_Jv_AllocObject 4777 99.4 20.9
+--------------------------------------+
| Profile Report | Event = Dcache Miss |
+--------------------------------------+
* One sample = 16384 events *
Sample Image Total
Name Count Pct Pct
---- ----- --- ---
/home/jsturm/Boehm/gcbench 607 13.3
_ZN7GCBench8PopulateEiP4Node 376 61.9 8.2
_ZN7GCBench8MakeTreeEi 225 37.1 4.9
/opt/gcc/lib/libgcjgc.so.1.0.1 3336 73.1
GC_allochblk_nth 164 4.9 3.6
GC_gcj_malloc 1722 51.6 37.7
GC_mark_from 910 27.3 19.9
/opt/gcc/lib/libgcj.so.2.0.0 401 8.8
_Jv_AllocObject 398 99.3 8.7