Rename namespaces
This commit is contained in:
parent
05a3b480b4
commit
362408132c
100 changed files with 204 additions and 204 deletions
|
@ -1,8 +1,8 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class AOpCode : IOpCode
|
class AOpCode : IOpCode
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class Block
|
class Block
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
enum Cond
|
enum Cond
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
enum DataOp
|
enum DataOp
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.Memory;
|
using ChocolArm64.Memory;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using System;
|
using System;
|
||||||
|
@ -6,15 +6,15 @@ using System.Collections.Concurrent;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
static class ADecoder
|
static class Decoder
|
||||||
{
|
{
|
||||||
private delegate object OpActivator(Inst inst, long position, int opCode);
|
private delegate object OpActivator(Inst inst, long position, int opCode);
|
||||||
|
|
||||||
private static ConcurrentDictionary<Type, OpActivator> _opActivators;
|
private static ConcurrentDictionary<Type, OpActivator> _opActivators;
|
||||||
|
|
||||||
static ADecoder()
|
static Decoder()
|
||||||
{
|
{
|
||||||
_opActivators = new ConcurrentDictionary<Type, OpActivator>();
|
_opActivators = new ConcurrentDictionary<Type, OpActivator>();
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ namespace ChocolArm64.Decoder
|
||||||
}
|
}
|
||||||
|
|
||||||
public static (Block[] Graph, Block Root) DecodeSubroutine(
|
public static (Block[] Graph, Block Root) DecodeSubroutine(
|
||||||
TranslatorCache cache,
|
TranslatorCache cache,
|
||||||
CpuThreadState state,
|
CpuThreadState state,
|
||||||
MemoryManager memory,
|
MemoryManager memory,
|
||||||
long start)
|
long start)
|
|
@ -1,6 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
static class DecoderHelper
|
static class DecoderHelper
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
interface IOpCode
|
interface IOpCode
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
interface IOpCodeAlu : IOpCode
|
interface IOpCodeAlu : IOpCode
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
interface IOpCodeAluImm : IOpCodeAlu
|
interface IOpCodeAluImm : IOpCodeAlu
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
interface IOpCodeAluRs : IOpCodeAlu
|
interface IOpCodeAluRs : IOpCodeAlu
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
interface IOpCodeAluRx : IOpCodeAlu
|
interface IOpCodeAluRx : IOpCodeAlu
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
interface IOpCodeCond : IOpCode
|
interface IOpCodeCond : IOpCode
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
interface IOpCodeLit : IOpCode
|
interface IOpCodeLit : IOpCode
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
interface IOpCodeSimd : IOpCode
|
interface IOpCodeSimd : IOpCode
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
enum IntType
|
enum IntType
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeAdr : AOpCode
|
class OpCodeAdr : AOpCode
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeAlu : AOpCode, IOpCodeAlu
|
class OpCodeAlu : AOpCode, IOpCodeAlu
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeAluImm : OpCodeAlu, IOpCodeAluImm
|
class OpCodeAluImm : OpCodeAlu, IOpCodeAluImm
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeAluRs : OpCodeAlu, IOpCodeAluRs
|
class OpCodeAluRs : OpCodeAlu, IOpCodeAluRs
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeAluRx : OpCodeAlu, IOpCodeAluRx
|
class OpCodeAluRx : OpCodeAlu, IOpCodeAluRx
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeBImm : AOpCode
|
class OpCodeBImm : AOpCode
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeBImmAl : OpCodeBImm
|
class OpCodeBImmAl : OpCodeBImm
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeBImmCmp : OpCodeBImm
|
class OpCodeBImmCmp : OpCodeBImm
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeBImmCond : OpCodeBImm, IOpCodeCond
|
class OpCodeBImmCond : OpCodeBImm, IOpCodeCond
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeBImmTest : OpCodeBImm
|
class OpCodeBImmTest : OpCodeBImm
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeBReg : AOpCode
|
class OpCodeBReg : AOpCode
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeBfm : OpCodeAlu
|
class OpCodeBfm : OpCodeAlu
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeCcmp : OpCodeAlu, IOpCodeCond
|
class OpCodeCcmp : OpCodeAlu, IOpCodeCond
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeCcmpImm : OpCodeCcmp, IOpCodeAluImm
|
class OpCodeCcmpImm : OpCodeCcmp, IOpCodeAluImm
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeCcmpReg : OpCodeCcmp, IOpCodeAluRs
|
class OpCodeCcmpReg : OpCodeCcmp, IOpCodeAluRs
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeCsel : OpCodeAlu, IOpCodeCond
|
class OpCodeCsel : OpCodeAlu, IOpCodeCond
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeException : AOpCode
|
class OpCodeException : AOpCode
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeMem : AOpCode
|
class OpCodeMem : AOpCode
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeMemEx : OpCodeMem
|
class OpCodeMemEx : OpCodeMem
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeMemImm : OpCodeMem
|
class OpCodeMemImm : OpCodeMem
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeMemLit : AOpCode, IOpCodeLit
|
class OpCodeMemLit : AOpCode, IOpCodeLit
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeMemPair : OpCodeMemImm
|
class OpCodeMemPair : OpCodeMemImm
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeMemReg : OpCodeMem
|
class OpCodeMemReg : OpCodeMem
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeMov : AOpCode
|
class OpCodeMov : AOpCode
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeMul : OpCodeAlu
|
class OpCodeMul : OpCodeAlu
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimd : AOpCode, IOpCodeSimd
|
class OpCodeSimd : AOpCode, IOpCodeSimd
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdCvt : OpCodeSimd
|
class OpCodeSimdCvt : OpCodeSimd
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdExt : OpCodeSimdReg
|
class OpCodeSimdExt : OpCodeSimdReg
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdFcond : OpCodeSimdReg, IOpCodeCond
|
class OpCodeSimdFcond : OpCodeSimdReg, IOpCodeCond
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdFmov : AOpCode, IOpCodeSimd
|
class OpCodeSimdFmov : AOpCode, IOpCodeSimd
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdImm : AOpCode, IOpCodeSimd
|
class OpCodeSimdImm : AOpCode, IOpCodeSimd
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdIns : OpCodeSimd
|
class OpCodeSimdIns : OpCodeSimd
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdMemImm : OpCodeMemImm, IOpCodeSimd
|
class OpCodeSimdMemImm : OpCodeMemImm, IOpCodeSimd
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdMemLit : AOpCode, IOpCodeSimd, IOpCodeLit
|
class OpCodeSimdMemLit : AOpCode, IOpCodeSimd, IOpCodeLit
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdMemMs : OpCodeMemReg, IOpCodeSimd
|
class OpCodeSimdMemMs : OpCodeMemReg, IOpCodeSimd
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdMemPair : OpCodeMemPair, IOpCodeSimd
|
class OpCodeSimdMemPair : OpCodeMemPair, IOpCodeSimd
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdMemReg : OpCodeMemReg, IOpCodeSimd
|
class OpCodeSimdMemReg : OpCodeMemReg, IOpCodeSimd
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdMemSs : OpCodeMemReg, IOpCodeSimd
|
class OpCodeSimdMemSs : OpCodeMemReg, IOpCodeSimd
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdReg : OpCodeSimd
|
class OpCodeSimdReg : OpCodeSimd
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdRegElem : OpCodeSimdReg
|
class OpCodeSimdRegElem : OpCodeSimdReg
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdRegElemF : OpCodeSimdReg
|
class OpCodeSimdRegElemF : OpCodeSimdReg
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdShImm : OpCodeSimd
|
class OpCodeSimdShImm : OpCodeSimd
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSimdTbl : OpCodeSimdReg
|
class OpCodeSimdTbl : OpCodeSimdReg
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
class OpCodeSystem : AOpCode
|
class OpCodeSystem : AOpCode
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Decoder
|
namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
enum ShiftType
|
enum ShiftType
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder32
|
namespace ChocolArm64.Decoders32
|
||||||
{
|
{
|
||||||
class A32OpCode : AOpCode
|
class A32OpCode : AOpCode
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
|
|
||||||
namespace ChocolArm64.Decoder32
|
namespace ChocolArm64.Decoders32
|
||||||
{
|
{
|
||||||
class A32OpCodeBImmAl : A32OpCode
|
class A32OpCodeBImmAl : A32OpCode
|
||||||
{
|
{
|
|
@ -4,7 +4,7 @@ using System;
|
||||||
using System.Runtime.Intrinsics;
|
using System.Runtime.Intrinsics;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static class CryptoHelper
|
static class CryptoHelper
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
struct Inst
|
struct Inst
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
|
@ -6,9 +6,9 @@ using System.Reflection;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.InstEmitAluHelper;
|
using static ChocolArm64.Instructions.InstEmitAluHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,9 +1,9 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static class InstEmitAluHelper
|
static class InstEmitAluHelper
|
||||||
{
|
{
|
|
@ -1,9 +1,9 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,12 +1,12 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.InstEmitAluHelper;
|
using static ChocolArm64.Instructions.InstEmitAluHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,8 +1,8 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,9 +1,9 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,9 +1,9 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,11 +1,11 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,10 +1,10 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.InstEmitMemoryHelper;
|
using static ChocolArm64.Instructions.InstEmitMemoryHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Memory;
|
using ChocolArm64.Memory;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
|
@ -6,9 +6,9 @@ using System;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.InstEmitMemoryHelper;
|
using static ChocolArm64.Instructions.InstEmitMemoryHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,10 +1,10 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Memory;
|
using ChocolArm64.Memory;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static class InstEmitMemoryHelper
|
static class InstEmitMemoryHelper
|
||||||
{
|
{
|
|
@ -1,8 +1,8 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,8 +1,8 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
// https://github.com/intel/ARM_NEON_2_x86_SSE/blob/master/NEON_2_SSE.h
|
// https://github.com/intel/ARM_NEON_2_x86_SSE/blob/master/NEON_2_SSE.h
|
||||||
|
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
|
@ -9,9 +9,9 @@ using System.Reflection.Emit;
|
||||||
using System.Runtime.Intrinsics;
|
using System.Runtime.Intrinsics;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.AInstEmitSimdHelper;
|
using static ChocolArm64.Instructions.InstEmitSimdHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,14 +1,14 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.InstEmitAluHelper;
|
using static ChocolArm64.Instructions.InstEmitAluHelper;
|
||||||
using static ChocolArm64.Instruction.AInstEmitSimdHelper;
|
using static ChocolArm64.Instructions.InstEmitSimdHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
|
@ -6,9 +6,9 @@ using System.Reflection.Emit;
|
||||||
using System.Runtime.Intrinsics;
|
using System.Runtime.Intrinsics;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.AInstEmitSimdHelper;
|
using static ChocolArm64.Instructions.InstEmitSimdHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,9 +1,9 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.AInstEmitSimdHelper;
|
using static ChocolArm64.Instructions.InstEmitSimdHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
|
@ -7,9 +7,9 @@ using System.Reflection.Emit;
|
||||||
using System.Runtime.Intrinsics;
|
using System.Runtime.Intrinsics;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static class AInstEmitSimdHelper
|
static class InstEmitSimdHelper
|
||||||
{
|
{
|
||||||
public static readonly Type[] IntTypesPerSizeLog2 = new Type[]
|
public static readonly Type[] IntTypesPerSizeLog2 = new Type[]
|
||||||
{
|
{
|
|
@ -1,13 +1,13 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.AInstEmitSimdHelper;
|
using static ChocolArm64.Instructions.InstEmitSimdHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,13 +1,13 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.InstEmitMemoryHelper;
|
using static ChocolArm64.Instructions.InstEmitMemoryHelper;
|
||||||
using static ChocolArm64.Instruction.AInstEmitSimdHelper;
|
using static ChocolArm64.Instructions.InstEmitSimdHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,13 +1,13 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.AInstEmitSimdHelper;
|
using static ChocolArm64.Instructions.InstEmitSimdHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,15 +1,15 @@
|
||||||
// https://github.com/intel/ARM_NEON_2_x86_SSE/blob/master/NEON_2_SSE.h
|
// https://github.com/intel/ARM_NEON_2_x86_SSE/blob/master/NEON_2_SSE.h
|
||||||
|
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction.AInstEmitSimdHelper;
|
using static ChocolArm64.Instructions.InstEmitSimdHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,11 +1,11 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
using System;
|
using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static partial class InstEmit
|
static partial class InstEmit
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using ChocolArm64.Translation;
|
using ChocolArm64.Translation;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
delegate void InstEmitter(ILEmitterCtx context);
|
delegate void InstEmitter(ILEmitterCtx context);
|
||||||
}
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Memory;
|
using ChocolArm64.Memory;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
delegate void InstInterpreter(CpuThreadState state, MemoryManager memory, AOpCode opCode);
|
delegate void InstInterpreter(CpuThreadState state, MemoryManager memory, AOpCode opCode);
|
||||||
}
|
}
|
|
@ -5,7 +5,7 @@ using System.Runtime.CompilerServices;
|
||||||
using System.Runtime.Intrinsics;
|
using System.Runtime.Intrinsics;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
using static VectorHelper;
|
using static VectorHelper;
|
||||||
|
|
|
@ -3,7 +3,7 @@ using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static class SoftFloat
|
static class SoftFloat
|
||||||
{
|
{
|
|
@ -5,7 +5,7 @@ using System.Runtime.CompilerServices;
|
||||||
using System.Runtime.Intrinsics;
|
using System.Runtime.Intrinsics;
|
||||||
using System.Runtime.Intrinsics.X86;
|
using System.Runtime.Intrinsics.X86;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction
|
namespace ChocolArm64.Instructions
|
||||||
{
|
{
|
||||||
static class VectorHelper
|
static class VectorHelper
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace ChocolArm64.Instruction32
|
namespace ChocolArm64.Instructions32
|
||||||
{
|
{
|
||||||
static partial class A32InstInterpret
|
static partial class A32InstInterpret
|
||||||
{
|
{
|
|
@ -1,11 +1,11 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Decoder32;
|
using ChocolArm64.Decoders32;
|
||||||
using ChocolArm64.Memory;
|
using ChocolArm64.Memory;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
|
||||||
using static ChocolArm64.Instruction32.A32InstInterpretHelper;
|
using static ChocolArm64.Instructions32.A32InstInterpretHelper;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction32
|
namespace ChocolArm64.Instructions32
|
||||||
{
|
{
|
||||||
static partial class A32InstInterpret
|
static partial class A32InstInterpret
|
||||||
{
|
{
|
|
@ -1,8 +1,8 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace ChocolArm64.Instruction32
|
namespace ChocolArm64.Instructions32
|
||||||
{
|
{
|
||||||
static class A32InstInterpretHelper
|
static class A32InstInterpretHelper
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Decoder32;
|
using ChocolArm64.Decoders32;
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.Instruction32;
|
using ChocolArm64.Instructions32;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Instruction;
|
using ChocolArm64.Instructions;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using ChocolArm64.Decoder;
|
using ChocolArm64.Decoders;
|
||||||
using ChocolArm64.Events;
|
using ChocolArm64.Events;
|
||||||
using ChocolArm64.Memory;
|
using ChocolArm64.Memory;
|
||||||
using ChocolArm64.State;
|
using ChocolArm64.State;
|
||||||
|
@ -43,7 +43,7 @@ namespace ChocolArm64
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
AOpCode opCode = ADecoder.DecodeOpCode(state, memory, state.R15);
|
AOpCode opCode = Decoder.DecodeOpCode(state, memory, state.R15);
|
||||||
|
|
||||||
opCode.Interpreter(state, memory, opCode);
|
opCode.Interpreter(state, memory, opCode);
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,7 @@ namespace ChocolArm64
|
||||||
|
|
||||||
private TranslatedSub TranslateTier0(CpuThreadState state, MemoryManager memory, long position)
|
private TranslatedSub TranslateTier0(CpuThreadState state, MemoryManager memory, long position)
|
||||||
{
|
{
|
||||||
Block block = ADecoder.DecodeBasicBlock(state, memory, position);
|
Block block = Decoder.DecodeBasicBlock(state, memory, position);
|
||||||
|
|
||||||
Block[] graph = new Block[] { block };
|
Block[] graph = new Block[] { block };
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ namespace ChocolArm64
|
||||||
|
|
||||||
private void TranslateTier1(CpuThreadState state, MemoryManager memory, long position)
|
private void TranslateTier1(CpuThreadState state, MemoryManager memory, long position)
|
||||||
{
|
{
|
||||||
(Block[] graph, Block root) = ADecoder.DecodeSubroutine(_cache, state, memory, position);
|
(Block[] graph, Block root) = Decoder.DecodeSubroutine(_cache, state, memory, position);
|
||||||
|
|
||||||
string subName = GetSubroutineName(position);
|
string subName = GetSubroutineName(position);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue