Files
Ryan Hunt 76de161425 Bug 1962418 - Add JetStream3 to our PGO data set. r=firefox-build-system-reviewers,glandium,perftest-reviewers,releng-reviewers,bhearsum,kshampur,ahal
A pgo-extended-corpus CI toolchain task is added that is used during PGO
instrumentation runs. It currently just contains the JetStream3 benchmark,
but could contain other things in the future.

The profilerserver.py now takes a `--extended-corpus` optional flag which
should point at a pgo-extended-corpus artifact. The `pgo/index.html` page
now takes a `?extendedCorpus=true` flag which indicates the corpus should
be used. The android script is different and is not updated yet.

The MOZ_PGO=1 configure option is extended with an additional
MOZ_PGO_EXTENDED_CORPUS=1 option which opts-into the extended-corpus. It
should be provided already through the fetches directory or automatically
downloaded through `bootstrap_toolchain`.

Differential Revision: https://phabricator.services.mozilla.com/D256645
2026-02-24 22:32:27 +00:00

43 lines
1011 B
Bash
Executable File

#! /bin/bash -vex
set -x -e
echo "running as" $(id)
: NEED_XVFB ${NEED_XVFB:=false}
: UPLOAD_PATH ${UPLOAD_PATH:=$HOME/artifacts}
export UPLOAD_PATH
####
# Taskcluster friendly wrapper for running the profileserver
####
PGO_RUNDIR=obj-firefox/dist
export JARLOG_FILE="en-US.log"
export LLVM_PROFDATA=$MOZ_FETCHES_DIR/clang/bin/llvm-profdata
set -v
if $NEED_XVFB; then
# run XVfb in the background
. /builds/worker/scripts/xvfb.sh
cleanup() {
local rv=$?
cleanup_xvfb
exit $rv
}
trap cleanup EXIT INT
start_xvfb '1024x768x24' 2
fi
# Move our fetched firefox into objdir/dist so the jarlog entries will match
# the paths when the final PGO stage packages the build.
mkdir -p $PGO_RUNDIR
mkdir -p $UPLOAD_PATH
mv $MOZ_FETCHES_DIR/firefox $PGO_RUNDIR
./mach python build/pgo/profileserver.py --binary $PGO_RUNDIR/firefox/firefox --extended-corpus $MOZ_FETCHES_DIR/pgo-extended-corpus/
tar -acvf $UPLOAD_PATH/profdata.tar.xz merged.profdata en-US.log