Skip to content

Commit d1daead

Browse files
udesouLuis Eduardo de Souza Amorim
andauthored
Update Julia to latest master (mmtk#164)
This commit updates our fork to a [latest version](udesou/julia@b88f64f) from the Julia repo. Needs to be merged with mmtk/julia#62. --------- Co-authored-by: Luis Eduardo de Souza Amorim <eduardo@groundhog.moma>
1 parent f4809eb commit d1daead

File tree

17 files changed

+2005
-1054
lines changed

17 files changed

+2005
-1054
lines changed

.github/scripts/ci-test-LinearAlgebra.sh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,12 @@ set -e
55

66
. $(dirname "$0")/common.sh
77

8+
export MMTK_MAX_HSIZE_G=7.5
9+
total_mem=$(free -m | awk '/^Mem:/ {print $2}')
10+
mem_threshold=512 # use 0.5Gb as a threshold for the max rss based on the total free memory
11+
total_mem_restricted=$((total_mem- mem_threshold))
12+
num_workers=2
13+
export JULIA_TEST_MAXRSS_MB=$((total_mem_restricted/ num_workers))
14+
815
echo "-> Run single threaded"
9-
ci_run_jl_test "LinearAlgebra" 1
16+
ci_run_jl_test "LinearAlgebra" 2

.github/scripts/ci-test-patching.sh

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,43 @@ set -xe
77
# Each line is a pattern of the test to match (we add skip=true to the end of those lines), and the test file path
88
# * Pattern ends with $ so we won't append 'skip=true' multiple times
99
declare -a tests_to_skip=(
10-
# These tests expect jl_gc_pool_alloc in the generated code which is wrong
11-
'@test occursin("jl_gc_pool_alloc", get_llvm(MutableStruct, Tuple{}))$' "$JULIA_PATH/test/compiler/codegen.jl"
12-
'@test occursin("jl_gc_pool_alloc", breakpoint_any_ir)$' "$JULIA_PATH/test/compiler/codegen.jl"
13-
1410
# Ignore the entire libgit2.jl -- there are too many possible network related issues to run this test
1511
# '@test.*$' "$JULIA_PATH/usr/share/julia/stdlib/v1.8/LibGit2/test/libgit2.jl"
1612

1713
# These tests check for the number of stock GC threads (which we set to 0 with mmtk)
14+
'@test string(cpu_threads) ==' "$JULIA_PATH/test/cmdlineargs.jl"
1815
'@test (cpu_threads == 1 ? "1" : string(div(cpu_threads, 2))) ==' "$JULIA_PATH/test/cmdlineargs.jl"
1916
'@test read(`$exename --gcthreads=2 -e $code`, String) == "2"' "$JULIA_PATH/test/cmdlineargs.jl"
2017
'@test read(`$exename --gcthreads=2,1 -e $code`, String) == "3"' "$JULIA_PATH/test/cmdlineargs.jl"
2118
'@test read(`$exename -e $code`, String) == "2"' "$JULIA_PATH/test/cmdlineargs.jl"
2219
'@test read(`$exename -e $code`, String) == "3"' "$JULIA_PATH/test/cmdlineargs.jl"
2320

21+
# These tests use the heapsize hint which is not used by mmtk
22+
'@test readchomp(`$(Base.julia_cmd()) --startup-file=no --heap-size-hint=500M' "$JULIA_PATH/test/cmdlineargs.jl"
23+
'@test readchomp(`$(Base.julia_cmd()) --startup-file=no --heap-size-hint=10M' "$JULIA_PATH/test/cmdlineargs.jl"
24+
'@test abs(Float64(maxmem)' "$JULIA_PATH/test/cmdlineargs.jl"
25+
26+
# For some reason this fails even with the stock build
27+
'@test n_precompiles <= expected_precompiles' "$JULIA_PATH/stdlib/REPL/test/precompilation.jl"
28+
'@test length(targets) > 1' "$JULIA_PATH/test/precompile.jl"
29+
30+
# rr might not be available in the github runner
31+
'@test success(pipeline(setenv(`$(Base.julia_cmd()) --bug-report=rr-local' "$JULIA_PATH/test/cmdlineargs.jl"
32+
33+
# These tests seem to fail because we set the number of stock GC threads to 0
34+
'jl_setaffinity(1, mask, cpumasksize) == 0' "$JULIA_PATH/test/threads.jl"
35+
'jl_getaffinity(1, mask, cpumasksize) == 0' "$JULIA_PATH/test/threads.jl"
36+
37+
# Skipping these GC tests for now (until we make sure we follow the stats as expected by the stock GC)
38+
'@test !live_bytes_has_grown_too_much' "$JULIA_PATH/test/gc.jl"
39+
'@test any(page_utilization .> 0)' "$JULIA_PATH/test/gc.jl"
40+
41+
# Allocation profiler tests that fail when we inline fastpath allocation
42+
'@test length(\[a for a in prof.allocs if a.type == MyType\]) >= 1' "$JULIA_PATH/stdlib/Profile/test/allocs.jl"
43+
'@test length(prof.allocs) >= 1' "$JULIA_PATH/stdlib/Profile/test/allocs.jl"
44+
'@test length(filter(a->a.type <: type, profile.allocs)) >= NUM_TASKS' "$JULIA_PATH/stdlib/Profile/test/allocs.jl"
45+
46+
2447
# This test checks GC logging
2548
'@test occursin("GC: pause", read(tmppath, String))' "$JULIA_PATH/test/misc.jl"
2649

.github/workflows/binding-tests.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ jobs:
5454
run: |
5555
./.github/scripts/ci-checkout.sh
5656
./.github/scripts/ci-setup.sh
57+
- name: Patching unsupported tests
58+
run: |
59+
./.github/scripts/ci-test-patching.sh
5760
- name: Build Julia (Release)
5861
run: |
5962
./.github/scripts/ci-build.sh release ${{ inputs.gc_plan }} ${{ inputs.moving }}

0 commit comments

Comments
 (0)