コード例 #1
0
        public static object Run(uint A_0, string A_1, RuntimeTypeHandle type, string id_, object[] args)
        {
            uint id     = Convert.ToUInt32(id_.Length);
            var  module = Type.GetTypeFromHandle(type).Module;

            return(VMInstance.Instance(module).Run(id, args));
        }
コード例 #2
0
        public static unsafe void Run(uint A_0, string A_1, RuntimeTypeHandle type, string id_, void *[] typedRefs, void *retTypedRef)
        {
            uint id     = Convert.ToUInt32(id_.Length);
            var  module = Type.GetTypeFromHandle(type).Module;

            VMInstance.Instance(module).Run(id, typedRefs, retTypedRef);
        }
コード例 #3
0
        public static VMInstance Instance(Module module)
        {
            VMInstance inst;

            if (instances == null)
            {
                instances = new Dictionary <Module, VMInstance>();
            }
            if (!instances.TryGetValue(module, out inst))
            {
                inst = new VMInstance(VMData.Instance(module));
                instances[module] = inst;
                lock (initLock) {
                    if (!initialized.ContainsKey(module))
                    {
                        inst.Initialize();
                        initialized.Add(module, initialized.Count);
                    }
                }
            }
            return(inst);
        }
コード例 #4
0
 internal static unsafe void RunInternal(uint A_0, string A_1, int moduleId, ulong codeAddr, uint key, uint sigId, void *[] typedRefs,
                                         void *retTypedRef)
 {
     VMInstance.Instance(moduleId).Run(codeAddr, key, sigId, typedRefs, retTypedRef);
 }
コード例 #5
0
 internal static object RunInternal(uint A_0, string A_1, int moduleId, ulong codeAddr, uint key, uint sigId, object[] args)
 {
     return(VMInstance.Instance(moduleId).Run(codeAddr, key, sigId, args));
 }