Lines Matching refs:rawStack
450 std::shared_ptr<StackDataRepeater::RawStack>& rawStack) in FlushRawStackArray() argument
452 if (hookCtx == nullptr || rawStack == nullptr) { in FlushRawStackArray()
455 hookCtx->rawDataArray[hookCtx->rawStackCount] = rawStack; in FlushRawStackArray()
468 auto rawStack = hookCtx->stackData->GetRawStack(); in ReadShareMemory() local
472 … CHECK_TRUE(memcpy_s(&rawStack->freeData, sizeof(rawStack->freeData), data, size) == EOK, false, in ReadShareMemory()
475 rawStack->baseStackData = nullptr; in ReadShareMemory()
478 rawStack->freeData = 0; in ReadShareMemory()
481 rawStack->baseStackData = std::make_unique<uint8_t[]>(size); in ReadShareMemory()
482 CHECK_TRUE(memcpy_s(rawStack->baseStackData.get(), size, data, size) == EOK, false, in ReadShareMemory()
485 … rawStack->stackConext = reinterpret_cast<BaseStackRawData*>(rawStack->baseStackData.get()); in ReadShareMemory()
487 if (rawStack->stackConext->type == NMD_MSG && printMallocNmd_) { in ReadShareMemory()
488 rawStack->data = rawStack->baseStackData.get() + sizeof(BaseStackRawData); in ReadShareMemory()
489 const char* nmdResult = reinterpret_cast<const char*>(rawStack->data); in ReadShareMemory()
493 } else if (rawStack->stackConext->type == END_MSG) { in ReadShareMemory()
496 rawStack->data = rawStack->baseStackData.get() + sizeof(BaseStackRawData); in ReadShareMemory()
497 rawStack->reportFlag = true; in ReadShareMemory()
498 … if (rawStack->stackConext->type == MEMORY_TAG || rawStack->stackConext->type == THREAD_NAME_MSG || in ReadShareMemory()
499 … rawStack->stackConext->type == MMAP_FILE_TYPE || rawStack->stackConext->type == PR_SET_VMA_MSG || in ReadShareMemory()
500 rawStack->stackConext->type == JS_STACK_MSG) { in ReadShareMemory()
503 rawStack->reduceStackFlag = false; in ReadShareMemory()
505 rawStack->fpDepth = (size - sizeof(BaseStackRawData)) / sizeof(uint64_t); in ReadShareMemory()
506 if (rawStack->stackConext->jsChainId > 0) { in ReadShareMemory()
507 … rawStack->jsStackData = hookCtx->stackPreprocess->GetJsRawStack(rawStack->stackConext->jsChainId); in ReadShareMemory()
514 rawStack->stackSize = size - rawRealSize; in ReadShareMemory()
515 if (rawStack->stackSize > 0) { in ReadShareMemory()
516 rawStack->stackData = rawStack->baseStackData.get() + rawRealSize; in ReadShareMemory()
523 if (rawStack->baseStackData == nullptr) { in ReadShareMemory()
524 FlushRawStackArray(hookCtx, rawStack); in ReadShareMemory()
527 if (rawStack->stackConext->type == MEMORY_TAG) { in ReadShareMemory()
528 std::string tagName = reinterpret_cast<char*>(rawStack->data); in ReadShareMemory()
529 hookCtx->stackPreprocess->SaveMemTag(rawStack->stackConext->tagId, tagName); in ReadShareMemory()
531 } else if (rawStack->stackConext->type == JS_STACK_MSG) { in ReadShareMemory()
532 hookCtx->stackPreprocess->SaveJsRawStack(rawStack->stackConext->jsChainId, in ReadShareMemory()
533 reinterpret_cast<char*>(rawStack->data)); in ReadShareMemory()
535 } else if (rawStack->stackConext->type == END_MSG) { in ReadShareMemory()
536 if (!hookCtx->stackData->PutRawStack(rawStack, hookCtx->isRecordAccurately)) { in ReadShareMemory()
543 } else if (rawStack->stackConext->type == NMD_MSG) { in ReadShareMemory()
546 FlushRawStackArray(hookCtx, rawStack); in ReadShareMemory()