VirtualBox

Changeset 101682 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Oct 31, 2023 12:18:44 PM (15 months ago)
Author:
vboxsync
Message:

VMM/IEM,VBox/err.h: Refactored the native recompiler code to throw/longjmp on errors rather than returning UINT32_MAX/UINT8_MAX. This should make it easier to pinpoint why recompilation fails (we've got an RC) and get rid of hundreds of AssertReturn statements that clutters up the code and introduces lots of unnecessary branches. bugref:10371

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/err.h

    r101035 r101682  
    25082508/** Recompiler: Translation block allocation failed. */
    25092509#define VERR_IEM_TB_ALLOC_FAILED                    (-5312)
     2510/** Recompiler: Too deeply nested conditionals. */
     2511#define VERR_IEM_COND_TOO_DEEPLY_NESTED             (-5313)
     2512/** Recompiler: Failed to reconcile the register/variable state on endif. */
     2513#define VERR_IEM_COND_ENDIF_RECONCILIATION_FAILED   (-5314)
     2514/** Recompiler: Failed to allocate more memory for debug info. */
     2515#define VERR_IEM_DBGINFO_OUT_OF_MEMORY              (-5315)
     2516/** Recompiler: Debug info internal processing error \#1. */
     2517#define VERR_IEM_DBGINFO_IPE_1                      (-5316)
     2518/** Recompiler: Debug info internal processing error \#2. */
     2519#define VERR_IEM_DBGINFO_IPE_2                      (-5317)
     2520/** Recompiler: Fixup internal processing error \#1. */
     2521#define VERR_IEM_FIXUP_IPE_1                        (-5318)
     2522/** Recompiler: Too many fixups. */
     2523#define VERR_IEM_FIXUP_TOO_MANY                     (-5319)
     2524/** Recompiler: Out of memory. */
     2525#define VERR_IEM_FIXUP_OUT_OF_MEMORY                (-5320)
     2526/** Recompiler: Hit instruction buffer size limit. */
     2527#define VERR_IEM_INSTR_BUF_TOO_LARGE                (-5321)
     2528/** Recompiler: Out of memory for the instruction buffer (regular heap). */
     2529#define VERR_IEM_INSTR_BUF_OUT_OF_MEMORY            (-5322)
     2530/** Recompiler: Too many labels. */
     2531#define VERR_IEM_LABEL_TOO_MANY                     (-5323)
     2532/** Recompiler: Out of memory for labels.   */
     2533#define VERR_IEM_LABEL_OUT_OF_MEMORY                (-5324)
     2534/** Recompiler: Label internal processing error \#1. */
     2535#define VERR_IEM_LABEL_IPE_1                        (-5325)
     2536/** Recompiler: Label internal processing error \#2. */
     2537#define VERR_IEM_LABEL_IPE_2                        (-5326)
     2538/** Recompiler: Label internal processing error \#3. */
     2539#define VERR_IEM_LABEL_IPE_3                        (-5327)
     2540/** Recompiler: Label internal processing error \#4. */
     2541#define VERR_IEM_LABEL_IPE_4                        (-5328)
     2542/** Recompiler: Label internal processing error \#5. */
     2543#define VERR_IEM_LABEL_IPE_5                        (-5329)
     2544/** Recompiler: Label internal processing error \#6. */
     2545#define VERR_IEM_LABEL_IPE_6                        (-5330)
     2546/** Recompiler: Label internal processing error \#7. */
     2547#define VERR_IEM_LABEL_IPE_7                        (-5331)
     2548
     2549/** Recompiler: Out of host register. */
     2550#define VERR_IEM_REG_OUT_OF_REGISTERS               (-5340)
     2551/** Recompiler: No temporary host register available. */
     2552#define VERR_IEM_REG_ALLOCATOR_NO_FREE_TMP          (-5341)
     2553/** Recompiler: Register allocator internal processing error \#1. */
     2554#define VERR_IEM_REG_IPE_1                          (-5342)
     2555/** Recompiler: Register allocator internal processing error \#2. */
     2556#define VERR_IEM_REG_IPE_2                          (-5343)
     2557/** Recompiler: Register allocator internal processing error \#3. */
     2558#define VERR_IEM_REG_IPE_3                          (-5344)
     2559/** Recompiler: Register allocator internal processing error \#4. */
     2560#define VERR_IEM_REG_IPE_4                          (-5345)
     2561/** Recompiler: Register allocator internal processing error \#5. */
     2562#define VERR_IEM_REG_IPE_5                          (-5346)
     2563/** Recompiler: Register allocator internal processing error \#6. */
     2564#define VERR_IEM_REG_IPE_6                          (-5347)
     2565/** Recompiler: Register allocator internal processing error \#7. */
     2566#define VERR_IEM_REG_IPE_7                          (-5348)
     2567/** Recompiler: Register allocator internal processing error \#8. */
     2568#define VERR_IEM_REG_IPE_8                          (-5349)
     2569
     2570/** Recompiler: Unimplemented case. */
     2571#define VERR_IEM_EMIT_CASE_NOT_IMPLEMENTED_1        (-5360)
    25102572
    25112573/** Restart the current instruction. For testing only. */
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