|
|
@ -32,7 +32,6 @@ namespace vm
|
|
|
|
{
|
|
|
|
{
|
|
|
|
INVALID,
|
|
|
|
INVALID,
|
|
|
|
PUSHVSP,
|
|
|
|
PUSHVSP,
|
|
|
|
SHRQ,
|
|
|
|
|
|
|
|
MULQ,
|
|
|
|
MULQ,
|
|
|
|
DIVQ,
|
|
|
|
DIVQ,
|
|
|
|
CALL,
|
|
|
|
CALL,
|
|
|
@ -69,6 +68,9 @@ namespace vm
|
|
|
|
SHLQ,
|
|
|
|
SHLQ,
|
|
|
|
SHLDW,
|
|
|
|
SHLDW,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SHRQ,
|
|
|
|
|
|
|
|
SHRW,
|
|
|
|
|
|
|
|
|
|
|
|
NANDQ,
|
|
|
|
NANDQ,
|
|
|
|
NANDDW
|
|
|
|
NANDDW
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -152,8 +154,10 @@ namespace vm
|
|
|
|
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 call;
|
|
|
|
|
|
|
|
extern vm::handler::profile_t shrq;
|
|
|
|
extern vm::handler::profile_t shrq;
|
|
|
|
|
|
|
|
extern vm::handler::profile_t shrw;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern vm::handler::profile_t call;
|
|
|
|
extern vm::handler::profile_t pushvsp;
|
|
|
|
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;
|
|
|
@ -162,13 +166,13 @@ namespace vm
|
|
|
|
extern vm::handler::profile_t vmexit;
|
|
|
|
extern vm::handler::profile_t vmexit;
|
|
|
|
|
|
|
|
|
|
|
|
inline std::vector< vm::handler::profile_t * > all = {
|
|
|
|
inline std::vector< vm::handler::profile_t * > all = {
|
|
|
|
&sregq, &sregdw, &sregw, &lregq, &lregdw, &lconstq, &lconstbzxw, &lconstbsxdw,
|
|
|
|
&sregq, &sregdw, &sregw, &lregq, &lregdw, &lconstq, &lconstbzxw, &lconstbsxdw,
|
|
|
|
&lconstbsxq, &lconstdwsxq, &lconstwsxq, &lconstdw, &addq, &adddw, &addw,
|
|
|
|
&lconstbsxq, &lconstdwsxq, &lconstwsxq, &lconstdw, &addq, &adddw, &addw,
|
|
|
|
|
|
|
|
|
|
|
|
&shlq, &shldw, &writeq, &writedw, &nandq, &nanddw,
|
|
|
|
&shlq, &shldw, &writeq, &writedw, &nandq, &nanddw,
|
|
|
|
|
|
|
|
|
|
|
|
&shrq, &readq, &readdw, &mulq, &pushvsp, &divq, &jmp, &vmexit,
|
|
|
|
&shrq, &shrw, &readq, &readdw, &mulq, &pushvsp, &divq, &jmp,
|
|
|
|
&call };
|
|
|
|
&vmexit, &call };
|
|
|
|
} // namespace profile
|
|
|
|
} // namespace profile
|
|
|
|
} // namespace handler
|
|
|
|
} // namespace handler
|
|
|
|
} // namespace vm
|
|
|
|
} // namespace vm
|