[squeak-dev] The Trunk: SystemReporter-dtl.23.mcz
Eliot Miranda
eliot.miranda at gmail.com
Fri Jun 27 00:29:02 UTC 2014
Thanks David!
does the report look OK on the Interpreter VMs?
On Thu, Jun 26, 2014 at 4:07 PM, <commits at source.squeak.org> wrote:
> David T. Lewis uploaded a new version of SystemReporter to project The
> Trunk:
> http://source.squeak.org/trunk/SystemReporter-dtl.23.mcz
>
> ==================== Summary ====================
>
> Name: SystemReporter-dtl.23
> Author: dtl
> Time: 26 June 2014, 7:07:41.163 pm
> UUID: 1becec2c-9df2-43f8-b6f3-374d5d490000
> Ancestors: SystemReporter-eem.22
>
> Fix missing ifFalse: for isCog in VM parameters
>
> =============== Diff against SystemReporter-eem.22 ===============
>
> Item was changed:
> ----- Method: SystemReporter>>reportVMParameters: (in category
> 'reporting') -----
> reportVMParameters: aStream
> | vmParameters isCog isSpur |
> self header: 'Virtual Machine Parameters' on: aStream.
> vmParameters := Smalltalk vm getVMParameters.
> isCog := (vmParameters at: 41 ifAbsent: [0]) anyMask: 1.
> "determine Cog/Stack via bit 0, requires native float order."
> isSpur := isCog and: [(vmParameters at: 41 ifAbsent: [0]) anyMask:
> 2r10000]. "bit 16 is the Spur bit"
> (isSpur
> ifFalse:
> [#( 1 'size of old space'
> 2 'size of young+old space'
> 3 'size of memory')]
> ifTrue:
> [#( 1 'size of old space'
> 2 'size of new space'
> 3 'size of heap')]),
> (isSpur
> ifFalse:
> [#( 4 'allocationCount'
> 5 'allocations between GCs'
> 6 'survivor count tenuring
> threshold')]
> ifTrue: [#()]),
> #( 7 'full GCs since startup'
> 8 'total milliseconds in full GCs since startup'),
> (isSpur
> ifFalse: [#( 9 'incremental GCs since startup'
> 10 'total milliseconds in
> incremental GCs since startup')]
> ifTrue: [#( 9 'scavenging GCs since startup'
> 10 'total milliseconds in
> scavenging GCs since startup')]),
> #( 11 'tenures of surving objects since startup'),
> (isCog
> ifFalse:
> [#( 12 'specific to the translating VM'
> 13 'specific to the translating VM'
> 14 'specific to the translating VM'
> 15 'specific to the translating VM'
> 16 'specific to the translating VM'
> 17 'specific to the translating VM'
> 18 'specific to the translating VM'
> 19 'specific to the translating VM'
> 20 'specific to the translating VM')]
> ifTrue:
> [{12 to: 20. 'specific to the translating VM'}]),
> #( 21 'root table size'
> 22 'root table overflows since startup'
> 23 'bytes of extra memory to reserve for VM buffers,
> plugins, etc.'
> 24 'memory threshold above which shrinking object
> memory'
> 25 'memory headroom when growing object memory'),
> (isCog
> ifFalse:
> [#( 26 'interruptChecksEveryNms - force an
> ioProcessEvents every N milliseconds, in case the image is not calling
> getNextEvent often')]
> ifTrue:
> [#( 26 'heartbeat period (ms)')]),
> (isSpur
> ifFalse:
> [#( 27 'number of times mark loop
> iterated for current IGC/FGC includes ALL marking'
> 28 'number of times sweep loop
> iterated for current IGC/FGC'
> 29 'number of times make forward loop
> iterated for current IGC/FGC'
> 30 'number of times compact move loop
> iterated for current IGC/FGC')]
> ifTrue: [#()]),
> #( 31 'number of grow memory requests'
> 32 'number of shrink memory requests'),
> (isSpur
> ifFalse:
> [#( 33 'number of root table entries used
> for current IGC/FGC'
> 34 'number of allocations done before
> current IGC/FGC'
> 35 'number of survivor objects after
> current IGC/FGC'
> 36 'millisecond clock when current
> IGC/FGC completed'
> 37 'number of marked objects for Roots of
> the world, not including Root Table entries for current IGC/FGC'
> 38 'milliseconds taken by current IGC '
> 39 'Number of finalization signals for
> Weak Objects pending when current IGC/FGC completed')]
> ifTrue:
> [#( 36 'millisecond clock when current
> SGC/FGC completed'
> 38 'milliseconds taken by current SGC '
> 39 'Number of finalization signals for
> Weak Objects pending when current SGC/FGC completed')]),
> #( 40 'VM word size - 4 or 8'),
> + (isCog
> + ifTrue:
> + [#(
> + 41 'imageFormatVersion for the VM'
> + 42 'number of stack pages in use'
> + 43 'desired number of stack pages
> (stored in image file header, max 65535)'
> + 44 'size of eden, in bytes'
> + 45 'desired size of eden, in bytes
> (stored in image file header)'
> + 46 'machine code zone size, in bytes'
> + 47 'desired machine code zone size (0
> => default 1Mb)'
> + 48 'various header flags. See
> getCogVMFlags.'
> + 49 'max size the image promises to
> grow the external semaphore table to'),
> + (isSpur
> + ifFalse:
> + [{ 50 to: 54. 'reserved
> for VM parameters that persist in the image (such as size of eden above)'.
> + 55 to: 56. 'specific
> to Spur' }]
> + ifTrue:
> + [{ 50 to: 53. 'reserved
> for VM parameters that persist in the image (such as size of eden above)' },
> + #( 54
> 'total free old space'
> + 55
> 'ratio of growth and image size at or above which a GC will be performed
> post scavenge')]),
> + #( 56 'number of process switches since
> startup'
> + 57 'number of ioProcessEvents calls
> since startup'
> + 58 'number of forceInterruptCheck
> calls since startup'
> + 59 'number of check event calls since
> startup'
> + 60 'number of stack page overflows
> since startup'
> + 61 'number of stack page divorces
> since startup'
> + 62 'compiled code compactions since
> startup'
> + 63 'total milliseconds in compiled
> code compactions since startup'
> + 64 'the number of methods that
> currently have jitted machine-code'
> + 65 'whether the VM supports
> MULTIPLE_BYTECODE_SETS or not.'
> + 66 'the byte size of a stack page'),
> + { 67 to: 69. 'reserved for more
> Cog-related info' },
> + #( 70 'the vmProxyMajorVersion (the
> interpreterProxy VM_MAJOR_VERSION)'
> + 71 'the vmProxyMinorVersion (the
> interpreterProxy VM_MINOR_VERSION)')]
> + ifFalse:
> + [#()])
> - (isCog ifTrue:
> - [#(
> - 41 'imageFormatVersion for the VM'
> - 42 'number of stack pages in use'
> - 43 'desired number of stack pages (stored in
> image file header, max 65535)'
> - 44 'size of eden, in bytes'
> - 45 'desired size of eden, in bytes (stored in
> image file header)'
> - 46 'machine code zone size, in bytes'
> - 47 'desired machine code zone size (0 =>
> default 1Mb)'
> - 48 'various header flags. See getCogVMFlags.'
> - 49 'max size the image promises to grow the
> external semaphore table to'),
> - (isSpur
> - ifFalse:
> - [{ 50 to: 54. 'reserved for VM
> parameters that persist in the image (such as size of eden above)'.
> - 55 to: 56. 'specific to Spur'
> }]
> - ifTrue:
> - [{ 50 to: 53. 'reserved for VM
> parameters that persist in the image (such as size of eden above)' },
> - #( 54 'total
> free old space'
> - 55 'ratio of
> growth and image size at or above which a GC will be performed post
> scavenge')]),
> - #( 56 'number of process switches since startup'
> - 57 'number of ioProcessEvents calls since
> startup'
> - 58 'number of forceInterruptCheck calls since
> startup'
> - 59 'number of check event calls since startup'
> - 60 'number of stack page overflows since
> startup'
> - 61 'number of stack page divorces since
> startup'
> - 62 'compiled code compactions since startup'
> - 63 'total milliseconds in compiled code
> compactions since startup'
> - 64 'the number of methods that currently have
> jitted machine-code'
> - 65 'whether the VM supports
> MULTIPLE_BYTECODE_SETS or not.'
> - 66 'the byte size of a stack page'),
> - { 67 to: 69. 'reserved for more Cog-related
> info' },
> - #( 70 'the vmProxyMajorVersion (the
> interpreterProxy VM_MAJOR_VERSION)'
> - 71 'the vmProxyMinorVersion (the
> interpreterProxy VM_MINOR_VERSION)')])
> pairsDo: [:idx :desc | | value values |
> aStream nextPut: $#.
> idx isInteger
> ifTrue:
> [value := vmParameters at: idx.
> aStream print: idx; tab; nextPutAll:
> ((value isInteger and: [idx ~= 41]) ifTrue: [value asStringWithCommas]
> ifFalse: [value printString])]
> ifFalse:
> [value := vmParameters at: idx first.
> aStream print: idx first; next: 2 put:
> $.; print: idx last; tab.
> values := idx collect: [:i| vmParameters
> at: i].
> values asSet size = 1
> ifTrue: [aStream print: value]
> ifFalse: [values do: [:v| aStream
> print: v] separatedBy: [aStream nextPutAll: ', ']]].
> aStream tab; nextPutAll: desc; cr]!
>
>
>
--
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140626/b237613c/attachment.htm
More information about the Squeak-dev
mailing list
|