| 1881 | /* Host */ |
| 1882 | |
| 1883 | txMachine* fxBeginHost(txMachine* the) |
| 1884 | { |
| 1885 | #if defined(mxInstrument) || defined(mxProfile) |
| 1886 | if (the->frame == C_NULL) |
| 1887 | fxCheckProfiler(the, C_NULL); |
| 1888 | #endif |
| 1889 | mxOverflow(-5); |
| 1890 | /* THIS */ |
| 1891 | (--the->stack)->next = C_NULL; |
| 1892 | mxInitSlotKind(the->stack, XS_UNDEFINED_KIND); |
| 1893 | /* FUNCTION */ |
| 1894 | (--the->stack)->next = C_NULL; |
| 1895 | mxInitSlotKind(the->stack, XS_UNDEFINED_KIND); |
| 1896 | /* RESULT */ |
| 1897 | (--the->stack)->next = C_NULL; |
| 1898 | mxInitSlotKind(the->stack, XS_UNDEFINED_KIND); |
| 1899 | /* FRAME */ |
| 1900 | (--the->stack)->next = the->frame; |
| 1901 | the->stack->ID = 0; |
| 1902 | the->stack->flag = XS_C_FLAG; |
| 1903 | #ifdef mxDebug |
| 1904 | if (the->breakOnStartFlag) { |
| 1905 | the->breakOnStartFlag = 0; |
| 1906 | the->stack->flag |= XS_STEP_INTO_FLAG | XS_STEP_OVER_FLAG; |
| 1907 | } |
| 1908 | if (the->frame && (the->frame->flag & XS_STEP_INTO_FLAG)) |
| 1909 | the->stack->flag |= XS_STEP_INTO_FLAG | XS_STEP_OVER_FLAG; |
| 1910 | #endif |
| 1911 | the->stack->kind = XS_FRAME_KIND; |
| 1912 | the->stack->value.frame.code = the->code; |
| 1913 | the->stack->value.frame.scope = the->scope; |
| 1914 | the->frame = the->stack; |
| 1915 | /* VARC */ |
| 1916 | (--the->stack)->next = C_NULL; |
| 1917 | the->stack->ID = XS_NO_ID; |
| 1918 | the->stack->flag = XS_NO_FLAG; |
| 1919 | the->stack->kind = XS_VAR_KIND; |
| 1920 | the->stack->value.environment.variable.count = 0; |
| 1921 | the->stack->value.environment.line = 0; |
| 1922 | the->scope = the->stack; |
| 1923 | the->code = C_NULL; |
| 1924 | return the; |
| 1925 | } |
| 1926 | |
| 1927 | void fxEndHost(txMachine* the) |
| 1928 | { |
no test coverage detected