#include <xbyak.h>
Definition at line 1116 of file xbyak.h.
◆ LabelManager()
Xbyak::LabelManager::LabelManager |
( |
| ) |
|
|
inline |
◆ addUndefinedLabel() [1/2]
void Xbyak::LabelManager::addUndefinedLabel |
( |
const Label & | label, |
|
|
const JmpLabel & | jmp ) |
|
inline |
Definition at line 1297 of file xbyak.h.
1298 {
1299 clabelUndefList_.insert(ClabelUndefList::value_type(
label.id, jmp));
1300 }
◆ addUndefinedLabel() [2/2]
void Xbyak::LabelManager::addUndefinedLabel |
( |
const std::string & | label, |
|
|
const JmpLabel & | jmp ) |
|
inline |
Definition at line 1292 of file xbyak.h.
1293 {
1294 SlabelState& st = *
label.c_str() ==
'.' ? stateList_.back() : stateList_.front();
1295 st.undefList.insert(SlabelUndefList::value_type(
label, jmp));
1296 }
◆ assign()
void Xbyak::LabelManager::assign |
( |
Label & | dst, |
|
|
const Label & | src ) |
|
inline |
Definition at line 1264 of file xbyak.h.
1265 {
1266 ClabelDefList::const_iterator i = clabelDefList_.find(src.id);
1268 define_inner(clabelDefList_, clabelUndefList_, dst.id, i->second.offset);
1269 dst.mgr = this;
1270 }
@ ERR_LABEL_ISNOT_SET_BY_L
◆ defineClabel()
void Xbyak::LabelManager::defineClabel |
( |
const Label & | label | ) |
|
|
inline |
Definition at line 1259 of file xbyak.h.
1260 {
1261 define_inner(clabelDefList_, clabelUndefList_, getId(
label), base_->
getSize());
1263 }
◆ defineSlabel()
void Xbyak::LabelManager::defineSlabel |
( |
std::string | label | ) |
|
|
inline |
Definition at line 1239 of file xbyak.h.
1240 {
1242 if (
label ==
"@@") {
1243 SlabelDefList& defList = stateList_.front().defList;
1244 SlabelDefList::iterator i = defList.find("@f");
1245 if (i != defList.end()) {
1246 defList.erase(i);
1248 } else {
1249 i = defList.find("@b");
1250 if (i != defList.end()) {
1251 defList.erase(i);
1252 }
1254 }
1255 }
1256 SlabelState& st = *
label.c_str() ==
'.' ? stateList_.back() : stateList_.front();
1257 define_inner(st.defList, st.undefList,
label, base_->
getSize());
1258 }
◆ enterLocal()
void Xbyak::LabelManager::enterLocal |
( |
| ) |
|
|
inline |
Definition at line 1228 of file xbyak.h.
1229 {
1230 stateList_.push_back(SlabelState());
1231 }
◆ getCode()
const uint8 * Xbyak::LabelManager::getCode |
( |
| ) |
const |
|
inline |
Definition at line 1309 of file xbyak.h.
const uint8 * getCode() const
◆ getOffset() [1/2]
bool Xbyak::LabelManager::getOffset |
( |
size_t * | offset, |
|
|
const Label & | label ) const |
|
inline |
Definition at line 1288 of file xbyak.h.
1289 {
1290 return getOffset_inner(clabelDefList_, offset, getId(
label));
1291 }
◆ getOffset() [2/2]
bool Xbyak::LabelManager::getOffset |
( |
size_t * | offset, |
|
|
std::string & | label ) const |
|
inline |
Definition at line 1271 of file xbyak.h.
1272 {
1273 const SlabelDefList& defList = stateList_.front().defList;
1274 if (
label ==
"@b") {
1275 if (defList.find("@f") != defList.end()) {
1277 } else if (defList.find("@b") == defList.end()) {
1279 }
1280 }
else if (
label ==
"@f") {
1281 if (defList.find("@f") != defList.end()) {
1283 }
1284 }
1285 const SlabelState& st = *
label.c_str() ==
'.' ? stateList_.back() : stateList_.front();
1286 return getOffset_inner(st.defList, offset,
label);
1287 }
◆ hasUndefClabel()
bool Xbyak::LabelManager::hasUndefClabel |
( |
| ) |
const |
|
inline |
Definition at line 1308 of file xbyak.h.
1308{ return hasUndefinedLabel_inner(clabelUndefList_); }
◆ hasUndefSlabel()
bool Xbyak::LabelManager::hasUndefSlabel |
( |
| ) |
const |
|
inline |
Definition at line 1301 of file xbyak.h.
1302 {
1303 for (StateList::const_iterator i = stateList_.begin(), ie = stateList_.end(); i != ie; ++i) {
1304 if (hasUndefinedLabel_inner(i->undefList)) return true;
1305 }
1306 return false;
1307 }
◆ isReady()
bool Xbyak::LabelManager::isReady |
( |
| ) |
const |
|
inline |
Definition at line 1310 of file xbyak.h.
bool isCalledCalcJmpAddress() const
◆ leaveLocal()
void Xbyak::LabelManager::leaveLocal |
( |
| ) |
|
|
inline |
Definition at line 1232 of file xbyak.h.
1233 {
1236 stateList_.pop_back();
1237 }
◆ reset()
void Xbyak::LabelManager::reset |
( |
| ) |
|
|
inline |
Definition at line 1218 of file xbyak.h.
1219 {
1220 base_ = 0;
1221 labelId_ = 1;
1222 stateList_.clear();
1223 stateList_.push_back(SlabelState());
1224 stateList_.push_back(SlabelState());
1225 clabelDefList_.clear();
1226 clabelUndefList_.clear();
1227 }
◆ set()
void Xbyak::LabelManager::set |
( |
CodeArray * | base | ) |
|
|
inline |
◆ Label
The documentation for this class was generated from the following file:
- libraries/fc/libraries/ff/depends/xbyak/xbyak/xbyak.h