少年修仙传客户端基础资源
hch
2024-04-01 d01413b00ef631ac20347716b23818b0b811f65f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include "RuntimeConfig.h"
 
#include "vm/Exception.h"
 
namespace hybridclr
{
    static int32_t s_threadObjectStackSize = 1024 * 128;
    static int32_t s_threadFrameStackSize = 1024 * 2;
    static int32_t s_threadExceptionFlowSize = 512;
 
 
 
    int32_t RuntimeConfig::GetRuntimeOption(RuntimeOptionId optionId)
    {
        switch (optionId)
        {    
        case hybridclr::RuntimeOptionId::InterpreterThreadObjectStackSize:
            return s_threadObjectStackSize;
        case hybridclr::RuntimeOptionId::InterpreterThreadFrameStackSize:
            return s_threadFrameStackSize;
        case hybridclr::RuntimeOptionId::InterpreterThreadExceptionFlowSize:
            return s_threadFrameStackSize;
        default:
        {
            TEMP_FORMAT(optionIdStr, "%d", optionId);
            il2cpp::vm::Exception::Raise(il2cpp::vm::Exception::GetArgumentException(optionIdStr, "invalid runtime option id"));
            return 0;
        }
        }
    }
 
    void RuntimeConfig::SetRuntimeOption(RuntimeOptionId optionId, int32_t value)
    {
        switch (optionId)
        {
        case hybridclr::RuntimeOptionId::InterpreterThreadObjectStackSize:
            s_threadObjectStackSize = value;
            break;
        case hybridclr::RuntimeOptionId::InterpreterThreadFrameStackSize:
            s_threadFrameStackSize = value;
            break;
        case hybridclr::RuntimeOptionId::InterpreterThreadExceptionFlowSize:
            s_threadExceptionFlowSize = value;
            break;
        default:
        {
            TEMP_FORMAT(optionIdStr, "%d", optionId);
            il2cpp::vm::Exception::Raise(il2cpp::vm::Exception::GetArgumentException(optionIdStr, "invalid runtime option id"));
            break;
        }
        }
    }
}