v5.912
diff --git a/readme.md b/readme.md
index f143140..bd252ea 100644
--- a/readme.md
+++ b/readme.md
@@ -1,6 +1,6 @@
[![Build Status](https://travis-ci.org/herumi/xbyak.png)](https://travis-ci.org/herumi/xbyak)
-# Xbyak 5.911 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+# Xbyak 5.912 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
## Abstract
@@ -428,6 +428,7 @@
http://opensource.org/licenses/BSD-3-Clause
## History
+* 2020/Jun/19 ver 5.912 define MAP_JIT on macOS regardless of Xcode version (Thanks to rsdubtso)
* 2020/May/10 ver 5.911 XBYAK_USE_MMAP_ALLOCATOR is defined unless XBYAK_DONT_USE_MMAP_ALLOCATOR is defined.
* 2020/Apr/20 ver 5.91 accept mask register k0 (it means no mask)
* 2020/Apr/09 ver 5.90 kmov{b,d,w,q} throws exception for an unsupported register
diff --git a/readme.txt b/readme.txt
index f806628..9a0d187 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
- C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.911
+ C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.912
-----------------------------------------------------------------------------
◎概要
@@ -371,6 +371,7 @@
-----------------------------------------------------------------------------
◎履歴
+2020/06/19 ver 5.912 macOSの古いXcodeでもMAP_JITを有効にする(Thanks to rsdubtso)
2020/05/10 ver 5.911 Linux/macOSでXBYAK_USE_MMAP_ALLOCATORがデフォルト有効になる
2020/04/20 ver 5.91 マスクレジスタk0を受け入れる(マスクをしない)
2020/04/09 ver 5.90 kmov{b,w,d,q}がサポートされないレジスタを受けると例外を投げる
diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 2f1af68..63efccd 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -120,7 +120,7 @@
enum {
DEFAULT_MAX_CODE_SIZE = 4096,
- VERSION = 0x5911 /* 0xABCD = A.BC(D) */
+ VERSION = 0x5912 /* 0xABCD = A.BC(D) */
};
#ifndef MIE_INTEGER_TYPE_DEFINED
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 124bd49..2de6ec2 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "5.911"; }
+const char *getVersionString() const { return "5.912"; }
void adc(const Operand& op, uint32 imm) { opRM_I(op, imm, 0x10, 2); }
void adc(const Operand& op1, const Operand& op2) { opRM_RM(op1, op2, 0x10); }
void adcx(const Reg32e& reg, const Operand& op) { opGen(reg, op, 0xF6, 0x66, isREG32_REG32orMEM, NONE, 0x38); }