2025-07-16 20:09:34 +08:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
namespace SVM.Core
|
|
|
|
|
|
{
|
|
|
|
|
|
[Serializable]
|
|
|
|
|
|
public class DebugSymbol
|
|
|
|
|
|
{
|
|
|
|
|
|
public Dictionary<string, uint> Functions = new Dictionary<string, uint>();
|
|
|
|
|
|
}
|
2025-07-18 12:43:42 +08:00
|
|
|
|
public unsafe class RuntimeBinary
|
2025-07-16 20:09:34 +08:00
|
|
|
|
{
|
2025-07-18 12:43:42 +08:00
|
|
|
|
public SVMProgram* program;
|
2025-07-16 20:09:34 +08:00
|
|
|
|
public SimpleVirtualMachine? BindedMachine;
|
|
|
|
|
|
public DebugSymbol? Symbol;
|
|
|
|
|
|
public bool Invoke(string funcName)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (BindedMachine == null) return false;
|
|
|
|
|
|
if (Symbol == null) return false;
|
|
|
|
|
|
if (!Symbol.Functions.TryGetValue(funcName, out var func))
|
|
|
|
|
|
{
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|