| 933 | void OPCALL restoreOps(struct CPU* cpu, struct Op* op); |
| 934 | |
| 935 | void addBlockToData(struct GenData* data, struct Block* block) { |
| 936 | struct Op* op = block->ops; |
| 937 | U32 i; |
| 938 | |
| 939 | if (op->func==firstOp) |
| 940 | op = op->next; |
| 941 | while (op) { |
| 942 | for (i=0;i<op->eipCount;i++) { |
| 943 | if (data->opPos>=data->maxOpPos) |
| 944 | kpanic("Block is too big"); |
| 945 | data->ops[data->opPos++] = readb(data->cpu->thread, data->ip++); |
| 946 | } |
| 947 | op = op->next; |
| 948 | } |
| 949 | } |
| 950 | |
| 951 | void genJump(struct GenData* data, struct Op* op, int condition) { |
| 952 | char tmp[16]; |