#include <config.h>
+#include <string.h>
+
#include <mono/utils/hazard-pointer.h>
#include <mono/utils/mono-membar.h>
#include <mono/utils/mono-memory-model.h>
-#include <mono/utils/mono-mmap.h>
#include <mono/utils/monobitset.h>
-#include <mono/utils/mono-threads.h>
#include <mono/utils/lock-free-array-queue.h>
-#include <mono/utils/mono-counters.h>
#include <mono/utils/atomic.h>
+#include <mono/utils/mono-mutex.h>
+#ifdef SGEN_WITHOUT_MONO
+#include <mono/metadata/sgen-gc.h>
+#include <mono/metadata/sgen-client.h>
+#else
+#include <mono/utils/mono-mmap.h>
+#include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-counters.h>
#include <mono/io-layer/io-layer.h>
+#endif
typedef struct {
gpointer p;