[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