| 1758 | } |
| 1759 | |
| 1760 | void asCByteCode::Line(int line, int column, int scriptIdx) |
| 1761 | { |
| 1762 | if( AddInstruction() < 0 ) |
| 1763 | return; |
| 1764 | |
| 1765 | last->op = asBC_LINE; |
| 1766 | // If the build is without line cues these instructions will be removed |
| 1767 | // otherwise they will be transformed into SUSPEND instructions. |
| 1768 | if( engine->ep.buildWithoutLineCues ) |
| 1769 | last->size = 0; |
| 1770 | else |
| 1771 | last->size = asBCTypeSize[asBCInfo[asBC_SUSPEND].type]; |
| 1772 | last->stackInc = 0; |
| 1773 | *((int*)ARG_DW(last->arg)) = (line & 0xFFFFF)|((column & 0xFFF)<<20); |
| 1774 | *((int*)ARG_DW(last->arg)+1) = scriptIdx; |
| 1775 | |
| 1776 | // Add a JitEntry after the line instruction to allow the JIT function to resume after a suspend |
| 1777 | InstrPTR(asBC_JitEntry, 0); |
| 1778 | } |
| 1779 | |
| 1780 | void asCByteCode::ObjInfo(int offset, int info) |
| 1781 | { |