Skip to content

Commit 6253fb9

Browse files
authored
Removing WITH_MMTK and using MMTK_PLAN to decide whether to build with MMTk or not (#79)
1 parent e026623 commit 6253fb9

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

Make.inc

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,6 @@ HAVE_SSP := 0
8080
WITH_GC_VERIFY := 0
8181
WITH_GC_DEBUG_ENV := 0
8282

83-
# Use MMTk GC
84-
WITH_MMTK ?= 0
85-
8683
# Enable DTrace support
8784
WITH_DTRACE := 0
8885

@@ -832,7 +829,7 @@ JCXXFLAGS += -DGC_DEBUG_ENV
832829
JCFLAGS += -DGC_DEBUG_ENV
833830
endif
834831

835-
ifeq ($(WITH_MMTK), 1)
832+
ifneq ($(MMTK_PLAN), )
836833
ifeq (${MMTK_JULIA_DIR},)
837834
$(error MMTK_JULIA_DIR must be set to use MMTk)
838835
endif
@@ -848,10 +845,11 @@ endif
848845
ifeq (${MMTK_PLAN},Immix)
849846
JCXXFLAGS += -DMMTK_PLAN_IMMIX
850847
JCFLAGS += -DMMTK_PLAN_IMMIX
851-
endif
852-
ifeq (${MMTK_PLAN},StickyImmix)
848+
else ifeq (${MMTK_PLAN},StickyImmix)
853849
JCXXFLAGS += -DMMTK_PLAN_STICKYIMMIX
854850
JCFLAGS += -DMMTK_PLAN_STICKYIMMIX
851+
else
852+
$(error "Unsupported MMTk plan: $(MMTK_PLAN)")
855853
endif
856854
MMTK_DIR = ${MMTK_JULIA_DIR}/mmtk
857855
MMTK_API_INC = $(MMTK_DIR)/api
@@ -1863,7 +1861,7 @@ PRINT_PERL = printf ' %b %b\n' $(PERLCOLOR)PERL$(ENDCOLOR) $(BINCOLOR)$(GOAL)
18631861
PRINT_FLISP = printf ' %b %b\n' $(FLISPCOLOR)FLISP$(ENDCOLOR) $(BINCOLOR)$(GOAL)$(ENDCOLOR); $(1)
18641862
PRINT_JULIA = printf ' %b %b\n' $(JULIACOLOR)JULIA$(ENDCOLOR) $(BINCOLOR)$(GOAL)$(ENDCOLOR); $(1)
18651863
PRINT_DTRACE = printf ' %b %b\n' $(DTRACECOLOR)DTRACE$(ENDCOLOR) $(BINCOLOR)$(GOAL)$(ENDCOLOR); $(1)
1866-
ifeq ($(WITH_MMTK), 1)
1864+
ifneq ($(MMTK_PLAN), )
18671865
PRINT_MMTK = printf ' %b %b\n' $(LINKCOLOR)MMTK$(ENDCOLOR) $(BINCOLOR)$(GOAL)$(ENDCOLOR); $(1)
18681866
endif
18691867

@@ -1876,7 +1874,7 @@ PRINT_PERL = echo '$(subst ','\'',$(1))'; $(1)
18761874
PRINT_FLISP = echo '$(subst ','\'',$(1))'; $(1)
18771875
PRINT_JULIA = echo '$(subst ','\'',$(1))'; $(1)
18781876
PRINT_DTRACE = echo '$(subst ','\'',$(1))'; $(1)
1879-
ifeq ($(WITH_MMTK), 1)
1877+
ifneq ($(MMTK_PLAN), )
18801878
PRINT_MMTK = echo '$(subst ','\'',$(1))'; $(1)
18811879
endif
18821880

src/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ endif
4242

4343
# GC source code. It depends on which GC implementation to use.
4444
GC_SRCS := gc-common gc-stacks gc-alloc-profiler gc-heap-snapshot
45-
ifeq ($(WITH_MMTK), 1)
45+
ifneq ($(MMTK_PLAN), )
4646
GC_SRCS += gc-mmtk
4747
else
4848
GC_SRCS += gc-stock gc-debug gc-pages gc-page-profiler
@@ -63,7 +63,7 @@ CG_LLVMLINK :=
6363
ifeq ($(JULIACODEGEN),LLVM)
6464
# Currently these files are used by both GCs. But we should make the list specific to stock, and MMTk should have its own implementation.
6565
GC_CODEGEN_SRCS := llvm-final-gc-lowering llvm-late-gc-lowering llvm-gc-invariant-verifier
66-
ifeq ($(WITH_MMTK), 1)
66+
ifneq ($(MMTK_PLAN), )
6767
FLAGS += -I$(MMTK_API_INC)
6868
GC_CODEGEN_SRCS += llvm-late-gc-lowering-mmtk
6969
else
@@ -122,7 +122,7 @@ UV_HEADERS += uv.h
122122
UV_HEADERS += uv/*.h
123123
endif
124124
PUBLIC_HEADERS := $(BUILDDIR)/julia_version.h $(wildcard $(SRCDIR)/support/*.h) $(addprefix $(SRCDIR)/,work-stealing-queue.h gc-interface.h gc-tls-common.h julia.h julia_assert.h julia_threads.h julia_fasttls.h julia_locks.h julia_atomics.h jloptions.h)
125-
ifeq ($(WITH_MMTK), 1)
125+
ifneq ($(MMTK_PLAN), )
126126
PUBLIC_HEADERS += $(addprefix $(SRCDIR)/,gc-tls-mmtk.h)
127127
else
128128
PUBLIC_HEADERS += $(addprefix $(SRCDIR)/,gc-tls-stock.h)
@@ -250,7 +250,7 @@ $(BUILDDIR)/%.h.gen : $(SRCDIR)/%.d
250250
mv $@.tmp $@
251251

252252
# Compile files from the binding side and copy so file into lib folder
253-
ifeq ($(WITH_MMTK), 1)
253+
ifneq ($(MMTK_PLAN), )
254254
$(MMTK_LIB_DST): $(MMTK_LIB_SRC)
255255
@$(call PRINT_MMTK, cp $< $@)
256256
endif

0 commit comments

Comments
 (0)