VirtualBox

Ignore:
Timestamp:
Jun 12, 2012 3:22:43 PM (12 years ago)
Author:
vboxsync
Message:

DISInstr* -> DISInstrToStr + cbOutput argument.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/CSAM.cpp

    r41662 r41671  
    762762
    763763DECLINLINE(int) CSAMR3DISInstr(PVM pVM, RTRCPTR InstrGC, uint8_t *InstrHC, DISCPUMODE enmCpuMode,
    764                                PDISCPUSTATE pCpu, uint32_t *pcbInstr, char *pszOutput)
     764                               PDISCPUSTATE pCpu, uint32_t *pcbInstr, char *pszOutput, size_t cbOutput)
    765765{
    766766    (pCpu)->apvUserData[1] = InstrHC;
    767767    (pCpu)->apvUserData[2] = (void *)(uintptr_t)InstrGC; Assert(sizeof(InstrGC) <= sizeof(pCpu->apvUserData[0]));
    768768#ifdef DEBUG
    769     return DISInstrEx(InstrGC, 0, enmCpuMode, CSAMR3ReadBytes, pVM, OPTYPE_ALL,
    770                       pCpu, pcbInstr, pszOutput);
     769    return DISInstrToStrEx(InstrGC, enmCpuMode, CSAMR3ReadBytes, pVM, OPTYPE_ALL,
     770                           pCpu, pcbInstr, pszOutput, cbOutput);
    771771#else
    772772    /* We are interested in everything except harmless stuff */
    773     return DISInstrEx(InstrGC, 0, enmCpuMode, CSAMR3ReadBytes, pVM, ~(OPTYPE_INVALID | OPTYPE_HARMLESS | OPTYPE_RRM_MASK),
    774                       pCpu, pcbInstr, pszOutput);
     773    if (pszOutput)
     774        return DISInstrToStrEx(InstrGC, enmCpuMode, CSAMR3ReadBytes, pVM, ~(OPTYPE_INVALID | OPTYPE_HARMLESS | OPTYPE_RRM_MASK),
     775                               pCpu, pcbInstr, pszOutput, cbOutput);
     776    return DISCoreOneExEx(InstrGC, enmCpuMode, CSAMR3ReadBytes, pVM, ~(OPTYPE_INVALID | OPTYPE_HARMLESS | OPTYPE_RRM_MASK),
     777                          pCpu, pcbInstr);
    775778#endif
    776779}
     
    869872
    870873                rc = CSAMR3DISInstr(pVM, pCurInstrGC, pCurInstrHC, (fCode32) ? CPUMODE_32BIT : CPUMODE_16BIT,
    871                                     &cpu, &opsize, NULL);
     874                                    &cpu, &opsize, NULL, 0);
    872875            }
    873876            AssertRC(rc);
     
    10521055#ifdef DEBUG
    10531056                rc2 = CSAMR3DISInstr(pVM, pCurInstrGC, pCurInstrHC, (fCode32) ? CPUMODE_32BIT : CPUMODE_16BIT,
    1054                                      &cpu, &opsize, szOutput);
     1057                                     &cpu, &opsize, szOutput, sizeof(szOutput));
    10551058                if (RT_SUCCESS(rc2)) Log(("CSAM Call Analysis: %s", szOutput));
    10561059#else
    10571060                rc2 = CSAMR3DISInstr(pVM, pCurInstrGC, pCurInstrHC, (fCode32) ? CPUMODE_32BIT : CPUMODE_16BIT,
    1058                                      &cpu, &opsize, NULL);
     1061                                     &cpu, &opsize, NULL, 0);
    10591062#endif
    10601063                STAM_PROFILE_STOP(&pVM->csam.s.StatTimeDisasm, a);
     
    12651268#ifdef DEBUG
    12661269            rc2 = CSAMR3DISInstr(pVM, pCurInstrGC, pCurInstrHC, fCode32 ? CPUMODE_32BIT : CPUMODE_16BIT,
    1267                                  &cpu, &opsize, szOutput);
     1270                                 &cpu, &opsize, szOutput, sizeof(szOutput));
    12681271            if (RT_SUCCESS(rc2)) Log(("CSAM Analysis: %s", szOutput));
    12691272#else
    12701273            rc2 = CSAMR3DISInstr(pVM, pCurInstrGC, pCurInstrHC, fCode32 ? CPUMODE_32BIT : CPUMODE_16BIT,
    1271                                  &cpu, &opsize, NULL);
     1274                                 &cpu, &opsize, NULL, 0);
    12721275#endif
    12731276            STAM_PROFILE_STOP(&pVM->csam.s.StatTimeDisasm, a);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette