forked from mmtk/mmtk-openjdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
74 lines (63 loc) · 2.44 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
[package]
name = "mmtk_openjdk"
version = "0.27.0"
authors = [" <>"]
rust-version = "1.73.0"
build = "build.rs"
edition = "2021"
[lib]
name = "mmtk_openjdk"
# be careful - LTO is only allowed for certain crate types
crate-type = ["cdylib"]
[profile.release]
lto = true
# Metadata for the OpenJDK repository
[package.metadata.openjdk]
# Our CI matches the following line and extract mmtk/openjdk. If this line is updated, please check ci yaml files and make sure it works.
openjdk_repo = "https://github.com/mmtk/openjdk.git"
openjdk_version = "28e56ee32525c32c5a88391d0b01f24e5cd16c0f"
[dependencies]
libc = "0.2"
lazy_static = "1.1"
once_cell = "1.10.0"
atomic = "0.6.0"
memoffset = "0.9.0"
cfg-if = "1.0"
probe = "0.5"
# Be very careful to commit any changes to the following mmtk dependency, as our CI scripts (including mmtk-core CI)
# rely on matching these lines to modify them: e.g. comment out the git dependency and use the local path.
# These changes are safe:
# - change branch
# - change repo name
# But other changes including adding/removing whitespaces in commented lines may break the CI.
mmtk = { git = "https://github.com/mmtk/mmtk-core.git", rev = "a025c24104d8d456a865aa0122e6e0fb6d77e8f2" }
# Uncomment the following to build locally
# mmtk = { path = "../repos/mmtk-core" }
[build-dependencies]
built = { version = "0.7.1", features = ["git2"] }
[features]
default = []
mmtk_extreme_assertions = ["mmtk/extreme_assertions"]
nogc_lock_free = ["mmtk/nogc_lock_free"]
nogc_no_zeroing = ["mmtk/nogc_no_zeroing"]
# Use the env var MMTK_VO_BIT=1 when building OpenJDK so the fastpath for setting the alloc bit will be compiled in.
# See README.
vo_bit = ["mmtk/vo_bit"]
# Place the mark bit in the header of objects instead of on the side.
mark_bit_in_header = []
# Place the forwarding bits on the side instead of in the header of objects.
forwarding_bits_on_side = []
# Use malloc mark sweep - we should only run marksweep with this feature turned on.
malloc_mark_sweep = ["mmtk/malloc_mark_sweep"]
# We can select plan at runtime. So no need to use any of these features.
# However, if any of these is provided during build-time, we will ignore any runtime flag and
# always run this plan. Performance-wise there is no difference. The main reason for these features
# is to temporarily allow running performance tests without changing performance scripts.
nogc = []
semispace = []
gencopy = []
marksweep = []
pageprotect = []
immix = []
genimmix = []
stickyimmix = []