mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-28 15:02:01 +00:00
- avoid creating labels when they are not used
- remove variable from class as it is only used locally - set default values in the class - remove unused field
This commit is contained in:
parent
650e6a9c1b
commit
e296d2819b
2 changed files with 13 additions and 13 deletions
|
@ -98,7 +98,7 @@ asmjit::CCFunc *JitCompiler::Codegen()
|
||||||
{
|
{
|
||||||
Setup();
|
Setup();
|
||||||
|
|
||||||
LatestLine = { 0, (ptrdiff_t)0, -1, {} };
|
int lastLine = -1;
|
||||||
|
|
||||||
pc = sfunc->Code;
|
pc = sfunc->Code;
|
||||||
auto end = pc + sfunc->CodeSize;
|
auto end = pc + sfunc->CodeSize;
|
||||||
|
@ -108,14 +108,17 @@ asmjit::CCFunc *JitCompiler::Codegen()
|
||||||
op = pc->op;
|
op = pc->op;
|
||||||
|
|
||||||
int curLine = sfunc->PCToLine(pc);
|
int curLine = sfunc->PCToLine(pc);
|
||||||
|
if (curLine != lastLine)
|
||||||
|
{
|
||||||
|
lastLine = curLine;
|
||||||
|
|
||||||
auto label = cc.newLabel();
|
auto label = cc.newLabel();
|
||||||
cc.bind(label);
|
cc.bind(label);
|
||||||
LatestLine.Label = label;
|
|
||||||
if (curLine != LatestLine.LineNumber)
|
JitLineInfo info;
|
||||||
{
|
info.Label = label;
|
||||||
LatestLine.LineNumber = curLine;
|
info.LineNumber = curLine;
|
||||||
LatestLine.VMInstructionIndex = i;
|
LineInfo.Push(info);
|
||||||
LineInfo.Push (LatestLine);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (op != OP_PARAM && op != OP_PARAMI && op != OP_VTBL)
|
if (op != OP_PARAM && op != OP_PARAMI && op != OP_VTBL)
|
||||||
|
|
|
@ -27,9 +27,8 @@ extern int VMCalls[10];
|
||||||
|
|
||||||
struct JitLineInfo
|
struct JitLineInfo
|
||||||
{
|
{
|
||||||
uint16_t VMInstructionIndex;
|
ptrdiff_t InstructionIndex = 0;
|
||||||
ptrdiff_t InstructionIndex;
|
int32_t LineNumber = -1;
|
||||||
int32_t LineNumber;
|
|
||||||
asmjit::Label Label;
|
asmjit::Label Label;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -270,8 +269,6 @@ private:
|
||||||
TArray<asmjit::X86Gp> regA;
|
TArray<asmjit::X86Gp> regA;
|
||||||
TArray<asmjit::X86Gp> regS;
|
TArray<asmjit::X86Gp> regS;
|
||||||
|
|
||||||
JitLineInfo LatestLine;
|
|
||||||
|
|
||||||
struct OpcodeLabel
|
struct OpcodeLabel
|
||||||
{
|
{
|
||||||
asmjit::CBNode *cursor = nullptr;
|
asmjit::CBNode *cursor = nullptr;
|
||||||
|
|
Loading…
Reference in a new issue