/**
 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Autogenerated file -- DO NOT EDIT!
// NOLINTNEXTLINE(readability-function-size)
Graph* GenerateIntrinsicOperation(Inst* inst) {
    auto graph = CreateGraphWithOneBasicBlock();
    auto intrinsicInst = inst->CastToIntrinsic();
    switch (intrinsicInst->GetIntrinsicId()) {
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_ABS_I32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_ABS_I64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_ABS_F32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_ABS_F64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_MIN_I32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_MIN_I64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_MIN_F32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_MIN_F64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_MAX_I32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_MAX_I64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_MAX_F32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_MAX_F64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DOUBLE_IS_INF: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT_IS_INF: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_SIN_F32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_SIN_F64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_COS_F32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_COS_F64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_POW_F32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_POW_F64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_SQRT_F32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_SQRT_F64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_CALCULATE_DOUBLE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 0));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_MATH_CALCULATE_FLOAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 0));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_IO_PRINT_STRING: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_IO_PRINT_F32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_IO_PRINT_F64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_IO_PRINT_I32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_IO_PRINT_U32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 0));
                    intrinsicInst->AddInputType(DataType::UINT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_IO_PRINT_I64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_IO_PRINT_U64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT64, 0));
                    intrinsicInst->AddInputType(DataType::UINT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_SYSTEM_COMPILE_METHOD: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_SYSTEM_EXIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_SYSTEM_NANO_TIME: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_SYSTEM_ASSERT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 0));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_SYSTEM_ASSERT_PRINT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 0));
                    intrinsicInst->AddInputType(DataType::BOOL);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_SYSTEM_SCHEDULE_COROUTINE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_SYSTEM_COROUTINE_GET_WORKER_ID: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CHECK_TAG: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONVERT_STRING_TO_I32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONVERT_STRING_TO_U32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONVERT_STRING_TO_I64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONVERT_STRING_TO_U64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONVERT_STRING_TO_F32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONVERT_STRING_TO_F64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_OBJECT_CREATE_NON_MOVABLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_OBJECT_MONITOR_ENTER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_OBJECT_MONITOR_EXIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_OBJECT_WAIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_OBJECT_TIMED_WAIT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT64, 1));
                    intrinsicInst->AddInputType(DataType::UINT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_OBJECT_TIMED_WAIT_NANOS: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT64, 1));
                    intrinsicInst->AddInputType(DataType::UINT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT64, 2));
                    intrinsicInst->AddInputType(DataType::UINT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_OBJECT_NOTIFY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_OBJECT_NOTIFY_ALL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ANY_LDBYNAME: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ANY_STBYNAME: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_SIN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_COS: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_POWER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_SQRT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ABS: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ABS_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ABS_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ABS_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_MAX_I32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_MAX_I64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_MAX_F32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_MAX_F64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_MIN_I32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_MIN_I64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_MIN_F32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_MIN_F64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_RANDOM: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ACOS: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ACOS_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ACOSH: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ACOSH_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ASIN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ASIN_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ASINH: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ASINH_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ATAN2: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ATAN2_FLOAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ATANH: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ATANH_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ATAN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ATAN_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_SINH: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_SINH_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_COSH: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_COSH_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_FLOOR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_ROUND: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_TRUNC: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_CBRT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_CBRT_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_TAN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_TAN_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_TANH: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_TANH_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_EXP: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_EXP_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_LOG10: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_LOG10_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_EXPM1: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_EXPM1_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_CEIL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_LOG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_LOG_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_REM: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_MOD: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_CLZ64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_CLZ32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_CLZ32_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_SIGNBIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_IMUL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_FROUND: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_HYPOT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MATH_HYPOT_FLOAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONSOLE_PRINT_STRING: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LOAD_LIBRARY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LOAD_LIBRARY_WITH_PERMISSION_CHECK: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_INITIALIZE_PRIMITIVES_IN_CLASS: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_JSON_STRINGIFY_FAST: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_GET_CHARS: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_GET_BYTES: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_GET_LENGTH: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_LENGTH: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_IS_EMPTY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_CHAR_AT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_EQUALS: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_NORMALIZE_NFC: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_NORMALIZE_NFD: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_NORMALIZE_NFKC: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_NORMALIZE_NFKD: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_TO_LOWER_CASE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_TO_UPPER_CASE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_TO_LOCALE_LOWER_CASE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_TO_LOCALE_UPPER_CASE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_IS_WELL_FORMED: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_INDEX_OF: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 1));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_INDEX_OF_AFTER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 1));
                    intrinsicInst->AddInputType(DataType::UINT16);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_INDEX_OF_STRING: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_LAST_INDEX_OF: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 1));
                    intrinsicInst->AddInputType(DataType::UINT16);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_LAST_INDEX_OF_STRING: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_SUBSTRING: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_CODE_POINT_TO_CHAR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_IS_COMPRESSED: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_CONCAT2: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_CONCAT3: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_CONCAT4: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_COMPARE_TO: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_TRIM_LEFT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_TRIM_RIGHT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_TRIM: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_STARTS_WITH: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_ENDS_WITH: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_FROM_CHAR_CODE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_FROM_CHAR_CODE_SINGLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_REPEAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STRING_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_TO_STRING_BOOLEAN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 0));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_TO_STRING_BYTE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 0));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_TO_STRING_CHAR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_TO_STRING_SHORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 0));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_TO_STRING_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_TO_STRING_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_FLOAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_DOUBLE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_LONG: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_SHORT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 1));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_BYTE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 1));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_CHAR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 1));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_BOOL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_STRING: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_STRING2: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_STRING3: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_APPEND_STRING4: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 4));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SB_TO_STRING: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_MATH_MAX: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_MATH_MIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_MATH_RANDOM: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_JSON_GET_JSON_STRINGIFY_IGNORE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_JSON_GET_JSON_PARSE_IGNORE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_JSON_GET_JSON_RENAME: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_DATE_NOW: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_DATE_GET_LOCAL_TIMEZONE_OFFSET: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_DATE_GET_TIMEZONE_NAME: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_SET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_JOIN: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_INTERNAL_ARRAY_INDEX_OF: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_INTERNAL_LAST_INDEX_OF: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_FILL_IMPL: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_SET_UNSAFE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_UNSHIFT_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_REVERSE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_IS_PLATFORM_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_GET_BUFFER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MAP_SAME_VALUE_ZERO: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MAP_IS_SAME_REFERENCE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_WEAK_MAP_VALIDATE_KEY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_BUFFER_AT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_BUFFER_SET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 2));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_BUFFER_SET_VALUES: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_BUFFER_ALLOCATE_NON_MOVABLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_BUFFER_GET_ADDRESS: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_BUFFER_FROM_ENCODED_STRING: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ARRAY_BUFFER_FROM_BUFFER_SLICE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ETS_STRING_BYTES_LENGTH: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ETS_ARRAY_BUFFER_TO_STRING: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ETS_ARRAY_BUFFER_REGISTER_WEAK_REF: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 2));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ETS_ARRAY_BUFFER_UNREGISTER_WEAK_REF: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_SET_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_SET_BYTE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 2));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_SET_VALUES_FROM_UNSIGNED: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 1));
                    intrinsicInst->AddInputType(DataType::INT8);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_SET_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_SET_SHORT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 2));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_SET_VALUES_FROM_UNSIGNED: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 1));
                    intrinsicInst->AddInputType(DataType::INT16);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_SET_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_SET_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 2));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_SET_FLOAT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_CONTAINS_NA_N: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_SET_DOUBLE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_CONTAINS_NA_N: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_SET_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_CLAMPED_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_CLAMPED_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_CLAMPED_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_SET_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_ARRAY_SET_VALUES_FROM_SINGED: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_SET_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT16_ARRAY_SET_VALUES_FROM_SIGNED: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT16_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT16_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT16_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_SET_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_SET_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 2));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT32_ARRAY_SET_VALUES_FROM_SIGNED: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT32_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT32_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT32_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_SET_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_SET_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 2));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_GET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_GET_UNSAFE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_SET_VALUES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_SET_VALUES_WITH_OFFSET: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_UINT64_ARRAY_SET_VALUES_FROM_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_FILL_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_UINT64_ARRAY_SORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_UINT64_ARRAY_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_REVERSE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRA_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_REVERSE_COPY_BUFFER: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_COPY_WITHIN_IMPL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_LAST_INDEX_OF_NUMBER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT16_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT32_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_U_INT64_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_U_INT8_CLAMPED_ARRAY_LAST_INDEX_OF_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_OF_BYTE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_OF_SHORT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_OF_BIG_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_OF_LONG: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_INT64_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_OF_FLOAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT32_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_FLOAT64_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_CLAMPED_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_CLAMPED_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_CLAMPED_ARRAY_OF_SHORT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_ARRAY_OF_SHORT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT16_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT16_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT32_ARRAY_OF_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT32_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT32_ARRAY_OF_LONG: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_UINT64_ARRAY_OF_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_UINT64_ARRAY_OF_LONG: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_BIG_UINT64_ARRAY_OF_BIG_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_CLAMPED_ARRAY_TO_UINT8_CLAMPED: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TASKPOOL_GENERATE_ID: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TASKPOOL_GET_TASK_ID: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TASKPOOL_SET_TASK_ID: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TASKPOOL_GENERATE_GROUP_ID: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TASKPOOL_IS_USING_LAUNCH: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TASKPOOL_IS_SUPPORT_INTEROP: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TASKPOOL_GENERATE_SEQUENCE_RUNNER_ID: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TASKPOOL_GENERATE_ASYNC_RUNNER_ID: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TASKPOOL_GET_TASK_POOL_WORKERS_LIMIT: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_TIME_DATE_NANO_NOW: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_TIME_CHRONO_GET_CPU_TIME: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FLOAT_TO_STRING: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FLOAT_IS_NAN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FLOAT_IS_FINITE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FLOAT_BIT_CAST_FROM_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FLOAT_BIT_CAST_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FLOAT_IS_INTEGER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FLOAT_IS_SAFE_INTEGER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_FLOAT_TO_SHORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_FLOAT_TO_BYTE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_FLOAT_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_FLOAT_TO_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_FLOAT_TO_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_DOUBLE_TO_STRING: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_PARSE_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_PARSE_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_TO_EXPONENTIAL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_TO_EXPONENTIAL_WITH_NO_DIGIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_TO_PRECISION: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_TO_FIXED: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_NUMBER_FROM_STRING: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_DOUBLE_IS_NAN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_DOUBLE_IS_FINITE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_DOUBLE_BIT_CAST_FROM_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_DOUBLE_BIT_CAST_TO_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_DOUBLE_IS_INTEGER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_DOUBLE_IS_SAFE_INTEGER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_TO_SHORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_TO_BYTE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT32_ARRAY_DOUBLE_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT16_ARRAY_DOUBLE_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INT8_ARRAY_DOUBLE_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT32_ARRAY_DOUBLE_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT16_ARRAY_DOUBLE_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UINT8_ARRAY_DOUBLE_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_TO_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_TO_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_WRITE_INT8: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 1));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_WRITE_INT16: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 1));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_WRITE_INT32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_WRITE_INT64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_WRITE_BOOLEAN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_WRITE_FLOAT32: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_WRITE_FLOAT64: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_WRITE_NUMBER: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_WRITE_STRING: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_READ_BOOLEAN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_READ_INT8: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_READ_INT16: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_READ_INT32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_READ_INT64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_READ_FLOAT32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_READ_FLOAT64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_READ_NUMBER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_READ_STRING: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_UNSAFE_MEMORY_GET_STRING_SIZE_IN_BYTES: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_ALLOC_GENERIC_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BOOL_COPY_TO: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_COPY_TO: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BYTE_COPY_TO: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SHORT_COPY_TO: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_INT_COPY_TO: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LONG_COPY_TO: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_OBJECT_COPY_TO: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_OBJECT_FAST_COPY_TO_UNCHECKED: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_OBJECT_FAST_COPY_TO_UNCHECKED_WITH_BARRIERS: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_FLOAT_COPY_TO: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_DOUBLE_COPY_TO: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_PRINT_STACK_TRACE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STACK_TRACE_LINES: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_STACK_TRACE_PROVISION_STACK_TRACE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_EXIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REGISTER_TIMER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLEAR_TIMER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_START_GC: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_WAIT_FOR_FINISH_GC: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_SCHEDULE_GC_AFTER_NTH_ALLOC: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_IS_SCHEDULED_GC_TRIGGERED: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_POSTPONE_GC_START: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_POSTPONE_GC_END: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_ALLOCATE_PINNED_BOOLEAN_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_ALLOCATE_PINNED_BYTE_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_ALLOCATE_PINNED_CHAR_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_ALLOCATE_PINNED_SHORT_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_ALLOCATE_PINNED_INT_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_ALLOCATE_PINNED_LONG_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_ALLOCATE_PINNED_FLOAT_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_ALLOCATE_PINNED_DOUBLE_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_GET_OBJECT_SPACE_TYPE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_GET_OBJECT_ADDRESS: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GET_OBJECT_SIZE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_PIN_OBJECT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_UNPIN_OBJECT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GET_FREE_HEAP_SIZE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GET_USED_HEAP_SIZE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GET_RESERVED_HEAP_SIZE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_REGISTER_NATIVE_ALLOCATION: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_GC_REGISTER_NATIVE_FREE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FINALIZATION_REGISTRY_GET_WORKER_ID: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FINALIZATION_REGISTRY_GET_WORKER_DOMAIN: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_FINALIZATION_REGISTRY_FINISH_CLEANUP: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_JOB_AWAIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_JOB_FINISH: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_JOB_FAIL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_PROMISE_RESOLVE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_PROMISE_REJECT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_PROMISE_SUBMIT_CALLBACK: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_PROMISE_AWAIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_SCHEDULE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MUTEX_LOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_MUTEX_UNLOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_EVENT_WAIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_EVENT_FIRE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COND_VAR_WAIT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COND_VAR_NOTFIY_ONE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COND_VAR_NOTIFY_ALL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_QUEUE_SPINLOCK_GUARD: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_READ_LOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_READ_UNLOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_WRITE_LOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_WRITE_UNLOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_ADD_I8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_AND_I8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_COMPARE_EXCHANGE_I8: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 4));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_EXCHANGE_I8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_LOAD_I8: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFERR_I8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_STORE_I8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_SUB_I8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_XOR_I8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_ADD_I16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_AND_I16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_COMPARE_EXCHANGE_I16: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 4));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_EXCHANGE_I16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_LOAD_I16: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_OR_I16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_STORE_I16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_SUB_I16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_XOR_I16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_ADD_I32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_AND_I32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_COMPARE_EXCHANGE_I32: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_EXCHANGE_I32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_LOAD_I32: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_OR_I32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_STORE_I32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_SUB_I32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_XOR_I32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_ADD_I64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_AND_I64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_COMPARE_EXCHANGE_I64: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 4));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_EXCHANGE_I64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_LOAD_I64: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_OR_I64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_STORE_I64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_SUB_I64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_XOR_I64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_ADD_U8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_AND_U8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_COMPARE_EXCHANGE_U8: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 4));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_EXCHANGE_U8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_LOAD_U8: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_OR_U8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_STORE_U8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_SUB_U8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_XOR_U8: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 3));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_ADD_U16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_AND_U16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_COMPARE_EXCHANGE_U16: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 4));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_EXCHANGE_U16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_LOAD_U16: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_OR_U16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_STORE_U16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_SUB_U16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_XOR_U16: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 3));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_ADD_U32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_AND_U32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_COMPARE_EXCHANGE_U32: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_EXCHANGE_U32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_LOAD_U32: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_OR_U32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_STORE_U32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_SUB_U32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_XOR_U32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_ADD_U64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_AND_U64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_COMPARE_EXCHANGE_U64: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 4));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_EXCHANGE_U64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_LOAD_U64: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_OR_U64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_STORE_U64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_SUB_U64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ARRAY_BUFFER_XOR_U64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 3));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_GET_WORKER_ID: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_TASK_POOL_IS_SUPPORTING_INTEROP: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_TASK_POOL_IS_USING_LAUNCH_MODE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_SET_SCHEDULING_POLICY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_GET_COROUTINE_ID: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_IS_MAIN_WORKER: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_WORKER_HAS_EXTERNAL_SCHEDULER: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_SCALE_WORKERS_POOL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_STOP_TASKPOOL: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_INCREASE_TASKPOOL_WORKERS_TO_N: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_SET_TASK_POOL_TRIGGER_SHRINK_INTERVAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_SET_TASK_POOL_IDLE_THRESHOLD: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_GET_TASK_POOL_WORKERS_NUM: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_SET_TASK_POOL_WORKERS_LIMIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_RETRIGGER_TASK_POOL_SHRINK: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_GET_TASK_POOL_WORKERS_LIMIT: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_IS_EXTERNAL_TIMER_ENABLED: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_COROUTINE_DUMP_UNHANDLED_FAILED_JOBS: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_ATOMIC_FLAG_SET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_ATOMIC_FLAG_GET: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_IS_LITTLE_ENDIAN_PLATFORM: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_RUNTIME_GET_HASH_CODE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_RUNTIME_GET_HASH_CODE_BY_VALUE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_RUNTIME_FAILED_TYPE_CAST_EXCL_UNDEFINED_STUB: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_RUNTIME_FAILED_TYPE_CAST_INCL_UNDEFINED_STUB: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_RUNTIME_GET_TYPE_INFO: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_RUNTIME_ALLOC_SAME_TYPE_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_METHOD_GET_RETURN_TYPE_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_METHOD_GET_PARAMETER_TYPE_BY_IDX_IMPL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_METHOD_GET_PARAMETER_TYPES_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_METHOD_GET_PARAMETERS_NUM_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_METHOD_GET_NAME_INTERNAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_METHOD_INVOKE_INTERNAL: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_METHOD_CREATE_INSTANCE_INTERNAL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_FIELD_GET_NAME_INTERNAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_FIELD_GET_TYPE_INTERNAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_FIELD_SET_VALUE_INTERNAL: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_FIELD_GET_VALUE_INTERNAL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_INTERNALS_CREATE_FIXED_ARRAY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_NAME_INTERNAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_LINKER_INTERNAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_IS_NAMESPACE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_FIXED_ARRAY_COMPONENT_TYPE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_OF: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_CURRENT: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_OF_CALLER: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_INITIALIZE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_CREATE_INSTANCE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_DESCRIPTOR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_INSTANCE_METHODS_INTERNAL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_INSTANCE_METHOD_INTERNAL: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 3));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_INSTANCE_FIELD_BY_NAME_INTERNAL: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_STATIC_FIELD_BY_NAME_INTERNAL: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_STATIC_METHODS_INTERNAL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_CONSTRUCTORS_INTERNAL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_INSTANCE_FIELDS_INTERNAL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_STATIC_FIELDS_INTERNAL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_INTERFACES: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_IS_ENUM: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_IS_INTERFACE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_IS_FIXED_ARRAY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_IS_SUBTYPE_OF: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_IS_UNION: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_GET_UNION_CONSTITUENT_TYPES_INTERNAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_IS_FINAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_IS_ABSTRACT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CLASS_IS_PRIMITIVE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_RUNTIME_LINKER_FIND_LOADED_CLASS: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_RUNTIME_LINKER_INITIALIZE_CONTEXT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BOOT_RUNTIME_LINKER_FIND_AND_LOAD_CLASS: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_GET_NEAREST_NON_BOOT_RUNTIME_LINKER: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_ABC_FILE_LOAD_ABC_FILE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_ABC_FILE_LOAD_FROM_MEMORY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_ABC_FILE_LOAD_CLASS: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 3));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_ABC_FILE_GET_FILENAME: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_ABC_RUNTIME_LINKER_LOAD_CLASS_FROM_ABC_FILES: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_ABC_RUNTIME_LINKER_ADD_NEW_ABC_FILES: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REG_EXP_PARSE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_TYPE_KIND: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_IS_VALUE_TYPE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_NULL_TYPE_DESCRIPTOR: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_UNDEFINED_TYPE_DESCRIPTOR: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_CLASS: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_CLASS_ATTRIBUTES: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_FIELDS_NUM: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_OWN_FIELDS_NUM: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_FIELD_PTR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_OWN_FIELD_PTR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_FIELD_PTR_BY_NAME: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_FIELD_DESCRIPTOR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_FIELD_OWNER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_FIELD: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_METHODS_NUM: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_METHOD_DESCRIPTOR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_METHOD: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_CONSTRUCTORS_NUM: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_CONSTRUCTOR_DESCRIPTOR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_ARRAY_ELEMENT_TYPE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_MAKE_ARRAY_INSTANCE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 2));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_INTERFACES_NUM: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_INTERFACE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_IS_INHERITED_FROM: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_FUNCTION_ATTRIBUTES: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_DECLARING_CLASS_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_STATIC_FIELD_VALUE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_SET_STATIC_FIELD_VALUE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_METHOD_INVOKE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_METHOD_INVOKE_CONSTRUCTOR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_FUNCTION_OBJECT_NAME_FROM_ANNOTATION: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_PARAMETERS_NUM: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_RESULT_TYPE_DESCRIPTOR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_PARAMETER_DESCRIPTOR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_PARAMETER: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_TYPE_API_GET_RECEIVER_TYPE_DESCRIPTOR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_TO_BYTE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_TO_SHORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_TO_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_TO_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_TO_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_IS_UPPER_CASE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_TO_UPPER_CASE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_IS_LOWER_CASE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_TO_LOWER_CASE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CHAR_IS_WHITE_SPACE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_OBJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BOOLEAN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BYTE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_CHAR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_SHORT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_LONG: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_FLOAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_DOUBLE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BY_NAME_OBJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BY_NAME_BOOLEAN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BY_NAME_BYTE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BY_NAME_CHAR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BY_NAME_SHORT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BY_NAME_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BY_NAME_LONG: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BY_NAME_FLOAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_FIELD_BY_NAME_DOUBLE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_OBJECT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BOOLEAN: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BYTE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 2));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_CHAR: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 2));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_SHORT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 2));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 2));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_FLOAT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_DOUBLE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BY_NAME_OBJECT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BY_NAME_BOOLEAN: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BY_NAME_BYTE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 2));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BY_NAME_CHAR: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 2));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BY_NAME_SHORT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 2));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BY_NAME_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BY_NAME_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 2));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BY_NAME_FLOAT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_FIELD_BY_NAME_DOUBLE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ARRAY_LENGTH: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_ELEMENT_OBJECT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_ELEMENT_BOOLEAN: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_ELEMENT_BYTE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 2));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_ELEMENT_CHAR: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 2));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_ELEMENT_SHORT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 2));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_ELEMENT_INT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_ELEMENT_LONG: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 2));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_ELEMENT_FLOAT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_SET_ELEMENT_DOUBLE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ELEMENT_OBJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ELEMENT_BOOLEAN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ELEMENT_BYTE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ELEMENT_CHAR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ELEMENT_SHORT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ELEMENT_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ELEMENT_LONG: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ELEMENT_FLOAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_VALUE_API_GET_ELEMENT_DOUBLE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_MUTEX_CREATE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_MUTEX_LOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_MUTEX_UNLOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_EVENT_CREATE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_EVENT_WAIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_EVENT_FIRE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_COND_VAR_CREATE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_COND_VAR_WAIT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_COND_VAR_NOTIFY_ONE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_COND_VAR_NOTIFY_ALL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_SPINLOCK_CREATE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_CONCURRENCY_HELPERS_SPINLOCK_GUARD: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ATOMIC_INT_SET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ATOMIC_INT_GET: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ATOMIC_INT_EXCHANGE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ATOMIC_INT_COMPARE_AND_SWAP: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ATOMIC_INT_FETCH_AND_ADD: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ATOMIC_INT_FETCH_AND_SUB: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_DEBUG_COUNT_INSTANCES_OF_CLASS: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_GET_LOCAL_BOOLEAN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_GET_LOCAL_BYTE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_GET_LOCAL_SHORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_GET_LOCAL_CHAR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_GET_LOCAL_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_GET_LOCAL_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_GET_LOCAL_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_GET_LOCAL_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_GET_LOCAL_OBJECT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_SET_LOCAL_BOOLEAN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_SET_LOCAL_BYTE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 1));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_SET_LOCAL_SHORT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 1));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_SET_LOCAL_CHAR: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 1));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_SET_LOCAL_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_SET_LOCAL_FLOAT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_SET_LOCAL_DOUBLE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_SET_LOCAL_LONG: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_DEBUGGER_API_SET_LOCAL_OBJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ATOMIC_INT_SET: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ATOMIC_INT_GET: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ATOMIC_INT_EXCHANGE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ATOMIC_INT_COMPARE_AND_SWAP: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ATOMIC_INT_FETCH_AND_ADD: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_ATOMIC_INT_FETCH_AND_SUB: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_IS_INTERFACE_LITERAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_REFLECT_IS_FUNC_OBJ_ASYNC: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_CONCURRENCY_HELPERS_MUTEX_CREATE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_CONCURRENCY_HELPERS_MUTEX_LOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_CONCURRENCY_HELPERS_MUTEX_UNLOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_HELPERS_EVENT_CREATE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_HELPERS_EVENT_WAIT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_HELPERS_EVENT_FIRE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_HELPERS_SPINLOCK_CREATE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_HELPERS_SPINLOCK_GUARD: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_CONCURRENCY_HELPERS_COND_VAR_CREATE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ESCOMPAT_CONCURRENCY_HELPERS_COND_VAR_WAIT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_CONCURRENCY_HELPERS_COND_VAR_NOTIFY_ONE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_CONCURRENCY_HELPERS_COND_VAR_NOTIFY_ALL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_NATIVE_ASYNC_WORK_HELPER_ASYNC_WORK_NATIVE_INVOKE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_NATIVE_ASYNC_WORK_HELPER_EVENT_NATIVE_INVOKE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENCY_WORKER_GROUP_GENERATE_GROUP_ID_IMPL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CONCURRENCY_HELPERS_MUTEX_CREATE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CONCURRENCY_HELPERS_MUTEX_LOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_CONCURRENCY_HELPERS_MUTEX_UNLOCK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_EXCLUSIVE_LAUNCHER_LAUNCH: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 1));
                    intrinsicInst->AddInputType(DataType::BOOL);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ETS_EA_WORKER_SET_PRIORITY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ETS_EA_WORKER_JOIN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ETS_LAUNCH_INTERNAL_JOB_NATIVE: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_ETS_LAUNCH_ON_THE_SAME_WORKER: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BYTE_TO_SHORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 0));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BYTE_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 0));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BYTE_TO_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 0));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BYTE_TO_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 0));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BYTE_TO_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 0));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BYTE_TO_CHAR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 0));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_BYTE_PARSE_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SHORT_TO_BYTE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 0));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SHORT_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 0));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SHORT_TO_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 0));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SHORT_TO_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 0));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SHORT_TO_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 0));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SHORT_TO_CHAR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 0));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_SHORT_PARSE_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_INT_TO_SHORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_INT_TO_BYTE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_INT_TO_LONG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_INT_TO_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_INT_TO_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_INT_TO_CHAR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_INT_PARSE_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LONG_TO_SHORT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LONG_TO_BYTE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LONG_TO_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LONG_TO_FLOAT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LONG_TO_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LONG_TO_CHAR: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CORE_LONG_PARSE_INT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_REFLECT_PROXY_GENERATE_PROXY: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_REFLECT_PROXY_HAS_PROXY_FLAG: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_STD_CONCURRENT_MAP_SAME_VALUE_ZERO: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_FINALIZATION_REGISTRY_CALLBACK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_NEW_JS_VALUE_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_NEW_JS_VALUE_BOOLEAN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 0));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_NEW_JS_VALUE_STRING: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_NEW_JS_VALUE_OBJECT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_IS_JS_VALUE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_NEW_JS_VALUE_BIG_INT: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_VALUE_DOUBLE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_VALUE_BOOLEAN: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_VALUE_STRING: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_VALUE_OBJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_PROPERTY_JS_VALUE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_PROPERTY_JS_VALUE_BY_KEY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_PROPERTY_OBJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_PROPERTY_DOUBLE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_PROPERTY_STRING: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_PROPERTY_BOOLEAN: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_SET_PROPERTY_JS_VALUE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIMESET_PROPERTY_OBJECT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_SET_ELEMENT_JS_VALUE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_SET_ELEMENT_OBJECT: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_SET_PROPERTY_DOUBLE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_SET_PROPERTY_STRING: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_SET_PROPERTY_BOOLEAN: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 2));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_ELEMENT_JS_VALUE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_ELEMENT_OBJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_ELEMENT_DOUBLE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_UNDEFINED: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_NULL: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_GLOBAL: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_CREATE_OBJECT: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_CREATE_ARRAY: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_INSTANTIATE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_INSTANCE_OF: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_INSTANCE_OF_DYNAMIC: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_INSTANCE_OF_STATIC: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_INIT_JS_CALL_CLASS: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_INIT_JS_NEW_CLASS: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_LOAD_MODULE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_STRICT_EQUAL: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_SET_PROPERTY: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_IS_STATIC_VALUE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_HAS_PROPERTY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_GET_PROPERTY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_HAS_PROPERTY_OBJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_HAS_ELEMENT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_HAS_OWN_PROPERTY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_HAS_OWN_PROPERTY_OBJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_TYPE_OF: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_IS_PROMISE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_INVOKE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_XGC: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_RUNTIME_INVOKE_DYNAMIC_FUNCTION: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JS_VALUE_TO_STRING: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_JSON_STRINGIFY: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_GET_JS_NAMED_PROPERTY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_GET_JS_PROPERTY: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_GET_JS_ELEMENT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_JS_CALL_CHECK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_JS_CALL_FUNCTION: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_JS_CALL_VOID_FUNCTION: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_JS_NEW_INSTANCE: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 1));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 2));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CREATE_LOCAL_SCOPE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_DESTROY_LOCAL_SCOPE: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_LOAD_JS_CONSTANT_POOL: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_INIT_JS_CALL_CLASS_FOR_CTX: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_VOID_TO_LOCAL: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_U1_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::BOOL, 0));
                    intrinsicInst->AddInputType(DataType::BOOL);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_U8_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT8, 0));
                    intrinsicInst->AddInputType(DataType::UINT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_I8_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 0));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_U16_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT16, 0));
                    intrinsicInst->AddInputType(DataType::UINT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_I16_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 0));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_U32_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 0));
                    intrinsicInst->AddInputType(DataType::UINT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_I32_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 0));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_U64_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT64, 0));
                    intrinsicInst->AddInputType(DataType::UINT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_I64_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_F32_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_F64_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 0));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_REF_TYPE_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_JS_VALUE_TO_LOCAL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_U1: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_U8: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_I8: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_U16: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_I16: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_U32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_I32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_U64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_I64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_F32: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_F64: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_JS_VALUE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_STRING: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_CONVERT_LOCAL_TO_REF_TYPE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_PROMISE_INTEROP_RESOLVE: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_PROMISE_INTEROP_REJECT: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 1));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INTEROP_TRANSFER_HELPER_TRANSFER_ARRAY_BUFFER_TO_STATIC_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INTEROP_TRANSFER_HELPER_TRANSFER_ARRAY_BUFFER_TO_DYNAMIC_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INTEROP_TRANSFER_HELPER_CREATE_DYNAMIC_TYPED_ARRAY: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 3));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INTEROP_TRANSFER_HELPER_CREATE_DYNAMIC_DATA_VIEW: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 1));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 2));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INTEROP_CONTEXT_SET_INTEROP_RUNTIME_LINKER_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INTEROP_CONTEXT_GET_INTEROP_RUNTIME_LINKER_IMPL: {
                size_t inputsCount = 0;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INTEROP_SERIALIZE_HELPER_IS_JS_INTEROP_REF_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INTEROP_SERIALIZE_HELPER_SERIALIZE_HANDLE_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_INTEROP_SERIALIZE_HELPER_DESERIALIZE_HANDLE_IMPL: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 0));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_LD_OBJ_BY_NAME_OBJ: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_LD_OBJ_BY_NAME_I32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_LD_OBJ_BY_NAME_I64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_LD_OBJ_BY_NAME_F32: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_LD_OBJ_BY_NAME_F64: {
                size_t inputsCount = 4;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_ST_OBJ_BY_NAME_OBJ: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 4));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_ST_OBJ_BY_NAME_I8: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT8, 4));
                    intrinsicInst->AddInputType(DataType::INT8);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_ST_OBJ_BY_NAME_I16: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT16, 4));
                    intrinsicInst->AddInputType(DataType::INT16);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_ST_OBJ_BY_NAME_I32: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_ST_OBJ_BY_NAME_I64: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT64, 4));
                    intrinsicInst->AddInputType(DataType::INT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_ST_OBJ_BY_NAME_F32: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT32, 4));
                    intrinsicInst->AddInputType(DataType::FLOAT32);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_ST_OBJ_BY_NAME_F64: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::POINTER, 0));
                    intrinsicInst->AddInputType(DataType::POINTER);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 1));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT32, 2));
                    intrinsicInst->AddInputType(DataType::UINT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 3));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::FLOAT64, 4));
                    intrinsicInst->AddInputType(DataType::FLOAT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_EQUALS: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_STRICT_EQUALS: {
                size_t inputsCount = 2;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_TYPEOF: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_ISTRUE: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_DOUBLE_TO_STRING_DECIMAL: {
                size_t inputsCount = 3;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT64, 1));
                    intrinsicInst->AddInputType(DataType::UINT64);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::UINT64, 2));
                    intrinsicInst->AddInputType(DataType::UINT64);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_NULLCHECK: {
                size_t inputsCount = 1;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                break;
            }
            case RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_MEMMOVE_UNCHECKED_REF: {
                size_t inputsCount = 5;
                if (inst->RequireState()) {
                    inputsCount++;
                }
                intrinsicInst->AllocateInputTypes(&allocator_, inputsCount);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 0));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::REFERENCE, 1));
                    intrinsicInst->AddInputType(DataType::REFERENCE);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 2));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 3));
                    intrinsicInst->AddInputType(DataType::INT32);
                    intrinsicInst->AppendInput(CreateParamInst(graph, DataType::INT32, 4));
                    intrinsicInst->AddInputType(DataType::INT32);
                break;
            }
        default:
            UNREACHABLE();
    }
    AdjustFlags(intrinsicInst->GetIntrinsicId(), inst);
    ASSERT(graph->GetVectorBlocks().size() > 2);
    auto block = graph->GetVectorBlocks()[2];
    if (inst->RequireState()) {
        auto saveState = graph->CreateInstSaveState();
        saveState->SetMethod(reinterpret_cast<RuntimeInterface::MethodPtr>(runtime_.METHOD));
        block->AppendInst(saveState);
        inst->AppendInput(saveState);
        inst->CastToIntrinsic()->AddInputType(DataType::NO_TYPE);
    }
    block->AppendInst(inst);
    Inst* ret = nullptr;
    if (inst->GetType() == DataType::VOID) {
        ret = graph->CreateInstReturnVoid();
    } else {
        ret = graph->CreateInstReturn(inst->GetType(), INVALID_PC, inst);
    }
    block->AppendInst(ret);
    return graph;
}
