本文整理汇总了C++中AsmCode::move方法的典型用法代码示例。如果您正苦于以下问题:C++ AsmCode::move方法的具体用法?C++ AsmCode::move怎么用?C++ AsmCode::move使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AsmCode
的用法示例。
在下文中一共展示了AsmCode::move方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pushDownPopUp
void Optimizer::pushDownPopUp(AsmCode& code){
for (int i = 0; i < code.size(); i++){
AsmCmd1* cmd = dynamic_cast<AsmCmd1*>(code[i]);
int j = i;
if (cmd && *cmd == cmdPUSH){
while (j + 1 < code.size() && !code[j + 1]->changeStack() && !code[j + 1]->operateWith(cmd->argument()))
j++;
code.move(i, j);
} else if (cmd && *cmd == cmdPOP) {
while (j - 1 > -1 && !code[j - 1]->changeStack() && !code[j - 1]->operateWith(cmd->argument()))
j--;
code.move(i, j);
}
}
}