Skip to content

Instantly share code, notes, and snippets.

@azolotko
Created November 23, 2016 11:45
Show Gist options
  • Save azolotko/06dd45de1866a987d65edd6da05143a0 to your computer and use it in GitHub Desktop.
Save azolotko/06dd45de1866a987d65edd6da05143a0 to your computer and use it in GitHub Desktop.
➜ jol hg summary
parent: 91:b5653b56d154 tip
7901803: JOL should try instantiating the sample instances with non-default constructors
branch: default
commit: (clean)
update: (current)
➜ jol java -jar /Users/azolotko/.m2/repository/org/openjdk/jol/jol-cli/0.7-SNAPSHOT/jol-cli-0.7-SNAPSHOT-full.jar estimates java.util.concurrent.ForkJoinPool
# WARNING: Unable to attach Serviceability Agent. You can try again with escalated privileges. Two options: a) use -Djol.tryWithSudo=true to try with sudo; b) echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
# Running 64-bit HotSpot VM.
# Using compressed oop with 3-bit shift.
# Using compressed klass with 3-bit shift.
# WARNING | Compressed references base/shifts are guessed by the experiment!
# WARNING | Therefore, computed addresses are just guesses, and ARE NOT RELIABLE.
# WARNING | Make sure to attach Serviceability Agent to get the reliable addresses.
# Objects are 8 bytes aligned.
# Field sizes by type: 4, 1, 1, 2, 2, 4, 4, 8, 8 [bytes]
# Array element sizes: 4, 1, 1, 2, 2, 4, 4, 8, 8 [bytes]
***** 32-bit VM: **********************************************************
Error while accessing @Contended value: class org.openjdk.jol.vm.ContendedSupport cannot access interface jdk.internal.vm.annotation.Contended (in module java.base) because module java.base does not export jdk.internal.vm.annotation to unnamed module @128d2484
java.util.concurrent.ForkJoinPool object internals:
OFFSET SIZE TYPE DESCRIPTION VALUE
0 8 (object header) N/A
8 8 long ForkJoinPool.stealCount N/A
16 8 long ForkJoinPool.keepAlive N/A
24 4 int ForkJoinPool.indexSeed N/A
28 4 int ForkJoinPool.bounds N/A
32 4 int ForkJoinPool.mode N/A
36 4 WorkQueue[] ForkJoinPool.workQueues N/A
40 4 String ForkJoinPool.workerNamePrefix N/A
44 4 ForkJoinWorkerThreadFactory ForkJoinPool.factory N/A
48 4 UncaughtExceptionHandler ForkJoinPool.ueh N/A
52 4 Predicate ForkJoinPool.saturate N/A
56 128 (alignment/padding gap) N/A
184 8 long ForkJoinPool.ctl N/A
192 128 (loss due to the next object alignment)
Instance size: 320 bytes
Space losses: 128 bytes internal + 128 bytes external = 256 bytes total
***** 64-bit VM: **********************************************************
java.util.concurrent.ForkJoinPool object internals:
OFFSET SIZE TYPE DESCRIPTION VALUE
0 16 (object header) N/A
16 8 long ForkJoinPool.stealCount N/A
24 8 long ForkJoinPool.keepAlive N/A
32 4 int ForkJoinPool.indexSeed N/A
36 4 int ForkJoinPool.bounds N/A
40 4 int ForkJoinPool.mode N/A
44 4 (alignment/padding gap) N/A
48 8 WorkQueue[] ForkJoinPool.workQueues N/A
56 8 String ForkJoinPool.workerNamePrefix N/A
64 8 ForkJoinWorkerThreadFactory ForkJoinPool.factory N/A
72 8 UncaughtExceptionHandler ForkJoinPool.ueh N/A
80 8 Predicate ForkJoinPool.saturate N/A
88 128 (alignment/padding gap) N/A
216 8 long ForkJoinPool.ctl N/A
224 128 (loss due to the next object alignment)
Instance size: 352 bytes
Space losses: 132 bytes internal + 128 bytes external = 260 bytes total
***** 64-bit VM, compressed references enabled: ***************************
java.util.concurrent.ForkJoinPool object internals:
OFFSET SIZE TYPE DESCRIPTION VALUE
0 12 (object header) N/A
12 4 int ForkJoinPool.indexSeed N/A
16 8 long ForkJoinPool.stealCount N/A
24 8 long ForkJoinPool.keepAlive N/A
32 4 int ForkJoinPool.bounds N/A
36 4 int ForkJoinPool.mode N/A
40 4 WorkQueue[] ForkJoinPool.workQueues N/A
44 4 String ForkJoinPool.workerNamePrefix N/A
48 4 ForkJoinWorkerThreadFactory ForkJoinPool.factory N/A
52 4 UncaughtExceptionHandler ForkJoinPool.ueh N/A
56 4 Predicate ForkJoinPool.saturate N/A
60 132 (alignment/padding gap) N/A
192 8 long ForkJoinPool.ctl N/A
200 128 (loss due to the next object alignment)
Instance size: 328 bytes
Space losses: 132 bytes internal + 128 bytes external = 260 bytes total
***** 64-bit VM, compressed references enabled, 16-byte align: ************
java.util.concurrent.ForkJoinPool object internals:
OFFSET SIZE TYPE DESCRIPTION VALUE
0 12 (object header) N/A
12 4 int ForkJoinPool.indexSeed N/A
16 8 long ForkJoinPool.stealCount N/A
24 8 long ForkJoinPool.keepAlive N/A
32 4 int ForkJoinPool.bounds N/A
36 4 int ForkJoinPool.mode N/A
40 4 WorkQueue[] ForkJoinPool.workQueues N/A
44 4 String ForkJoinPool.workerNamePrefix N/A
48 4 ForkJoinWorkerThreadFactory ForkJoinPool.factory N/A
52 4 UncaughtExceptionHandler ForkJoinPool.ueh N/A
56 4 Predicate ForkJoinPool.saturate N/A
60 132 (alignment/padding gap) N/A
192 8 long ForkJoinPool.ctl N/A
200 136 (loss due to the next object alignment)
Instance size: 336 bytes
Space losses: 132 bytes internal + 136 bytes external = 268 bytes total
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment