|
|
@ -13,8 +13,6 @@ namespace vm::handler
|
|
|
|
{
|
|
|
|
{
|
|
|
|
INVALID,
|
|
|
|
INVALID,
|
|
|
|
LRFLAGS,
|
|
|
|
LRFLAGS,
|
|
|
|
PUSHVSP,
|
|
|
|
|
|
|
|
PUSHVSPDW,
|
|
|
|
|
|
|
|
MULQ,
|
|
|
|
MULQ,
|
|
|
|
DIVQ,
|
|
|
|
DIVQ,
|
|
|
|
CALL,
|
|
|
|
CALL,
|
|
|
@ -22,6 +20,9 @@ namespace vm::handler
|
|
|
|
VMEXIT,
|
|
|
|
VMEXIT,
|
|
|
|
LVSP,
|
|
|
|
LVSP,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PUSHVSP,
|
|
|
|
|
|
|
|
PUSHVSPDW,
|
|
|
|
|
|
|
|
|
|
|
|
SREGQ,
|
|
|
|
SREGQ,
|
|
|
|
SREGDW,
|
|
|
|
SREGDW,
|
|
|
|
SREGW,
|
|
|
|
SREGW,
|
|
|
@ -42,6 +43,7 @@ namespace vm::handler
|
|
|
|
READQ,
|
|
|
|
READQ,
|
|
|
|
READDW,
|
|
|
|
READDW,
|
|
|
|
READW,
|
|
|
|
READW,
|
|
|
|
|
|
|
|
READB,
|
|
|
|
|
|
|
|
|
|
|
|
WRITEQ,
|
|
|
|
WRITEQ,
|
|
|
|
WRITEDW,
|
|
|
|
WRITEDW,
|
|
|
@ -157,13 +159,17 @@ namespace vm::handler
|
|
|
|
|
|
|
|
|
|
|
|
extern vm::handler::profile_t readq;
|
|
|
|
extern vm::handler::profile_t readq;
|
|
|
|
extern vm::handler::profile_t readdw;
|
|
|
|
extern vm::handler::profile_t readdw;
|
|
|
|
|
|
|
|
extern vm::handler::profile_t readw;
|
|
|
|
|
|
|
|
extern vm::handler::profile_t readb;
|
|
|
|
|
|
|
|
|
|
|
|
extern vm::handler::profile_t shrq;
|
|
|
|
extern vm::handler::profile_t shrq;
|
|
|
|
extern vm::handler::profile_t shrw;
|
|
|
|
extern vm::handler::profile_t shrw;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern vm::handler::profile_t pushvsp;
|
|
|
|
|
|
|
|
extern vm::handler::profile_t pushvspdw;
|
|
|
|
|
|
|
|
|
|
|
|
extern vm::handler::profile_t lrflags;
|
|
|
|
extern vm::handler::profile_t lrflags;
|
|
|
|
extern vm::handler::profile_t call;
|
|
|
|
extern vm::handler::profile_t call;
|
|
|
|
extern vm::handler::profile_t pushvsp;
|
|
|
|
|
|
|
|
extern vm::handler::profile_t mulq;
|
|
|
|
extern vm::handler::profile_t mulq;
|
|
|
|
extern vm::handler::profile_t divq;
|
|
|
|
extern vm::handler::profile_t divq;
|
|
|
|
extern vm::handler::profile_t jmp;
|
|
|
|
extern vm::handler::profile_t jmp;
|
|
|
@ -174,16 +180,16 @@ namespace vm::handler
|
|
|
|
/// a vector of pointers to all defined vm handler profiles...
|
|
|
|
/// a vector of pointers to all defined vm handler profiles...
|
|
|
|
/// </summary>
|
|
|
|
/// </summary>
|
|
|
|
inline std::vector< vm::handler::profile_t * > all = {
|
|
|
|
inline std::vector< vm::handler::profile_t * > all = {
|
|
|
|
&sregq, &sregdw, &sregw, &lregq, &lregdw, &lconstq,
|
|
|
|
&sregq, &sregdw, &sregw, &lregq, &lregdw, &lconstq, &lconstbzxw,
|
|
|
|
&lconstbzxw, &lconstbsxdw, &lconstbsxq, &lconstdwsxq, &lconstwsxq, &lconstwsxdw,
|
|
|
|
&lconstbsxdw, &lconstbsxq, &lconstdwsxq, &lconstwsxq, &lconstwsxdw, &lconstdw, &lconstw,
|
|
|
|
&lconstdw, &lconstw, &addq, &adddw, &addw, &lvsp,
|
|
|
|
&addq, &adddw, &addw, &lvsp,
|
|
|
|
|
|
|
|
|
|
|
|
&shlq, &shldw, &writeq, &writedw, &writeb, &nandq,
|
|
|
|
&shlq, &shldw, &writeq, &writedw, &writeb, &nandq, &nanddw,
|
|
|
|
&nanddw, &nandw, &nandb,
|
|
|
|
&nandw, &nandb,
|
|
|
|
|
|
|
|
|
|
|
|
&shlddw,
|
|
|
|
&shlddw,
|
|
|
|
|
|
|
|
|
|
|
|
&shrq, &shrw, &readq, &readdw, &mulq, &pushvsp,
|
|
|
|
&shrq, &shrw, &readq, &readdw, &readw, &readb, &mulq,
|
|
|
|
&divq, &jmp, &lrflags, &vmexit, &call };
|
|
|
|
&pushvsp, &pushvspdw, &divq, &jmp, &lrflags, &vmexit, &call };
|
|
|
|
} // namespace profile
|
|
|
|
} // namespace profile
|
|
|
|
} // namespace vm::handler
|
|
|
|
} // namespace vm::handler
|