111 lines
1.8 KiB
Bash
111 lines
1.8 KiB
Bash
|
#!/bin/bash
|
||
|
#
|
||
|
# Copyright 2015 the V8 project authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
# Convenience Script used to rank GC NVP output.
|
||
|
|
||
|
print_usage_and_die() {
|
||
|
echo "Usage: $0 new-gen-rank|old-gen-rank max|avg logfile"
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
if [ $# -ne 3 ]; then
|
||
|
print_usage_and_die
|
||
|
fi
|
||
|
|
||
|
case $1 in
|
||
|
new-gen-rank|old-gen-rank)
|
||
|
OP=$1
|
||
|
;;
|
||
|
*)
|
||
|
print_usage_and_die
|
||
|
esac
|
||
|
|
||
|
case $2 in
|
||
|
max|avg)
|
||
|
RANK_MODE=$2
|
||
|
;;
|
||
|
*)
|
||
|
print_usage_and_die
|
||
|
esac
|
||
|
|
||
|
LOGFILE=$3
|
||
|
|
||
|
GENERAL_INTERESTING_KEYS="\
|
||
|
pause \
|
||
|
"
|
||
|
|
||
|
INTERESTING_NEW_GEN_KEYS="\
|
||
|
${GENERAL_INTERESTING_KEYS} \
|
||
|
scavenge \
|
||
|
weak \
|
||
|
roots \
|
||
|
old_new \
|
||
|
code \
|
||
|
semispace \
|
||
|
object_groups \
|
||
|
"
|
||
|
|
||
|
INTERESTING_OLD_GEN_KEYS="\
|
||
|
${GENERAL_INTERESTING_KEYS} \
|
||
|
external \
|
||
|
mark \
|
||
|
mark_inc \
|
||
|
mark_prepcodeflush \
|
||
|
mark_root \
|
||
|
mark_topopt \
|
||
|
mark_retainmaps \
|
||
|
mark_weakclosure \
|
||
|
mark_stringtable \
|
||
|
mark_weakrefs \
|
||
|
mark_globalhandles \
|
||
|
mark_codeflush \
|
||
|
mark_optimizedcodemaps \
|
||
|
store_buffer_clear \
|
||
|
slots_buffer_clear \
|
||
|
sweep \
|
||
|
sweepns \
|
||
|
sweepos \
|
||
|
sweepcode \
|
||
|
sweepcell \
|
||
|
sweepmap \
|
||
|
sweepaborted \
|
||
|
evacuate \
|
||
|
new_new \
|
||
|
old_new \
|
||
|
root_new \
|
||
|
compaction_ptrs \
|
||
|
intracompaction_ptrs \
|
||
|
misc_compaction \
|
||
|
inc_weak_closure \
|
||
|
weakcollection_process \
|
||
|
weakcollection_clear \
|
||
|
weakcollection_abort \
|
||
|
weakcells \
|
||
|
nonlive_refs \
|
||
|
"
|
||
|
|
||
|
BASE_DIR=$(dirname $0)
|
||
|
|
||
|
case $OP in
|
||
|
new-gen-rank)
|
||
|
cat $LOGFILE | grep "gc=s" \
|
||
|
| $BASE_DIR/eval_gc_nvp.py \
|
||
|
--no-histogram \
|
||
|
--rank $RANK_MODE \
|
||
|
${INTERESTING_NEW_GEN_KEYS}
|
||
|
;;
|
||
|
old-gen-rank)
|
||
|
cat $LOGFILE | grep "gc=ms" | grep "reduce_memory=0" | grep -v "steps=0" \
|
||
|
| $BASE_DIR/eval_gc_nvp.py \
|
||
|
--no-histogram \
|
||
|
--rank $RANK_MODE \
|
||
|
${INTERESTING_OLD_GEN_KEYS}
|
||
|
;;
|
||
|
*)
|
||
|
;;
|
||
|
esac
|
||
|
|