| 1669 | } |
| 1670 | |
| 1671 | void asCByteCode::Call(asEBCInstr instr, int funcID, int pop) |
| 1672 | { |
| 1673 | if( AddInstruction() < 0 ) |
| 1674 | return; |
| 1675 | |
| 1676 | asASSERT(asBCInfo[instr].type == asBCTYPE_DW_ARG); |
| 1677 | |
| 1678 | last->op = instr; |
| 1679 | last->size = asBCTypeSize[asBCInfo[instr].type]; |
| 1680 | last->stackInc = -pop; // BC_CALL and BC_CALLBND doesn't pop the argument but when the callee returns the arguments are already popped |
| 1681 | *((int*)ARG_DW(last->arg)) = funcID; |
| 1682 | |
| 1683 | // Add a JitEntry instruction after function calls so that JIT's can resume execution |
| 1684 | InstrPTR(asBC_JitEntry, 0); |
| 1685 | } |
| 1686 | |
| 1687 | void asCByteCode::CallPtr(asEBCInstr instr, int funcPtrVar, int pop) |
| 1688 | { |
no outgoing calls
no test coverage detected