aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--readme.md3
-rw-r--r--readme.txt3
-rw-r--r--xbyak/xbyak.h14
-rw-r--r--xbyak/xbyak_mnemonic.h2
-rw-r--r--xbyak/xbyak_util.h7
5 files changed, 13 insertions, 16 deletions
diff --git a/readme.md b/readme.md
index 2265135..93ea58f 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,5 @@
-# Xbyak 5.82 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+# Xbyak 5.83 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
## Abstract
@@ -392,6 +392,7 @@ modified new BSD License
http://opensource.org/licenses/BSD-3-Clause
## History
+* 2019/Oct/12 ver 5.83 exit(1) was removed
* 2019/Sep/23 ver 5.82 support monitorx, mwaitx, clzero (thanks to @MagurosanTeam)
* 2019/Sep/14 ver 5.81 support some generic mnemonics.
* 2019/Aug/01 ver 5.802 fix detection of AVX512_BF16 (thanks to vpirogov)
diff --git a/readme.txt b/readme.txt
index 0fc1e6e..ee4d942 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
- C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.82
+ C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.83
-----------------------------------------------------------------------------
◎概要
@@ -373,6 +373,7 @@ sample/{echo,hello}.bfは http://www.kmonos.net/alang/etc/brainfuck.php から
-----------------------------------------------------------------------------
◎履歴
+2019/10/12 ver 5.83 exit(1)の除去
2019/09/23 ver 5.82 monitorx, mwaitx, clzero対応 (thanks to MagurosanTeam)
2019/09/14 ver 5.81 いくつかの一般命令をサポート
2019/08/01 ver 5.802 AVX512_BF16判定修正 (thanks to vpirogov)
diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 9f654f2..48f3efb 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -113,7 +113,7 @@ namespace Xbyak {
enum {
DEFAULT_MAX_CODE_SIZE = 4096,
- VERSION = 0x5820 /* 0xABCD = A.BC(D) */
+ VERSION = 0x5830 /* 0xABCD = A.BC(D) */
};
#ifndef MIE_INTEGER_TYPE_DEFINED
@@ -187,7 +187,7 @@ enum {
ERR_INVALID_RIP_IN_AUTO_GROW,
ERR_INVALID_MIB_ADDRESS,
ERR_X2APIC_IS_NOT_SUPPORTED,
- ERR_INTERNAL, // last err
+ ERR_INTERNAL // Put it at last.
};
class Error : public std::exception {
@@ -196,8 +196,7 @@ public:
explicit Error(int err) : err_(err)
{
if (err_ < 0 || err_ > ERR_INTERNAL) {
- fprintf(stderr, "bad err=%d in Xbyak::Error\n", err_);
- exit(1);
+ err_ = ERR_INTERNAL;
}
}
operator int() const { return err_; }
@@ -248,10 +247,11 @@ public:
"invalid zero",
"invalid rip in AutoGrow",
"invalid mib address",
- "internal error",
- "x2APIC is not supported"
+ "x2APIC is not supported",
+ "internal error"
};
- assert((size_t)err_ < sizeof(errTbl) / sizeof(*errTbl));
+ assert(err_ <= ERR_INTERNAL);
+ assert(ERR_INTERNAL + 1 == sizeof(errTbl) / sizeof(*errTbl));
return errTbl[err_];
}
};
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 1d45f58..308dbf6 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "5.82"; }
+const char *getVersionString() const { return "5.83"; }
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); }
diff --git a/xbyak/xbyak_util.h b/xbyak/xbyak_util.h
index 04c661c..eefd152 100644
--- a/xbyak/xbyak_util.h
+++ b/xbyak/xbyak_util.h
@@ -704,12 +704,7 @@ public:
~StackFrame()
{
if (!makeEpilog_) return;
- try {
- close();
- } catch (std::exception& e) {
- printf("ERR:StackFrame %s\n", e.what());
- exit(1);
- }
+ close();
}
private:
const int *getOrderTbl() const