| 296 | }; |
| 297 | |
| 298 | ExecutorX86::ExecutorX86(Linker *linker): exLinker(linker), exFunctions(linker->exFunctions), |
| 299 | exCode(linker->exCode), exTypes(linker->exTypes) |
| 300 | { |
| 301 | binCode = NULL; |
| 302 | binCodeStart = NULL; |
| 303 | binCodeSize = 0; |
| 304 | binCodeReserved = 0; |
| 305 | |
| 306 | paramBase = NULL; |
| 307 | globalStartInBytecode = 0; |
| 308 | callContinue = 1; |
| 309 | |
| 310 | // Parameter stack must be aligned |
| 311 | assert(sizeof(NULLC::DataStackHeader) % 16 == 0); |
| 312 | |
| 313 | NULLC::stackBaseAddress = NULL; |
| 314 | NULLC::stackEndAddress = NULL; |
| 315 | NULLC::stackManaged = false; |
| 316 | |
| 317 | NULLC::currExecutor = this; |
| 318 | |
| 319 | linker->SetFunctionPointerUpdater(NULLC::UpdateFunctionPointer); |
| 320 | |
| 321 | #ifdef __linux |
| 322 | SetLongJmpTarget(NULLC::errorHandler); |
| 323 | #endif |
| 324 | } |
| 325 | ExecutorX86::~ExecutorX86() |
| 326 | { |
| 327 | #ifdef __linux |
nothing calls this directly
no test coverage detected