f5d0df35d7
Only FullCodegen code ever gets flushed by code flushing. Since we are deprecating the old pipeline, the added complexity introduced by code flushing is no longer worth it. This CL removes it (but keeps code aging, which is used to unlink SFIs from the compilation cache). BUG=v8:6389,v8:6379,v8:6409 Change-Id: I90de113a101f86dbeaaf0511c61a090ef12aa365 Reviewed-on: https://chromium-review.googlesource.com/507388 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45446}
164 lines
3.3 KiB
Bash
Executable File
164 lines
3.3 KiB
Bash
Executable File
#!/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 [OPTIONS]"
|
|
echo ""
|
|
echo "OPTIONS"
|
|
echo " -r|--rank new-gen-rank|old-gen-rank GC mode to profile"
|
|
echo " (default: old-gen-rank)"
|
|
echo " -s|--sort avg|max sorting mode (default: max)"
|
|
echo " -t|--top-level include top-level categories"
|
|
echo " -c|--csv provide csv output"
|
|
echo " -f|--file FILE profile input in a file"
|
|
echo " (default: stdin)"
|
|
echo " -p|--percentiles comma separated percentiles"
|
|
exit 1
|
|
}
|
|
|
|
OP=old-gen-rank
|
|
RANK_MODE=max
|
|
TOP_LEVEL=no
|
|
CSV=""
|
|
LOGFILE=/dev/stdin
|
|
PERCENTILES=""
|
|
|
|
while [[ $# -ge 1 ]]
|
|
do
|
|
key="$1"
|
|
case $key in
|
|
-r|--rank)
|
|
case $2 in
|
|
new-gen-rank|old-gen-rank)
|
|
OP="$2"
|
|
;;
|
|
*)
|
|
print_usage_and_die
|
|
esac
|
|
shift
|
|
;;
|
|
-s|--sort)
|
|
case $2 in
|
|
max|avg)
|
|
RANK_MODE=$2
|
|
;;
|
|
*)
|
|
print_usage_and_die
|
|
esac
|
|
shift
|
|
;;
|
|
-t|--top-level)
|
|
TOP_LEVEL=yes
|
|
;;
|
|
-c|--csv)
|
|
CSV=" --csv "
|
|
;;
|
|
-f|--file)
|
|
LOGFILE=$2
|
|
shift
|
|
;;
|
|
-p|--percentiles)
|
|
PERCENTILES="--percentiles=$2"
|
|
shift
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [[ $# -ne 0 ]]; then
|
|
echo "Unknown option(s): $@"
|
|
echo ""
|
|
print_usage_and_die
|
|
fi
|
|
|
|
INTERESTING_NEW_GEN_KEYS="\
|
|
scavenge \
|
|
weak \
|
|
roots \
|
|
old_new \
|
|
semispace \
|
|
"
|
|
|
|
INTERESTING_OLD_GEN_KEYS="\
|
|
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 \
|
|
evacuate.candidates \
|
|
evacuate.clean_up \
|
|
evacuate.copy \
|
|
evacuate.update_pointers \
|
|
evacuate.update_pointers.to_evacuated \
|
|
evacuate.update_pointers.to_new \
|
|
evacuate.update_pointers.weak \
|
|
external.mc_prologue \
|
|
external.mc_epilogue \
|
|
external.mc_incremental_prologue \
|
|
external.mc_incremental_epilogue \
|
|
external.weak_global_handles \
|
|
mark.finish_incremental \
|
|
mark.roots \
|
|
mark.weak_closure \
|
|
mark.weak_closure.ephemeral \
|
|
mark.weak_closure.weak_handles \
|
|
mark.weak_closure.weak_roots \
|
|
mark.weak_closure.harmony \
|
|
sweep.code \
|
|
sweep.map \
|
|
sweep.old \
|
|
"
|
|
|
|
if [[ "$TOP_LEVEL" = "yes" ]]; then
|
|
INTERESTING_OLD_GEN_KEYS="\
|
|
${INTERESTING_OLD_GEN_KEYS} \
|
|
clear \
|
|
evacuate \
|
|
finish \
|
|
incremental_finalize \
|
|
mark \
|
|
pause
|
|
sweep \
|
|
"
|
|
INTERESTING_NEW_GEN_KEYS="\
|
|
${INTERESTING_NEW_GEN_KEYS} \
|
|
"
|
|
fi
|
|
|
|
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 \
|
|
$CSV \
|
|
$PERCENTILES \
|
|
${INTERESTING_NEW_GEN_KEYS}
|
|
;;
|
|
old-gen-rank)
|
|
cat $LOGFILE | grep "gc=ms" \
|
|
| $BASE_DIR/eval_gc_nvp.py \
|
|
--no-histogram \
|
|
--rank $RANK_MODE \
|
|
$CSV \
|
|
$PERCENTILES \
|
|
${INTERESTING_OLD_GEN_KEYS}
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|