Repository: dotnet/runtime
File: src/coreclr/tools/Common/Internal/Runtime/ReadyToRunConstants.cs (C#)

Code before:
        MonitorExit                 = 0xF9,

        // JIT32 x86-specific write barriers
        WriteBarrier_EAX            = 0x100,
        WriteBarrier_EBX            = 0x101,
        WriteBarrier_ECX            = 0x102,
        WriteBarrier_ESI            = 0x103,
        WriteBarrier_EDI            = 0x104,
        WriteBarrier_EBP            = 0x105,
        CheckedWriteBarrier_EAX     = 0x106,
        CheckedWriteBarrier_EBX     = 0x107,
        CheckedWriteBarrier_ECX     = 0x108,
        CheckedWriteBarrier_ESI     = 0x109,
        CheckedWriteBarrier_EDI     = 0x10A,
        CheckedWriteBarrier_EBP     = 0x10B,

        // JIT32 x86-specific exception handling
        EndCatch                    = 0x110,

        StackProbe                  = 0x111,

        GetCurrentManagedThreadId   = 0x112,

        AllocContinuation           = 0x113,
        AllocContinuationMethod     = 0x114,
        AllocContinuationClass      = 0x115,

        // **********************************************************************************************
        //
        // These are not actually part of the R2R file format. We have them here because it's convenient.
        //
        // **********************************************************************************************

        // Marker to be used in asserts.
        FirstFakeHelper,

        ThrowArgumentOutOfRange,
        ThrowArgument,
        ThrowPlatformNotSupported,
        ThrowNotImplemented,

        DebugBreak,

        GetRuntimeType,

        CheckCastInterface,
        CheckCastClass,
        CheckCastClassSpecial,
        CheckInstanceInterface,
        CheckInstanceClass,


Review comment (refactor):
The ordering of AllocContinuationMethod and AllocContinuationClass is inconsistent between ReadyToRunConstants.cs and readytorun.h. In ReadyToRunConstants.cs, AllocContinuationMethod has value 0x114 and AllocContinuationClass has value 0x115, but in readytorun.h (lines 470-471), these values are swapped. The enum values must match exactly across both files to ensure correct helper resolution.
```suggestion
        AllocContinuationMethod     = 0x115,
        AllocContinuationClass      = 0x114,
```

Code after:
        MonitorExit                 = 0xF9,

        // JIT32 x86-specific write barriers
        WriteBarrier_EAX            = 0x100,
        WriteBarrier_EBX            = 0x101,
        WriteBarrier_ECX            = 0x102,
        WriteBarrier_ESI            = 0x103,
        WriteBarrier_EDI            = 0x104,
        WriteBarrier_EBP            = 0x105,
        CheckedWriteBarrier_EAX     = 0x106,
        CheckedWriteBarrier_EBX     = 0x107,
        CheckedWriteBarrier_ECX     = 0x108,
        CheckedWriteBarrier_ESI     = 0x109,
        CheckedWriteBarrier_EDI     = 0x10A,
        CheckedWriteBarrier_EBP     = 0x10B,

        // JIT32 x86-specific exception handling
        EndCatch                    = 0x110,

        StackProbe                  = 0x111,

        GetCurrentManagedThreadId   = 0x112,

        AllocContinuation           = 0x113,
        AllocContinuationClass      = 0x114,
        AllocContinuationMethod     = 0x115,

        // **********************************************************************************************
        //
        // These are not actually part of the R2R file format. We have them here because it's convenient.
        //
        // **********************************************************************************************

        // Marker to be used in asserts.
        FirstFakeHelper,

        ThrowArgumentOutOfRange,
        ThrowArgument,
        ThrowPlatformNotSupported,
        ThrowNotImplemented,

        DebugBreak,

        GetRuntimeType,

        CheckCastInterface,
        CheckCastClass,
        CheckCastClassSpecial,
        CheckInstanceInterface,
        CheckInstanceClass,