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 … rawStack->freeData = *(reinterpret_cast<uint64_t *>(const_cast<int8_t *>(data))); in ReadShareMemory()
474 rawStack->baseStackData = nullptr; in ReadShareMemory()
477 rawStack->freeData = 0; in ReadShareMemory()
480 rawStack->baseStackData = std::make_unique<uint8_t[]>(size); in ReadShareMemory()
481 CHECK_TRUE(memcpy_s(rawStack->baseStackData.get(), size, data, size) == EOK, false, in ReadShareMemory()
484 … rawStack->stackConext = reinterpret_cast<BaseStackRawData*>(rawStack->baseStackData.get()); in ReadShareMemory()
486 if (rawStack->stackConext->type == NMD_MSG && printMallocNmd_) { in ReadShareMemory()
487 rawStack->data = rawStack->baseStackData.get() + sizeof(BaseStackRawData); in ReadShareMemory()
488 const char* nmdResult = reinterpret_cast<const char*>(rawStack->data); in ReadShareMemory()
492 } else if (rawStack->stackConext->type == END_MSG) { in ReadShareMemory()
495 rawStack->data = rawStack->baseStackData.get() + sizeof(BaseStackRawData); in ReadShareMemory()
496 rawStack->reportFlag = true; in ReadShareMemory()
497 … if (rawStack->stackConext->type == MEMORY_TAG || rawStack->stackConext->type == THREAD_NAME_MSG || in ReadShareMemory()
498 … rawStack->stackConext->type == MMAP_FILE_TYPE || rawStack->stackConext->type == PR_SET_VMA_MSG || in ReadShareMemory()
499 rawStack->stackConext->type == JS_STACK_MSG) { in ReadShareMemory()
502 rawStack->reduceStackFlag = false; in ReadShareMemory()
504 rawStack->fpDepth = (size - sizeof(BaseStackRawData)) / sizeof(uint64_t); in ReadShareMemory()
505 if (rawStack->stackConext->jsChainId > 0) { in ReadShareMemory()
506 … rawStack->jsStackData = hookCtx->stackPreprocess->GetJsRawStack(rawStack->stackConext->jsChainId); in ReadShareMemory()
513 rawStack->stackSize = size - rawRealSize; in ReadShareMemory()
514 if (rawStack->stackSize > 0) { in ReadShareMemory()
515 rawStack->stackData = rawStack->baseStackData.get() + rawRealSize; in ReadShareMemory()
522 if (rawStack->baseStackData == nullptr) { in ReadShareMemory()
523 FlushRawStackArray(hookCtx, rawStack); in ReadShareMemory()
526 if (rawStack->stackConext->type == MEMORY_TAG) { in ReadShareMemory()
527 std::string tagName = reinterpret_cast<char*>(rawStack->data); in ReadShareMemory()
528 hookCtx->stackPreprocess->SaveMemTag(rawStack->stackConext->tagId, tagName); in ReadShareMemory()
530 } else if (rawStack->stackConext->type == JS_STACK_MSG) { in ReadShareMemory()
531 hookCtx->stackPreprocess->SaveJsRawStack(rawStack->stackConext->jsChainId, in ReadShareMemory()
532 reinterpret_cast<char*>(rawStack->data)); in ReadShareMemory()
534 } 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()