Skip to content

Commit 5845cc4

Browse files
committed
Initial.
0 parents  commit 5845cc4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+15510
-0
lines changed

Makefile.mcas

+97
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
2+
ARCH := SPARC
3+
DEBUGGING := -DNDEBUG
4+
5+
ifeq ($(ARCH),INTEL)
6+
CC := gcc
7+
CFLAGS := -O3 -DINTEL -fomit-frame-pointer -march=i686
8+
LDFLAGS := -lpthread
9+
endif
10+
11+
ifeq ($(ARCH),PPC)
12+
CC := cc_r
13+
CFLAGS := -O3 -DPPC -q64 -w
14+
LDFLAGS := -lpthread -q64
15+
ASFLAGS := -a64
16+
endif
17+
18+
ifeq ($(ARCH),IA64)
19+
CC := gcc
20+
CFLAGS := -O3 -DIA64 -fomit-frame-pointer
21+
LDFLAGS := -lpthread
22+
endif
23+
24+
ifeq ($(ARCH),MIPS)
25+
CC := gcc
26+
CFLAGS := -O3 -DMIPS -fomit-frame-pointer
27+
LDFLAGS := -lpthread
28+
endif
29+
30+
ifeq ($(ARCH),SPARC)
31+
CC := /opt/SUNWspro/bin/cc
32+
CFLAGS := -xO3 -DSPARC sparc_mcas.il -xarch=v9b
33+
LDFLAGS := -DSPARC sparc_mcas.il -xarch=v9b -lthread -lrt
34+
endif
35+
36+
ifeq ($(ARCH),ALPHA)
37+
CC := cc
38+
CFLAGS := -accept vaxc_keywords -O3 -DALPHA
39+
CFLAGS += -fomit-frame-pointer -DWEAK_MEM_ORDER
40+
LDFLAGS := -lpthread
41+
endif
42+
43+
CFLAGS += $(DEBUGGING)
44+
COMMON_DEPS += Makefile $(wildcard *.h)
45+
46+
GC_HARNESS_TARGETS := skip_lock_perlist skip_lock_pernode skip_lock_perpointer
47+
GC_HARNESS_TARGETS += skip_cas skip_mcas
48+
49+
GC_HARNESS_TARGETS += bst_lock_fraser bst_lock_manber bst_lock_kung
50+
GC_HARNESS_TARGETS += bst_mcas
51+
52+
GC_HARNESS_TARGETS += rb_lock_concurrentwriters rb_lock_serialisedwriters
53+
GC_HARNESS_TARGETS += rb_lock_mutex
54+
55+
TARGETS := $(GC_HARNESS_TARGETS)
56+
TARGETS += rb_stm_fraser rb_stm_herlihy rb_stm_lock
57+
TARGETS += skip_stm_fraser skip_stm_herlihy skip_stm_lock
58+
59+
all: $(TARGETS) replay
60+
61+
clean:
62+
rm -f $(TARGETS) replay *~ core *.o *.a
63+
64+
replay: %: %.c $(COMMON_DEPS)
65+
$(CC) $(CFLAGS) -c -o $(patsubst %.c,%.o,$<) $<
66+
$(CC) -o $@ $(patsubst %.c,%.o,$<) $(LDFLAGS)
67+
68+
tree_mcas.o: tree_mcas.c mcas.c $(COMMON_DEPS)
69+
$(CC) $(CFLAGS) -c ${srcdir}/tree_mcas.c
70+
skip_lock_perpointer.o: skip_lock.c $(COMMON_DEPS)
71+
$(CC) $(CFLAGS) -DTINY_MTX -c -o skip_lock_perpointer.o ${srcdir}/skip_lock.c
72+
skip_lock_pernode.o: skip_lock.c $(COMMON_DEPS)
73+
$(CC) $(CFLAGS) -c -o skip_lock_pernode.o ${srcdir}/skip_lock.c
74+
skip_lock_perlist.o: skip_lock.c $(COMMON_DEPS)
75+
$(CC) $(CFLAGS) -DFAT_MTX -c -o skip_lock_perlist.o ${srcdir}/skip_lock.c
76+
skip_mcas.o: skip_mcas.c mcas.c $(COMMON_DEPS)
77+
$(CC) $(CFLAGS) -c ${srcdir}/skip_mcas.c
78+
79+
%.o: %.c $(COMMON_DEPS)
80+
$(CC) $(CFLAGS) -c -o $@ $<
81+
82+
skip_stm_lock: skip_stm.o stm_lock.o set_harness.o ptst.o gc.o
83+
$(CC) -o $@ $^ $(LDFLAGS)
84+
skip_stm_fraser: skip_stm.o stm_fraser.o set_harness.o ptst.o gc.o
85+
$(CC) -o $@ $^ $(LDFLAGS)
86+
skip_stm_herlihy: skip_stm.o stm_herlihy.o set_harness.o ptst.o gc.o
87+
$(CC) -o $@ $^ $(LDFLAGS)
88+
89+
rb_stm_lock: rb_stm.o stm_lock.o set_harness.o ptst.o gc.o
90+
$(CC) -o $@ $^ $(LDFLAGS)
91+
rb_stm_fraser: rb_stm.o stm_fraser.o set_harness.o ptst.o gc.o
92+
$(CC) -o $@ $^ $(LDFLAGS)
93+
rb_stm_herlihy: rb_stm.o stm_herlihy.o set_harness.o ptst.o gc.o
94+
$(CC) -o $@ $^ $(LDFLAGS)
95+
96+
$(GC_HARNESS_TARGETS): %: %.o set_harness.o ptst.o gc.o
97+
$(CC) -o $@ $^ $(LDFLAGS)

Makefile.osi

+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# Including Makefile shall have set ARCH to one of:
2+
#
3+
# INTEL, X86_64, PPC, IA64, MIPS, SPARC, ALPHA
4+
#
5+
6+
ifeq ($(SYS_NAME),i386_linux24)
7+
ARCH := INTEL
8+
endif
9+
10+
ifeq ($(SYS_NAME),i386_linux26)
11+
ARCH := INTEL
12+
endif
13+
14+
ifeq ($(SYS_NAME),i386_fbsd_80)
15+
ARCH := INTEL
16+
endif
17+
18+
ifeq ($(SYS_NAME),i386_fbsd_81)
19+
ARCH := INTEL
20+
endif
21+
22+
ifeq ($(SYS_NAME),i386_fbsd_90)
23+
ARCH := INTEL
24+
endif
25+
26+
ifeq ($(SYS_NAME),amd64_linux24)
27+
ARCH := X86_64
28+
endif
29+
30+
ifeq ($(SYS_NAME),amd64_linux26)
31+
ARCH := X86_64
32+
endif
33+
34+
ifeq ($(SYS_NAME),sunx86_510)
35+
ARCH := SOLARIS_X86_686
36+
endif
37+
38+
#ifeq ($(SYS_NAME),sunx86_510)
39+
#ARCH := SOLARIS_X86_AMD64
40+
#endif
41+
42+
ifeq ($(SYS_NAME),sunx86_511)
43+
ARCH := SOLARIS_X86_686
44+
endif
45+
46+
#ifeq ($(SYS_NAME),sunx86_511)
47+
#ARCH := SOLARIS_X86_AMD64
48+
#endif
49+
50+
51+
# TODO: more platforms, or find alternate mechanism. In particular,
52+
# sparc handling will be inadequate
53+
54+
DEBUGGING :=
55+
56+
ifeq ($(ARCH),INTEL)
57+
CC := gcc
58+
MCAS_CFLAGS := -g -O0 -DINTEL -fomit-frame-pointer -march=i686
59+
LDFLAGS := -lpthread
60+
endif
61+
62+
ifeq ($(ARCH),X86_64)
63+
CC := gcc
64+
MCAS_CFLAGS := -g -O0 -DX86_64 -fomit-frame-pointer -march=athlon64
65+
LDFLAGS := -lpthread
66+
endif
67+
68+
ifeq ($(ARCH),SOLARIS_X86_686)
69+
MCAS_CFLAGS := -KPIC -DSOLARIS_X86_686 -xarch=pentium_pro
70+
endif
71+
72+
ifeq ($(ARCH),SOLARIS_X86_AMD64)
73+
MCAS_CFLAGS := -KPIC -DSOLARIS_X86_AMD64 -xarch=amd64
74+
endif
75+
76+
ifeq ($(ARCH),PPC)
77+
CC := cc_r
78+
MCAS_CFLAGS := -O3 -DPPC -q64 -w
79+
LDFLAGS := -lpthread -q64
80+
ASFLAGS := -a64
81+
endif
82+
83+
ifeq ($(ARCH),IA64)
84+
CC := gcc
85+
MCAS_CFLAGS := -O3 -DIA64 -fomit-frame-pointer
86+
LDFLAGS := -lpthread
87+
endif
88+
89+
ifeq ($(ARCH),MIPS)
90+
CC := gcc
91+
MCAS_CFLAGS := -O3 -DMIPS -fomit-frame-pointer
92+
LDFLAGS := -lpthread
93+
endif
94+
95+
ifeq ($(ARCH),SPARC)
96+
CC := /opt/SUNWspro/bin/cc
97+
MCAS_CFLAGS := -xO3 -DSPARC sparc_mcas.il -xarch=v9b
98+
LDFLAGS := -DSPARC sparc_mcas.il -xarch=v9b -lthread -lrt
99+
endif
100+
101+
ifeq ($(ARCH),ALPHA)
102+
CC := cc
103+
MCAS_CFLAGS := -accept vaxc_keywords -O3 -DALPHA
104+
MCAS_CFLAGS += -fomit-frame-pointer -DWEAK_MEM_ORDER
105+
LDFLAGS := -lpthread
106+
endif
107+
108+
MCAS_CFLAGS += $(DEBUGGING)

Makefile.unit

+119
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
2+
ARCH := X86_64
3+
DEBUGGING :=
4+
5+
ifeq ($(ARCH),INTEL)
6+
CC := gcc
7+
CFLAGS := -g -O0 -DINTEL -fomit-frame-pointer -march=i686
8+
LDFLAGS := -lpthread
9+
endif
10+
11+
ifeq ($(ARCH),X86_64)
12+
CC := gcc
13+
CFLAGS := -g -O0 -DX86_64 -fomit-frame-pointer -march=athlon64
14+
LDFLAGS := -lpthread
15+
endif
16+
17+
ifeq ($(ARCH),PPC)
18+
CC := cc_r
19+
CFLAGS := -O3 -DPPC -q64 -w
20+
LDFLAGS := -lpthread -q64
21+
ASFLAGS := -a64
22+
endif
23+
24+
ifeq ($(ARCH),IA64)
25+
CC := gcc
26+
CFLAGS := -O3 -DIA64 -fomit-frame-pointer
27+
LDFLAGS := -lpthread
28+
endif
29+
30+
ifeq ($(ARCH),MIPS)
31+
CC := gcc
32+
CFLAGS := -O3 -DMIPS -fomit-frame-pointer
33+
LDFLAGS := -lpthread
34+
endif
35+
36+
ifeq ($(ARCH),SPARC)
37+
CC := /opt/SUNWspro/bin/cc
38+
CFLAGS := -xO3 -DSPARC sparc_mcas.il -xarch=v9b
39+
LDFLAGS := -DSPARC sparc_mcas.il -xarch=v9b -lthread -lrt
40+
endif
41+
42+
ifeq ($(ARCH),ALPHA)
43+
CC := cc
44+
CFLAGS := -accept vaxc_keywords -O3 -DALPHA
45+
CFLAGS += -fomit-frame-pointer -DWEAK_MEM_ORDER
46+
LDFLAGS := -lpthread
47+
endif
48+
49+
CFLAGS += $(DEBUGGING)
50+
COMMON_DEPS += Makefile $(wildcard *.h)
51+
52+
GC_HARNESS_TARGETS := skip_lock_perlist skip_lock_pernode skip_lock_perpointer
53+
GC_HARNESS_TARGETS += skip_cas skip_mcas
54+
55+
GC_HARNESS_TARGETS += bst_lock_fraser bst_lock_manber bst_lock_kung
56+
GC_HARNESS_TARGETS += bst_mcas
57+
58+
GC_HARNESS_TARGETS += rb_lock_concurrentwriters rb_lock_serialisedwriters
59+
GC_HARNESS_TARGETS += rb_lock_mutex
60+
61+
TARGETS := $(GC_HARNESS_TARGETS)
62+
TARGETS += rb_stm_fraser rb_stm_herlihy rb_stm_lock
63+
TARGETS += skip_stm_fraser skip_stm_herlihy skip_stm_lock
64+
65+
all: skip_cas_adt_test fifo_mcas_adt_test
66+
67+
skip_cas_adt_test: skip_adt_test.o skip_cas_adt.o gc.o ptst.o
68+
$(CC) $(CFLAGS) -o $@ \
69+
skip_cas_adt.o gc.o ptst.o skip_adt_test.o \
70+
$(LDFLAGS)
71+
72+
fifo_mcas_adt_test: fifo_adt_test.o fifo_mcas_adt.o gc.o ptst.o
73+
$(CC) $(CFLAGS) -o $@ \
74+
fifo_mcas_adt.o gc.o ptst.o fifo_adt_test.o \
75+
$(LDFLAGS)
76+
77+
skip_cas_adt.o: skip_cas_adt.c
78+
$(CC) $(CFLAGS) -o $@ -c ${srcdir}/skip_cas_adt.c
79+
80+
fifo_mcas_adt.o: fifo_mcas_adt.c
81+
$(CC) $(CFLAGS) -o $@ -c ${srcdir}/fifo_mcas_adt.c
82+
83+
clean:
84+
rm -f $(TARGETS) replay *~ core *.o *.a
85+
86+
replay: %: %.c $(COMMON_DEPS)
87+
$(CC) $(CFLAGS) -c -o $(patsubst %.c,%.o,$<) $<
88+
$(CC) -o $@ $(patsubst %.c,%.o,$<) $(LDFLAGS)
89+
90+
tree_mcas.o: tree_mcas.c mcas.c $(COMMON_DEPS)
91+
$(CC) $(CFLAGS) -c ${srcdir}/tree_mcas.c
92+
skip_lock_perpointer.o: skip_lock.c $(COMMON_DEPS)
93+
$(CC) $(CFLAGS) -DTINY_MTX -c -o skip_lock_perpointer.o ${srcdir}/skip_lock.c
94+
skip_lock_pernode.o: skip_lock.c $(COMMON_DEPS)
95+
$(CC) $(CFLAGS) -c -o skip_lock_pernode.o ${srcdir}/skip_lock.c
96+
skip_lock_perlist.o: skip_lock.c $(COMMON_DEPS)
97+
$(CC) $(CFLAGS) -DFAT_MTX -c -o skip_lock_perlist.o ${srcdir}/skip_lock.c
98+
skip_mcas.o: skip_mcas.c mcas.c $(COMMON_DEPS)
99+
$(CC) $(CFLAGS) -c ${srcdir}/skip_mcas.c
100+
101+
%.o: %.c $(COMMON_DEPS)
102+
$(CC) $(CFLAGS) -c -o $@ $<
103+
104+
skip_stm_lock: skip_stm.o stm_lock.o set_harness.o ptst.o gc.o
105+
$(CC) -o $@ $^ $(LDFLAGS)
106+
skip_stm_fraser: skip_stm.o stm_fraser.o set_harness.o ptst.o gc.o
107+
$(CC) -o $@ $^ $(LDFLAGS)
108+
skip_stm_herlihy: skip_stm.o stm_herlihy.o set_harness.o ptst.o gc.o
109+
$(CC) -o $@ $^ $(LDFLAGS)
110+
111+
rb_stm_lock: rb_stm.o stm_lock.o set_harness.o ptst.o gc.o
112+
$(CC) -o $@ $^ $(LDFLAGS)
113+
rb_stm_fraser: rb_stm.o stm_fraser.o set_harness.o ptst.o gc.o
114+
$(CC) -o $@ $^ $(LDFLAGS)
115+
rb_stm_herlihy: rb_stm.o stm_herlihy.o set_harness.o ptst.o gc.o
116+
$(CC) -o $@ $^ $(LDFLAGS)
117+
118+
$(GC_HARNESS_TARGETS): %: %.o set_harness.o ptst.o gc.o
119+
$(CC) -o $@ $^ $(LDFLAGS)

0 commit comments

Comments
 (0)