MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / String

Method String

src/simulate/simulate_gc.cpp:844–861  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

842 popRange();
843 }
844 virtual void String ( char * & st ) override {
845 if ( !markStringHeap ) return;
846 if ( !st ) return;
847 if ( context->constStringHeap->isOwnPtr(st) ) return;
848 uint32_t len = uint32_t(strlen(st)) + 1;
849 len = (len + 15) & ~15;
850 if ( validate ) {
851 if ( context->stringHeap->isOwnPtr(st, len) ) {
852 if ( context->stringHeap->isValidPtr(st, len) ) {
853 context->stringHeap->mark(st, len);
854 } else {
855 failed.insert(st);
856 }
857 }
858 } else {
859 context->stringHeap->mark(st, len);
860 }
861 }
862
863 virtual void beforeIterator ( Iterator * iter ) override {
864 char * ptr = ((char *) iter) - 16;

Callers

nothing calls this directly

Calls 4

isValidPtrMethod · 0.80
isOwnPtrMethod · 0.45
markMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected