VirtualBox

Changeset 40892 in vbox for trunk/src/bldprogs/VBoxTpG.cpp


Ignore:
Timestamp:
Apr 12, 2012 12:12:40 PM (13 years ago)
Author:
vboxsync
Message:

64-bit probe arguments (on mac)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bldprogs/VBoxTpG.cpp

    r40887 r40892  
    516516                    "                ;0         1         2         3\n"
    517517                    "                ;012345678901234567890123456789012\n"
    518                     "    db          'VTG Object Header v1.3', 0, 0\n"
     518                    "    db          'VTG Object Header v1.4', 0, 0\n"
    519519                    "    dd          %u\n"
    520520                    "    dd          0\n"
     
    607607            ScmStreamPrintf(pStrm,
    608608                            "    ; off=%u\n"
    609                             "    db   %2u     ; Argument count\n"
    610                             "    db   %u      ; fHaveLargeArgs\n"
    611                             "    db  0, 0    ; Reserved\n"
     609                            "    db        %2u  ; Argument count\n"
     610                            "    db         %u  ; fHaveLargeArgs\n"
     611                            "    db      0, 0  ; Reserved\n"
    612612                            , off, pProbe->cArgs, (int)pProbe->fHaveLargeArgs);
    613613            off += 4;
     
    615615            {
    616616                ScmStreamPrintf(pStrm,
    617                                 "    dd %6u   ; type '%s' (name '%s')\n"
     617                                "    dd  %8u  ; type '%s' (name '%s')\n"
    618618                                "    dd 0%08xh ; type flags\n",
    619619                                strtabGetOff(pArg->pszType), pArg->pszType, pArg->pszName,
     
    679679                            "    dw NAME(g_fVTGProbeEnabled_%s_%s) - NAME(g_afVTGProbeEnabled)\n"
    680680                            "    dw %6u  ; provider index\n"
    681                             "    dd 0       ; for the application\n"
     681                            "    dd NAME(g_VTGObjHeader) - NAME(g_VTGProbeData_%s_%s) ; offset to the object header\n"
     682                            "    dd      0  ; for the application\n"
     683                            "    dd      0  ; for the application\n"
    682684                            ,
    683685                            pProvider->pszName, pProbe->pszMangledName, iProbe,
     
    685687                            pProbe->offArgList,
    686688                            pProvider->pszName, pProbe->pszMangledName,
    687                             iProvider);
     689                            iProvider,
     690                            pProvider->pszName, pProbe->pszMangledName
     691                            );
    688692            pProbe->iProbe = iProbe;
    689693            iProbe++;
     
    974978            RTListForEach(&pProbe->ArgHead, pArg, VTGARG, ListEntry)
    975979            {
    976                 if (iArg < 5)
    977                 {
    978                     if (pArg->fType & VTG_TYPE_FIXED_SIZED)
    979                         ScmStreamPrintf(pStrm,
    980                                         "        /*AssertCompile(sizeof(%s) <= sizeof(uint32_t));*/ \\\n"
    981                                         "        /*AssertCompile(sizeof(%s) <= sizeof(uint32_t));*/ \\\n",
    982                                         pArg->pszName,
    983                                         pArg->pszType);
    984                     else
    985                         ScmStreamPrintf(pStrm,
    986                                         "        AssertCompile(sizeof(%s) <= sizeof(uintptr_t)); \\\n"
    987                                         "        AssertCompile(sizeof(%s) <= sizeof(uintptr_t)); \\\n",
    988                                         pArg->pszName,
    989                                         pArg->pszType);
    990                 }
     980                if (pArg->fType & VTG_TYPE_FIXED_SIZED)
     981                    ScmStreamPrintf(pStrm,
     982                                    "        AssertCompile(sizeof(%s) == %u); \\\n"
     983                                    "        AssertCompile(sizeof(%s) <= %u); \\\n",
     984                                    pArg->pszType, pArg->fType & VTG_TYPE_SIZE_MASK,
     985                                    pArg->pszName, pArg->fType & VTG_TYPE_SIZE_MASK);
     986                else if (pArg->fType & (VTG_TYPE_POINTER | VTG_TYPE_HC_ARCH_SIZED))
     987                    ScmStreamPrintf(pStrm,
     988                                    "        AssertCompile(sizeof(%s) <= sizeof(uintptr_t)); \\\n"
     989                                    "        AssertCompile(sizeof(%s) <= sizeof(uintptr_t)); \\\n",
     990                                    pArg->pszName,
     991                                    pArg->pszType);
    991992                iArg++;
    992993            }
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