diff options
Diffstat (limited to 'deps/v8/tools/eval_gc_time.sh')
-rwxr-xr-x | deps/v8/tools/eval_gc_time.sh | 106 |
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 |