MCPcopy Create free account
hub / github.com/WheretIB/nullc / FinalizeObject

Function FinalizeObject

NULLC/StdLib.cpp:31–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29 static uintptr_t OBJECT_MASK = OBJECT_VISIBLE | OBJECT_FREED;
30
31 void FinalizeObject(markerType& marker, char* base)
32 {
33 if(marker & NULLC::OBJECT_ARRAY)
34 {
35 unsigned count = *(unsigned*)(base + sizeof(markerType));
36 unsigned size = NULLC::linker->exTypes[(unsigned)marker >> 8].size;
37 NULLCRef r = { (unsigned)marker >> 8, base + sizeof(markerType) + 4 }; // skip over marker and array size
38 for(unsigned i = 0; i < count; i++)
39 {
40 NULLC::finalizeList.push_back(r);
41 r.ptr += size;
42 }
43 }else{
44 NULLCRef r = { (unsigned)marker >> 8, base + sizeof(markerType) }; // skip over marker
45 NULLC::finalizeList.push_back(r);
46 }
47 marker |= NULLC::OBJECT_FINALIZED;
48 }
49}
50
51template<int elemSize>

Callers 3

FreeMarkedMethod · 0.85
CollectMemoryMethod · 0.85
FinalizeMemoryMethod · 0.85

Calls 1

push_backMethod · 0.45

Tested by

no test coverage detected