DescriptionAdd more safe points in compiler.
The Scavenge (young-gen) GCs on the main thread have to wait for other
threads to check in at a safe point. We were seeing big waits here, often
20ms, occasionally up to 180ms where the main thread is idling, waiting
for the optimizing compiler. By adding more safe points the wait is
reduced and is now rarely over 10ms, often under 1ms.
This also changes the --verbose-gc output to be better aligned with the
column headings, and to add the time needed to get to
the safe point to the output, eg:
[ GC(784211551): Scavenge(new space), 18, 2.209, 76.009, 32768, 0, 32768, 32768, 0, 0, 144912, 154425, 152064, 154880, 0, 0, 46.984, 2.752, 7.407, 18.657, 0.033, 5421, 0, 0, 0, ]
^^^^^^ Scavenge time ^^^^^^ safe point time.
R=vegorov@google.com
BUG=
Committed: https://github.com/dart-lang/sdk/commit/fc2fcf9bc8adeb051cecac1d349c9209594de3dd
Patch Set 1 #
Total comments: 2
Patch Set 2 : Use correct call to check for safe point #Patch Set 3 : Add a safe point in the zone allocator #
Total comments: 4
Patch Set 4 : Fix logic error in compiler code installation, more safe points, remove safe point in zone code, ni… #
Total comments: 4
Patch Set 5 : Fix test that 'parses' verbose GC output #
Messages
Total messages: 11 (3 generated)
|