summaryrefslogtreecommitdiff
path: root/deps/v8/tools/eval_gc_time.sh
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/tools/eval_gc_time.sh')
-rwxr-xr-xdeps/v8/tools/eval_gc_time.sh106
1 files changed, 106 insertions, 0 deletions
diff --git a/deps/v8/tools/eval_gc_time.sh b/deps/v8/tools/eval_gc_time.sh
new file mode 100755
index 0000000000..21cd93d0ac
--- /dev/null
+++ b/deps/v8/tools/eval_gc_time.sh
@@ -0,0 +1,106 @@
+#!/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 \
+ clear \
+ clear.code_flush \
+ clear.dependent_code \
+ clear.global_handles \
+ clear.maps \
+ clear.slots_buffer \
+ clear.store_buffer \
+ clear.string_table \
+ clear.weak_cells \
+ clear.weak_collections \
+ clear.weak_lists \
+ finish \
+ evacuate \
+ evacuate.candidates \
+ evacuate.clean_up \
+ evacuate.new_space \
+ evacuate.update_pointers \
+ evacuate.update_pointers.between_evacuated \
+ evacuate.update_pointers.to_evacuated \
+ evacuate.update_pointers.to_new \
+ evacuate.update_pointers.weak \
+ mark \
+ mark.finish_incremental \
+ mark.prepare_code_flush \
+ mark.roots \
+ mark.weak_closure \
+ sweep \
+ sweep.code \
+ sweep.map \
+ sweep.old \
+ incremental_finalize \
+"
+
+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