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

Method String

src/simulate/simulate_gc.cpp:526–548  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

524 return (ti->flags | gcAlways) & gcFlags;
525 }
526 virtual void String ( char * & st ) override {
527 if ( !reportStringHeap ) return;
528 if ( !st ) return;
529 if ( context->constStringHeap->isOwnPtr(st) ) return;
530 bool show = !errorsOnly;
531 char buf[32];
532 uint32_t ulen = uint32_t(strlen(st)) + 1;
533 uint32_t len = (ulen + 15) & ~15;
534 if ( context->stringHeap->isOwnPtr(st,len) ) {
535 if ( context->stringHeap->isValidPtr(st,len) ) {
536 if ( show ) tp << "\t\tSTRING ";
537 } else {
538 tp << "\t\tSTRING FREE!!! ";
539 show = true;
540 }
541 } else {
542 if ( show ) tp << "\t\tSTRING#!!! ";
543 }
544 if ( show ) {
545 ReportHistory();
546 tp << presentStr(buf, st, 32) << ", len=" << ulen << "(" << len << ") at 0x" << HEX << uint64_t(st) << DEC << "\n";
547 }
548 }
549 void ReportHistory ( void ) {
550 tp << "\t";
551 for (size_t i=0, is=history.size(); i!=is; ++i ) {

Callers

nothing calls this directly

Calls 3

presentStrFunction · 0.85
isValidPtrMethod · 0.80
isOwnPtrMethod · 0.45

Tested by

no test coverage detected