test of MmapAllocator
diff --git a/test/mprotect_test.cpp b/test/mprotect_test.cpp
new file mode 100644
index 0000000..df8ea84
--- /dev/null
+++ b/test/mprotect_test.cpp
@@ -0,0 +1,37 @@
+#define XBYAK_NO_OP_NAMES
+#include "xbyak/xbyak.h"
+#include <string.h>
+#include <vector>
+
+struct Code : Xbyak::CodeGenerator {
+ Code(int x)
+ {
+ mov(eax, x);
+ ret();
+ }
+};
+
+int main()
+ try
+{
+#ifdef XBYAK_USE_MMAP_ALLOCATOR
+ puts("use Allocator with mmap");
+#else
+ puts("use Allocator with posix_memalign");
+#endif
+ const int N = 70000;
+ std::vector<Code*> v(N);
+ for (int i = 0; i < N; i++) {
+ v[i] = new Code(i);
+ }
+ long long sum = 0;
+ for (int i = 0; i < N; i++) {
+ sum += v[i]->getCode<int (*)()>()();
+ }
+ for (int i = 0; i < N; i++) {
+ delete v[i];
+ }
+ printf("sum=%lld\n", sum);
+} catch (std::exception& e) {
+ printf("ERR %s\n", e.what());
+}