Imported Upstream version 6.0.0.172

Former-commit-id: f3cc9b82f3e5bd8f0fd3ebc098f789556b44e9cd
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-04-12 14:10:50 +00:00
parent 8016999e4d
commit 64ac736ec5
32155 changed files with 3981439 additions and 75368 deletions

View File

@@ -3,9 +3,10 @@ BENCHMARKER_PATH=$(ACCEPTANCE_TESTS_PATH)/benchmarker
ROSLYN_PATH=$(ACCEPTANCE_TESTS_PATH)/roslyn
CORECLR_PATH=$(ACCEPTANCE_TESTS_PATH)/coreclr
MSTESTSUITE_PATH=$(ACCEPTANCE_TESTS_PATH)/ms-test-suite
DEBIANSHOOTOUTMONO_PATH=$(ACCEPTANCE_TESTS_PATH)/DebianShootoutMono
CLEANFILES = *.dll *.exe *.mdb
EXTRA_DIST=README.md SUBMODULES.json versions.mk profiler-stress.mk roslyn.mk coreclr.mk ms-test-suite.mk
EXTRA_DIST=README.md SUBMODULES.json microbench.mk versions.mk profiler-stress.mk roslyn.mk coreclr.mk ms-test-suite.mk
CLASS=$(mcs_topdir)/class/lib/$(DEFAULT_PROFILE)
TOOLS_CLASS=$(mcs_topdir)/class/lib/build
@@ -17,6 +18,7 @@ ILASM = $(TOOLS_RUNTIME) $(TOOLS_CLASS)/ilasm.exe
XUNIT = $(RUNTIME) $(abs_top_builddir)/external/xunit-binaries/xunit.console.exe
include versions.mk
include microbench.mk
include profiler-stress.mk
include roslyn.mk
include coreclr.mk

View File

@@ -1 +1 @@
c8e438c99e4a6e712ac2d889cf2db2868f407c70
ccca7ea28181ec27e8346670f3c42aa5b7e817c6

View File

@@ -10,7 +10,7 @@
{
"name": "coreclr",
"url": "git://github.com/mono/coreclr.git",
"rev": "f3d9c9f742f9dcb5faf40080db5e7f464dab7e7c",
"rev": "1e8d7a94155a04a6556a7ae9ef8dc5841b3ab206",
"remote-branch": "origin/mono",
"branch": "mono",
"directory": "coreclr"
@@ -18,7 +18,7 @@
{
"name": "ms-test-suite",
"url": "git@github.com:xamarin/ms-test-suite.git",
"rev": "67f29dfc0741b5311dd746c75760963a2915e648",
"rev": "39b1b222e8a3690a1b8ea018ce54d2a826f5246e",
"remote-branch": "origin/master",
"branch": "master",
"directory": "ms-test-suite"
@@ -30,5 +30,13 @@
"remote-branch": "origin/master",
"branch": "master",
"directory": "benchmarker"
},
{
"name": "DebianShootoutMono",
"url": "https://github.com/alexanderkyte/DebianShootoutMono.git",
"rev": "3fde2ced806c1fe7eed81120a40d99474fa009f0",
"remote-branch": "origin/release_11_15_2018",
"branch": "release_11_15_2018",
"directory": "DebianShootoutMono"
}
]

View File

@@ -1 +1 @@
13b43e9df6ba9f7daec06423c357a9e67e9b082a
c2fbd00532f8f1c9f1207b726d6a73dfca590b30

View File

@@ -0,0 +1,17 @@
#! /bin/sh
r='@mono_build_root@'
aotpattern="--aot="
# if this is an aot invoke
if [[ $@ =~ $aotpattern ]];
then
# just aot the code
echo "$r/runtime/mono-wrapper $@"
exec $r/runtime/mono-wrapper $@
else
# else run it under perf
echo "$MONO_PERF_BINARY record -o $r/acceptance-tests/perf.data -v -s -g -- $r/mono/mini/mono-sgen $@"
exec $MONO_PERF_BINARY record -o $r/acceptance-tests/perf.data -v -s -g $r/mono/mini/mono-sgen $@
fi

View File

@@ -0,0 +1,119 @@
check-microbench: DebianShootoutMono.stamp
@$(MAKE) test-run-microbench
DebianShootoutMono.stamp:
@$(MAKE) validate-DebianShootoutMono RESET_VERSIONS=1
@$(MAKE) prepare-dlls
@touch $@
abs_top_srcdir = $(abspath $(top_srcdir))
TEST_EXE_PATH=$(abs_top_srcdir)/acceptance-tests/external/DebianShootoutMono/release/
NET_4_X_RUNTIME=MONO_PATH=$(TEST_EXE_PATH):$(abs_top_srcdir)/mcs/class/lib/net_4_x $(abs_top_srcdir)/runtime/mono-wrapper
FULL_AOT_RUNTIME=MONO_PATH=$(abs_top_srcdir)/mcs/class/lib/testing_aot_full $(abs_top_srcdir)/runtime/mono-wrapper
PERF_BINARY=$(if $(MONO_PERF_BINARY),$(MONO_PERF_BINARY),perf)
PERF_RUNTIME=$(abs_top_srcdir)/acceptance-tests/microbench-perf.sh
define BenchmarkDotNetTemplate
run-microbench-$(1):: DebianShootoutMono.stamp
MONO_BENCH_AOT_RUN="$(AOT_RUN_FLAGS)" \
MONO_BENCH_AOT_BUILD="$(AOT_BUILD_FLAGS)" \
MONO_BENCH_EXECUTABLE="$(abs_top_srcdir)/runtime/mono-wrapper" \
MONO_BENCH_PATH="$(abs_top_srcdir)/mcs/class/lib/$(TEST_PROFILE)" \
MONO_BENCH_INPUT="$(2)" \
$(NET_4_X_RUNTIME) \
$(TEST_EXE_PATH)/DebianShootoutMono.exe $(1)
test-run-microbench:: run-microbench-$(1)
run-microbench-debug-$(1):: DebianShootoutMono.stamp
echo MONO_PATH="$(abs_top_srcdir)/mcs/class/lib/$(TEST_PROFILE)" $(abs_top_srcdir)/runtime/mono-wrapper $(AOT_BUILD_FLAGS) $(TEST_EXE_PATH)/DebianShootoutMono.exe
MONO_BENCH_INPUT="$(2)" \
MONO_PATH="$(abs_top_srcdir)/mcs/class/lib/$(TEST_PROFILE)" \
$(abs_top_srcdir)/runtime/mono-wrapper $(AOT_RUN_FLAGS) $(TEST_EXE_PATH)/DebianShootoutMono.exe Run $(1)
test-run-microbench-debug:: run-microbench-debug-$(1)
if HOST_LINUX
run-microbench-profiled-$(1):: microbench-results/$(1).perf.data
microbench-results/$(1).perf.data: DebianShootoutMono.stamp
mkdir -p microbench-results
MONO_PERF_BINARY="$(PERF_BINARY)" \
MONO_BENCH_EXECUTABLE="$(PERF_RUNTIME)" \
MONO_BENCH_AOT_RUN="$(AOT_RUN_FLAGS)"\
MONO_BENCH_AOT_BUILD="$(AOT_BUILD_FLAGS)"\
MONO_BENCH_PATH="$(abs_top_srcdir)/mcs/class/lib/$(TEST_PROFILE)" \
MONO_BENCH_INPUT="$(2)" \
$(NET_4_X_RUNTIME) \
$(TEST_EXE_PATH)/DebianShootoutMono.exe $(1) $(2)
mv perf.data microbench-results/$(1).perf.data
microbench-results/$(1).tmp.perf: microbench-results/$(1).perf.data
$(PERF_BINARY) script -i microbench-results/$(1).perf.data > microbench-results/$(1).tmp.perf
microbench-results/$(1).perf-flame.svg: microbench-results/$(1).tmp.perf
cat microbench-results/$(1).tmp.perf | ./external/DebianShootoutMono/FlameGraph/stackcollapse-perf.pl > microbench-results/$(1).perf-folded
./external/DebianShootoutMono/FlameGraph/flamegraph.pl microbench-results/$(1).perf-folded > microbench-results/$(1).perf-flame.svg
rm microbench-results/$(1).tmp.perf
rm microbench-results/$(1).perf-folded
MONO_PERF_FLAGS=--show-cpu-utilization -n --hierarchy -T $(MONO_PERF_ADDITIONAL_FLAGS)
microbench-results/$(1).perf.report: microbench-results/$(1).perf.data
$(PERF_BINARY) report -i microbench-results/$(1).perf.data $(MONO_PERF_FLAGS) > microbench-results/$(1).perf.report
test-run-microbench-profiled:: run-microbench-profiled-$(1)
test-run-microbench-publish-collect:: microbench-results/$(1).perf.data microbench-results/$(1).perf.report microbench-results/$(1).perf-flame.svg
endif
endef
if HOST_LINUX
test-run-microbench-perf-check:
$(PERF_BINARY) record -a -o perf.data -- echo "testing"
rm perf.data
microbench-results/perf-data.zip:
zip microbench-results/perf-data.zip microbench-results/*.perf.data
rm microbench-results/*.perf.data
perf-report: microbench-results/perf-data.zip
perf-report-total: test-run-microbench-publish-collect
@$(MAKE) perf-report
endif
.PHONY: prepare-dlls
if FULL_AOT_TESTS
prepare-dlls:
$(FULL_AOT_RUNTIME) $(AOT_BUILD_FLAGS) $(TEST_EXE_PATH)/*.{dll,exe}
else
prepare-dlls:
endif
FIXTURE_DIR=$(abs_top_srcdir)/acceptance-tests/external/DebianShootoutMono/fixtures
$(eval $(call BenchmarkDotNetTemplate,Mandelbrot,))
$(eval $(call BenchmarkDotNetTemplate,RegexRedux,$(FIXTURE_DIR)/regexredux-input.txt))
$(eval $(call BenchmarkDotNetTemplate,KNucleotide,$(FIXTURE_DIR)/knucleotide-input.txt))
$(eval $(call BenchmarkDotNetTemplate,BinaryTrees,))
$(eval $(call BenchmarkDotNetTemplate,NBodyTest,))
$(eval $(call BenchmarkDotNetTemplate,SpectralNorm,))
$(eval $(call BenchmarkDotNetTemplate,Fannkuchredux,))
$(eval $(call BenchmarkDotNetTemplate,Fasta,))
$(eval $(call BenchmarkDotNetTemplate,RevComp,$(FIXTURE_DIR)/revcomp-input.txt))
#$(eval $(call BenchmarkDotNetTemplate,GistBenchmark,$(MONO_BENCH_GIST_URL))) broken in BDN, bug filed

View File

@@ -7,6 +7,7 @@ $(eval $(call ValidateVersionTemplate,benchmarker,BENCHMARKER))
$(eval $(call ValidateVersionTemplate,roslyn,ROSLYN))
$(eval $(call ValidateVersionTemplate,coreclr,CORECLR))
$(eval $(call ValidateVersionTemplate,ms-test-suite,MSTESTSUITE))
$(eval $(call ValidateVersionTemplate,DebianShootoutMono,DEBIANSHOOTOUTMONO))
# Bump the given submodule to the revision given by the REV make variable
# If COMMIT is 1, commit the change
@@ -14,6 +15,7 @@ bump-benchmarker: __bump-benchmarker
bump-roslyn: __bump-version-roslyn
bump-coreclr: __bump-version-coreclr
bump-ms-test-suite: __bump-version-ms-test-suite
bump-DebianShootoutMono: __bump-version-DebianShootoutMono
# Bump the given submodule to the branch given by the BRANCH/REMOTE_BRANCH make variables
# If COMMIT is 1, commit the change
@@ -21,6 +23,7 @@ bump-branch-benchmarker: __bump-branch-benchmarker
bump-branch-roslyn: __bump-branch-roslyn
bump-branch-coreclr: __bump-branch-coreclr
bump-branch-ms-test-suite: __bump-branch-ms-test-suite
bump-branch-DebianShootoutMono: __bump-branch-DebianShootoutMono
# Bump the given submodule to its current GIT version
# If COMMIT is 1, commit the change
@@ -28,6 +31,7 @@ bump-current-benchmarker: __bump-current-benchmarker
bump-current-roslyn: __bump-current-version-roslyn
bump-current-coreclr: __bump-current-version-coreclr
bump-current-ms-test-suite: __bump-current-version-ms-test-suite
bump-current-DebianShootoutMono: __bump-current-version-DebianShootoutMono
commit-bump-benchmarker:
$(MAKE) bump-benchmarker COMMIT=1
@@ -41,6 +45,9 @@ commit-bump-coreclr:
commit-bump-ms-test-suite:
$(MAKE) bump-ms-test-suite COMMIT=1
commit-bump-DebianShootoutMono:
$(MAKE) bump-DebianShootoutMono COMMIT=1
commit-bump-current-benchmarker:
$(MAKE) bump-current-benchmarker COMMIT=1
@@ -52,3 +59,6 @@ commit-bump-current-coreclr:
commit-bump-current-ms-test-suite:
$(MAKE) bump-current-ms-test-suite COMMIT=1
commit-bump-current-DebianShootoutMono:
$(MAKE) bump-current-DebianShootoutMono COMMIT=1