diff options
author | MITSUNARI Shigeo <[email protected]> | 2019-10-12 07:32:23 +0900 |
---|---|---|
committer | MITSUNARI Shigeo <[email protected]> | 2019-10-12 07:40:41 +0900 |
commit | f32836da6f64d87856c8706aea2b647ef198d8c6 (patch) | |
tree | dbcee68e73447fa4b883751ae7bc751e25b5f8ca | |
parent | a1e9adf22831d8070c43e83be05384be0c9a1c7e (diff) | |
download | xbyak-f32836da6f64d87856c8706aea2b647ef198d8c6.tar.gz xbyak-f32836da6f64d87856c8706aea2b647ef198d8c6.zip |
remove exit(1)v5.83
-rw-r--r-- | readme.md | 3 | ||||
-rw-r--r-- | readme.txt | 3 | ||||
-rw-r--r-- | xbyak/xbyak.h | 14 | ||||
-rw-r--r-- | xbyak/xbyak_mnemonic.h | 2 | ||||
-rw-r--r-- | xbyak/xbyak_util.h | 7 |
5 files changed, 13 insertions, 16 deletions
@@ -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) @@ -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 |