mirror of
https://github.com/FEX-Emu/xbyak.git
synced 2025-02-23 06:40:49 +00:00
add setSize
This commit is contained in:
parent
9206af36bf
commit
f473d69dc7
@ -1,5 +1,5 @@
|
||||
|
||||
Xbyak 3.74 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
|
||||
Xbyak 3.75 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
|
||||
=============
|
||||
|
||||
Abstract
|
||||
@ -223,6 +223,7 @@ http://opensource.org/licenses/BSD-3-Clause
|
||||
|
||||
History
|
||||
-------------
|
||||
* 2013/Jan/15 ver 3.75 add setSize() to modify generated code
|
||||
* 2013/Jan/12 ver 3.74 add CodeGenerator::reset() ; add Allocator::useProtect()
|
||||
* 2013/Jan/06 ver 3.73 use unordered_map if possible
|
||||
* 2012/Dec/04 ver 3.72 eax, ebx, ... are member variables of CodeGenerator(revert), Xbyak::util::eax, ... are static const.
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak version 3.74
|
||||
C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak version 3.75
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
◎概要
|
||||
@ -244,6 +244,7 @@ sample/{echo,hello}.bfは http://www.kmonos.net/alang/etc/brainfuck.php から
|
||||
-----------------------------------------------------------------------------
|
||||
◎履歴
|
||||
|
||||
2013/01/15 ver 3.75 生成されたコードを修正するためにsetSize()を追加
|
||||
2013/01/12 ver 3.74 CodeGenerator::reset()とAllocator::useProtect()を追加
|
||||
2013/01/06 ver 3.73 可能ならunordered_mapを使う
|
||||
2012/12/04 ver 3.72 eaxなどをCodeGeneratorのメンバ変数に戻す. Xbyak::util::eaxはstatic const変数
|
||||
|
@ -72,7 +72,7 @@ namespace Xbyak {
|
||||
|
||||
enum {
|
||||
DEFAULT_MAX_CODE_SIZE = 4096,
|
||||
VERSION = 0x3740 /* 0xABCD = A.BC(D) */
|
||||
VERSION = 0x3750 /* 0xABCD = A.BC(D) */
|
||||
};
|
||||
|
||||
#ifndef MIE_INTEGER_TYPE_DEFINED
|
||||
@ -587,6 +587,11 @@ public:
|
||||
template<class F>
|
||||
const F getCurr() const { return CastTo<F>(&top_[size_]); }
|
||||
size_t getSize() const { return size_; }
|
||||
void setSize(size_t size)
|
||||
{
|
||||
if (size >= maxSize_) throw ERR_OFFSET_IS_TOO_BIG;
|
||||
size_ = size;
|
||||
}
|
||||
void dump() const
|
||||
{
|
||||
const uint8 *p = getCode();
|
||||
|
@ -1,4 +1,4 @@
|
||||
const char *getVersionString() const { return "3.74"; }
|
||||
const char *getVersionString() const { return "3.75"; }
|
||||
void packssdw(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x6B); }
|
||||
void packsswb(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x63); }
|
||||
void packuswb(const Mmx& mmx, const Operand& op) { opMMX(mmx, op, 0x67); }
|
||||
|
Loading…
x
Reference in New Issue
Block a user