mirror of
https://github.com/holub/mame
synced 2025-04-19 07:00:31 +03:00
asmjit: sync with upstream (nw)
This commit is contained in:
parent
1fce454a0b
commit
954451fbfa
2
3rdparty/asmjit/src/asmjit/core/compiler.cpp
vendored
2
3rdparty/asmjit/src/asmjit/core/compiler.cpp
vendored
@ -533,6 +533,7 @@ Error BaseCompiler::newJumpNode(JumpNode** out, uint32_t instId, uint32_t instOp
|
|||||||
JumpNode* node = _allocator.allocT<JumpNode>();
|
JumpNode* node = _allocator.allocT<JumpNode>();
|
||||||
uint32_t opCount = 1;
|
uint32_t opCount = 1;
|
||||||
|
|
||||||
|
*out = node;
|
||||||
if (ASMJIT_UNLIKELY(!node))
|
if (ASMJIT_UNLIKELY(!node))
|
||||||
return reportError(DebugUtils::errored(kErrorOutOfMemory));
|
return reportError(DebugUtils::errored(kErrorOutOfMemory));
|
||||||
|
|
||||||
@ -540,7 +541,6 @@ Error BaseCompiler::newJumpNode(JumpNode** out, uint32_t instId, uint32_t instOp
|
|||||||
node->setOp(0, o0);
|
node->setOp(0, o0);
|
||||||
node->resetOpRange(opCount, JumpNode::kBaseOpCapacity);
|
node->resetOpRange(opCount, JumpNode::kBaseOpCapacity);
|
||||||
|
|
||||||
*out = node;
|
|
||||||
return kErrorOk;
|
return kErrorOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -377,7 +377,7 @@ ASMJIT_FAVOR_SIZE Error InstInternal::validate(uint32_t arch, const BaseInst& in
|
|||||||
memSize <<= m.getBroadcast();
|
memSize <<= m.getBroadcast();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (baseType) {
|
if (baseType != 0 && baseType > Label::kLabelTag) {
|
||||||
uint32_t baseId = m.baseId();
|
uint32_t baseId = m.baseId();
|
||||||
|
|
||||||
if (m.isRegHome()) {
|
if (m.isRegHome()) {
|
||||||
@ -412,6 +412,9 @@ ASMJIT_FAVOR_SIZE Error InstInternal::validate(uint32_t arch, const BaseInst& in
|
|||||||
if (!indexType && !m.offsetLo32())
|
if (!indexType && !m.offsetLo32())
|
||||||
memFlags |= InstDB::kMemOpBaseOnly;
|
memFlags |= InstDB::kMemOpBaseOnly;
|
||||||
}
|
}
|
||||||
|
else if (baseType == Label::kLabelTag) {
|
||||||
|
// [Label] - there is no need to validate the base as it's label.
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
// Base is a 64-bit address.
|
// Base is a 64-bit address.
|
||||||
int64_t offset = m.offset();
|
int64_t offset = m.offset();
|
||||||
|
Loading…
Reference in New Issue
Block a user