| 579 | #ifndef NULLC_NO_EXECUTOR |
| 580 | |
| 581 | void nullcThrowError(const char* error, ...) |
| 582 | { |
| 583 | using namespace NULLC; |
| 584 | NULLC_CHECK_INITIALIZED((void)0); |
| 585 | |
| 586 | va_list args; |
| 587 | va_start(args, error); |
| 588 | |
| 589 | char buf[1024]; |
| 590 | |
| 591 | vsnprintf(buf, 1024, error, args); |
| 592 | buf[1024 - 1] = '\0'; |
| 593 | |
| 594 | if(currExec == NULLC_VM) |
| 595 | { |
| 596 | executor->Stop(buf); |
| 597 | }else if(currExec == NULLC_X86){ |
| 598 | #ifdef NULLC_BUILD_X86_JIT |
| 599 | executorX86->Stop(buf); |
| 600 | #endif |
| 601 | } |
| 602 | } |
| 603 | |
| 604 | nullres nullcCallFunction(NULLCFuncPtr ptr, ...) |
| 605 | { |