Lines Matching refs:pLoc
3472 * @param pLoc The location state structure to initialize.
3476 static int rtDwarfLoc_Init(PRTDWARFLOCST pLoc, PRTDWARFCURSOR pCursor, uint32_t uForm)
3503 int rc = rtDwarfCursor_InitForBlock(&pLoc->Cursor, pCursor, cbBlock);
3506 pLoc->iTop = -1;
3515 * @param pLoc The state.
3518 static int rtDwarfLoc_Push(PRTDWARFLOCST pLoc, uint64_t uValue)
3520 int iTop = pLoc->iTop + 1;
3521 AssertReturn((unsigned)iTop < RT_ELEMENTS(pLoc->auStack), VERR_DWARF_STACK_OVERFLOW);
3522 pLoc->auStack[iTop] = uValue;
3523 pLoc->iTop = iTop;
3528 static int rtDwarfLoc_Evaluate(PRTDWARFLOCST pLoc, void *pvLater, void *pvUser)
3530 while (!rtDwarfCursor_IsAtEndOfUnit(&pLoc->Cursor))
3533 uint8_t const bOpcode = rtDwarfCursor_GetU8(&pLoc->Cursor, 0);
3541 uOperand1 = rtDwarfCursor_GetNativeUOff(&pLoc->Cursor, 0);
3547 uOperand1 = rtDwarfCursor_GetU8(&pLoc->Cursor, 0);
3550 uOperand1 = (int8_t)rtDwarfCursor_GetU8(&pLoc->Cursor, 0);
3553 uOperand1 = rtDwarfCursor_GetU16(&pLoc->Cursor, 0);
3558 uOperand1 = (int16_t)rtDwarfCursor_GetU16(&pLoc->Cursor, 0);
3561 uOperand1 = rtDwarfCursor_GetU32(&pLoc->Cursor, 0);
3564 uOperand1 = (int32_t)rtDwarfCursor_GetU32(&pLoc->Cursor, 0);
3567 uOperand1 = rtDwarfCursor_GetU64(&pLoc->Cursor, 0);
3570 uOperand1 = rtDwarfCursor_GetU64(&pLoc->Cursor, 0);
3576 uOperand1 = rtDwarfCursor_GetULeb128(&pLoc->Cursor, 0);
3588 uOperand1 = rtDwarfCursor_GetSLeb128(&pLoc->Cursor, 0);
3591 uOperand1 = rtDwarfCursor_GetULeb128(&pLoc->Cursor, 0);
3592 uOperand2 = rtDwarfCursor_GetSLeb128(&pLoc->Cursor, 0);
3595 if (RT_FAILURE(pLoc->Cursor.rc))
3613 rc = rtDwarfLoc_Push(pLoc, uOperand1);
3623 rc = rtDwarfLoc_Push(pLoc, bOpcode - DW_OP_lit0);
3686 return pLoc->Cursor.rc;