RFR: 8185925 & 8153682 (footprint reduction of java.lang.StackFrameInfo) (original) (raw)

Brent Christian brent.christian at oracle.com
Tue Nov 7 00:23:16 UTC 2017


Hi,

There are a couple opportunities to reduce the memory footprint of java.lang.StackFrameInfo (the internal implementation of java.lang.StackWalker.StackFrame):

8153682[1] : StackFrameInfo.declaringClass could be removed 8185925[2] : StackFrameInfo::walker field can be replaced with bitmap to save footprint

I had a look using jol[3]. Removing only 'walker' helps only under 32- and 64-bit, but not with compressed oops. Removing both 'walker' and 'declaringClass' brings a benefit to compressed oops as well (though not for 16-byte aligned).

The size change, in bytes, for each execution mode is as follows:

                          32-bit: 32->24
                          64-bit: 56->40
              64/compressed oops: 32->24

64/compressed oops, 16-byte aligned: 32->32

(For reference, the jol reports for the baseline and specimen are at [4] and [5], respectively.)

Please review my code change for this. The webrev is here: http://cr.openjdk.java.net/~bchristi/8185925/webrev.03/

An automated test run is in progress.

Thanks! -Brent

--

  1. https://bugs.openjdk.java.net/browse/JDK-8153682
  2. https://bugs.openjdk.java.net/browse/JDK-8185925
  3. http://openjdk.java.net/projects/code-tools/jol/
  4. http://cr.openjdk.java.net/~bchristi/8185925/StackFrameInfo.jol.baseline.txt
  5. http://cr.openjdk.java.net/~bchristi/8185925/StackFrameInfo.jol.rmDeclClass.txt


More information about the hotspot-dev mailing list