| 851 | } |
| 852 | |
| 853 | void fxPrepareProjection(txMachine* the) |
| 854 | { |
| 855 | txLinker* linker = (txLinker*)(the->context); |
| 856 | txLinkerProjection** projectionAddress = &linker->firstProjection; |
| 857 | txLinkerProjection* projection; |
| 858 | txSlot* heap = the->firstHeap; |
| 859 | while (heap) { |
| 860 | txSlot* slot = heap + 1; |
| 861 | txSlot* limit = heap->value.reference; |
| 862 | projection = fxNewLinkerChunkClear(linker, sizeof(txLinkerProjection) + (mxPtrDiff(limit - slot) * sizeof(txInteger))); |
| 863 | projection->heap = heap; |
| 864 | projection->limit = limit; |
| 865 | *projectionAddress = projection; |
| 866 | projectionAddress = &projection->nextProjection; |
| 867 | heap = heap->next; |
| 868 | } |
| 869 | linker->projectionIndex = 1; |
| 870 | } |
| 871 | |
| 872 | void fxPrintAddress(txMachine* the, FILE* file, txSlot* slot) |
| 873 | { |
no test coverage detected