Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: src/IceInstX8632.h

Issue 1181013016: Subzero. Fixes memory leaks. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: clang-format: for f in $(git diff --name-only HEAD~7); do if [[ ${f} == *h || ${f} == *cpp ]]; then… Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/IceInstX8632.h
diff --git a/src/IceInstX8632.h b/src/IceInstX8632.h
index d9a841956aacc61bc81d999dca3d0a6170598c0b..2d631720c9173f677949acfd4240333ff61831c2 100644
--- a/src/IceInstX8632.h
+++ b/src/IceInstX8632.h
@@ -45,7 +45,6 @@ public:
protected:
OperandX8632(OperandKindX8632 Kind, Type Ty)
: Operand(static_cast<OperandKind>(Kind), Ty) {}
- ~OperandX8632() override {}
};
// OperandX8632Mem represents the m32 addressing mode, with optional
@@ -89,7 +88,7 @@ public:
private:
OperandX8632Mem(Cfg *Func, Type Ty, Variable *Base, Constant *Offset,
Variable *Index, uint16_t Shift, SegmentRegisters SegmentReg);
- ~OperandX8632Mem() override {}
+
Variable *Base;
Constant *Offset;
Variable *Index;
@@ -126,14 +125,13 @@ public:
private:
VariableSplit(Cfg *Func, Variable *Var, Portion Part)
- : OperandX8632(kSplit, IceType_i32), Func(Func), Var(Var), Part(Part) {
+ : OperandX8632(kSplit, IceType_i32), Var(Var), Part(Part) {
assert(Var->getType() == IceType_f64);
Vars = Func->allocateArrayOf<Variable *>(1);
Vars[0] = Var;
NumVars = 1;
}
- ~VariableSplit() override { Func->deallocateArrayOf<Variable *>(Vars); }
- Cfg *Func; // Held only for the destructor.
+
Variable *Var;
Portion Part;
};
@@ -284,7 +282,7 @@ public:
protected:
InstX8632(Cfg *Func, InstKindX8632 Kind, SizeT Maxsrcs, Variable *Dest)
: InstTarget(Func, static_cast<InstKind>(Kind), Maxsrcs, Dest) {}
- ~InstX8632() override {}
+
static bool isClassof(const Inst *Inst, InstKindX8632 MyKind) {
return Inst->getKind() == static_cast<InstKind>(MyKind);
}
@@ -345,7 +343,6 @@ private:
InstArithmetic::OpKind Op;
InstX8632FakeRMW(Cfg *Func, Operand *Data, Operand *Addr,
InstArithmetic::OpKind Op, Variable *Beacon);
- ~InstX8632FakeRMW() override {}
};
// InstX8632Label represents an intra-block label that is the target
@@ -404,7 +401,7 @@ public:
private:
InstX8632Label(Cfg *Func, TargetX8632 *Target);
- ~InstX8632Label() override {}
+
SizeT Number; // used for unique label generation.
};
@@ -475,7 +472,7 @@ public:
private:
InstX8632Br(Cfg *Func, const CfgNode *TargetTrue, const CfgNode *TargetFalse,
const InstX8632Label *Label, CondX86::BrCond Condition);
- ~InstX8632Br() override {}
+
CondX86::BrCond Condition;
const CfgNode *TargetTrue;
const CfgNode *TargetFalse;
@@ -545,7 +542,6 @@ public:
private:
InstX8632Call(Cfg *Func, Variable *Dest, Operand *CallTarget);
- ~InstX8632Call() override {}
};
// Emit a one-operand (GPR) instruction.
@@ -596,7 +592,7 @@ private:
: InstX8632(Func, K, 1, llvm::dyn_cast<Variable>(SrcDest)) {
addSource(SrcDest);
}
- ~InstX8632InplaceopGPR() override {}
+
static const char *Opcode;
static const X8632::AssemblerX8632::GPREmitterOneOp Emitter;
};
@@ -660,7 +656,7 @@ private:
: InstX8632(Func, K, 1, Dest) {
addSource(Src);
}
- ~InstX8632UnaryopGPR() override {}
+
static const char *Opcode;
static const X8632::AssemblerX8632::GPREmitterRegOp Emitter;
};
@@ -710,7 +706,7 @@ private:
: InstX8632(Func, K, 1, Dest) {
addSource(Src);
}
- ~InstX8632UnaryopXmm() override {}
+
static const char *Opcode;
static const X8632::AssemblerX8632::XmmEmitterRegOp Emitter;
};
@@ -755,7 +751,7 @@ private:
addSource(Dest);
addSource(Source);
}
- ~InstX8632BinopGPRShift() override {}
+
static const char *Opcode;
static const X8632::AssemblerX8632::GPREmitterShiftOp Emitter;
};
@@ -799,7 +795,7 @@ private:
addSource(Dest);
addSource(Source);
}
- ~InstX8632BinopGPR() override {}
+
static const char *Opcode;
static const X8632::AssemblerX8632::GPREmitterRegOp Emitter;
};
@@ -843,7 +839,6 @@ private:
addSource(DestSrc0);
addSource(Src1);
}
- ~InstX8632BinopRMW() override {}
static const char *Opcode;
static const X8632::AssemblerX8632::GPREmitterAddrOp Emitter;
};
@@ -891,7 +886,7 @@ private:
addSource(Dest);
addSource(Source);
}
- ~InstX8632BinopXmm() override {}
+
static const char *Opcode;
static const X8632::AssemblerX8632::XmmEmitterRegOp Emitter;
};
@@ -944,7 +939,7 @@ private:
addSource(Dest);
addSource(Source);
}
- ~InstX8632BinopXmmShift() override {}
+
static const char *Opcode;
static const X8632::AssemblerX8632::XmmEmitterShiftOp Emitter;
};
@@ -991,7 +986,7 @@ private:
addSource(Source1);
addSource(Source2);
}
- ~InstX8632Ternop() override {}
+
static const char *Opcode;
};
@@ -1038,7 +1033,7 @@ private:
addSource(Source0);
addSource(Source1);
}
- ~InstX8632ThreeAddressop() override {}
+
static const char *Opcode;
};
@@ -1076,7 +1071,6 @@ private:
: InstX8632(Func, K, 1, Dest) {
addSource(Source);
}
- ~InstX8632Movlike() override {}
static const char *Opcode;
};
@@ -1167,7 +1161,6 @@ protected:
// with optimizations.
HasSideEffects = Locked;
}
- ~InstX8632Lockable() override {}
};
// Mul instruction - unsigned multiply.
@@ -1189,7 +1182,6 @@ public:
private:
InstX8632Mul(Cfg *Func, Variable *Dest, Variable *Source1, Operand *Source2);
- ~InstX8632Mul() override {}
};
// Shld instruction - shift across a pair of operands.
@@ -1212,7 +1204,6 @@ public:
private:
InstX8632Shld(Cfg *Func, Variable *Dest, Variable *Source1,
Variable *Source2);
- ~InstX8632Shld() override {}
};
// Shrd instruction - shift across a pair of operands.
@@ -1235,7 +1226,6 @@ public:
private:
InstX8632Shrd(Cfg *Func, Variable *Dest, Variable *Source1,
Variable *Source2);
- ~InstX8632Shrd() override {}
};
// Conditional move instruction.
@@ -1258,7 +1248,6 @@ public:
private:
InstX8632Cmov(Cfg *Func, Variable *Dest, Operand *Source,
CondX86::BrCond Cond);
- ~InstX8632Cmov() override {}
CondX86::BrCond Condition;
};
@@ -1284,7 +1273,6 @@ public:
private:
InstX8632Cmpps(Cfg *Func, Variable *Dest, Operand *Source,
CondX86::CmppsCond Cond);
- ~InstX8632Cmpps() override {}
CondX86::CmppsCond Condition;
};
@@ -1313,7 +1301,6 @@ public:
private:
InstX8632Cmpxchg(Cfg *Func, Operand *DestOrAddr, Variable *Eax,
Variable *Desired, bool Locked);
- ~InstX8632Cmpxchg() override {}
};
// Cmpxchg8b instruction - cmpxchg8b <m64> will compare if <m64>
@@ -1342,7 +1329,6 @@ public:
private:
InstX8632Cmpxchg8b(Cfg *Func, OperandX8632Mem *Dest, Variable *Edx,
Variable *Eax, Variable *Ecx, Variable *Ebx, bool Locked);
- ~InstX8632Cmpxchg8b() override {}
};
// Cvt instruction - wrapper for cvtsX2sY where X and Y are in {s,d,i}
@@ -1370,7 +1356,6 @@ public:
private:
CvtVariant Variant;
InstX8632Cvt(Cfg *Func, Variable *Dest, Operand *Source, CvtVariant Variant);
- ~InstX8632Cvt() override {}
};
// cmp - Integer compare instruction.
@@ -1391,7 +1376,6 @@ public:
private:
InstX8632Icmp(Cfg *Func, Operand *Src1, Operand *Src2);
- ~InstX8632Icmp() override {}
};
// ucomiss/ucomisd - floating-point compare instruction.
@@ -1412,7 +1396,6 @@ public:
private:
InstX8632Ucomiss(Cfg *Func, Operand *Src1, Operand *Src2);
- ~InstX8632Ucomiss() override {}
};
// UD2 instruction.
@@ -1432,7 +1415,6 @@ public:
private:
explicit InstX8632UD2(Cfg *Func);
- ~InstX8632UD2() override {}
};
// Test instruction.
@@ -1453,7 +1435,6 @@ public:
private:
InstX8632Test(Cfg *Func, Operand *Source1, Operand *Source2);
- ~InstX8632Test() override {}
};
// Mfence instruction.
@@ -1473,7 +1454,6 @@ public:
private:
explicit InstX8632Mfence(Cfg *Func);
- ~InstX8632Mfence() override {}
};
// This is essentially a "mov" instruction with an OperandX8632Mem
@@ -1496,7 +1476,6 @@ public:
private:
InstX8632Store(Cfg *Func, Operand *Value, OperandX8632 *Mem);
- ~InstX8632Store() override {}
};
// This is essentially a vector "mov" instruction with an OperandX8632Mem
@@ -1521,7 +1500,6 @@ public:
private:
InstX8632StoreP(Cfg *Func, Variable *Value, OperandX8632Mem *Mem);
- ~InstX8632StoreP() override {}
};
class InstX8632StoreQ : public InstX8632 {
@@ -1542,7 +1520,6 @@ public:
private:
InstX8632StoreQ(Cfg *Func, Variable *Value, OperandX8632Mem *Mem);
- ~InstX8632StoreQ() override {}
};
// Nop instructions of varying length
@@ -1565,7 +1542,6 @@ public:
private:
InstX8632Nop(Cfg *Func, SizeT Length);
- ~InstX8632Nop() override {}
NopVariant Variant;
};
@@ -1587,7 +1563,6 @@ public:
private:
InstX8632Fld(Cfg *Func, Operand *Src);
- ~InstX8632Fld() override {}
};
// Fstp - store x87 st(0) into memory and pop st(0).
@@ -1607,7 +1582,6 @@ public:
private:
InstX8632Fstp(Cfg *Func, Variable *Dest);
- ~InstX8632Fstp() override {}
};
class InstX8632Pop : public InstX8632 {
@@ -1626,7 +1600,6 @@ public:
private:
InstX8632Pop(Cfg *Func, Variable *Dest);
- ~InstX8632Pop() override {}
};
class InstX8632Push : public InstX8632 {
@@ -1645,7 +1618,6 @@ public:
private:
InstX8632Push(Cfg *Func, Variable *Source);
- ~InstX8632Push() override {}
};
// Ret instruction. Currently only supports the "ret" version that
@@ -1668,7 +1640,6 @@ public:
private:
InstX8632Ret(Cfg *Func, Variable *Source);
- ~InstX8632Ret() override {}
};
// Conditional set-byte instruction.
@@ -1690,7 +1661,6 @@ public:
private:
InstX8632Setcc(Cfg *Func, Variable *Dest, CondX86::BrCond Cond);
- ~InstX8632Setcc() override {}
const CondX86::BrCond Condition;
};
@@ -1720,7 +1690,6 @@ public:
private:
InstX8632Xadd(Cfg *Func, Operand *Dest, Variable *Source, bool Locked);
- ~InstX8632Xadd() override {}
};
// Exchange instruction. Exchanges the first operand (destination
@@ -1746,7 +1715,6 @@ public:
private:
InstX8632Xchg(Cfg *Func, Operand *Dest, Variable *Source);
- ~InstX8632Xchg() override {}
};
// Declare partial template specializations of emit() methods that
« src/IceGlobalInits.h ('K') | « src/IceInstARM32.h ('k') | src/IceOperand.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698