summaryrefslogtreecommitdiffstats
path: root/js/src/jit/BacktrackingAllocator.h
diff options
context:
space:
mode:
authortrav90 <travawine@palemoon.org>2018-09-12 19:19:12 -0500
committertrav90 <travawine@palemoon.org>2018-09-12 19:19:12 -0500
commit0712ac7f81a455b21e0065b6a212b64385835e5e (patch)
tree9c415478d420cfa854a6d0de74df1052ab732224 /js/src/jit/BacktrackingAllocator.h
parentd902382d8a51759d92d55c6c0175b4499325de86 (diff)
downloadUXP-0712ac7f81a455b21e0065b6a212b64385835e5e.tar
UXP-0712ac7f81a455b21e0065b6a212b64385835e5e.tar.gz
UXP-0712ac7f81a455b21e0065b6a212b64385835e5e.tar.lz
UXP-0712ac7f81a455b21e0065b6a212b64385835e5e.tar.xz
UXP-0712ac7f81a455b21e0065b6a212b64385835e5e.zip
Don't memset-zero the BacktrackingAllocator::vregs array of non-trivial VirtualRegister instances
Diffstat (limited to 'js/src/jit/BacktrackingAllocator.h')
-rw-r--r--js/src/jit/BacktrackingAllocator.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/js/src/jit/BacktrackingAllocator.h b/js/src/jit/BacktrackingAllocator.h
index 6d14ffacd..9910498fb 100644
--- a/js/src/jit/BacktrackingAllocator.h
+++ b/js/src/jit/BacktrackingAllocator.h
@@ -478,34 +478,31 @@ class LiveBundle : public TempObject
class VirtualRegister
{
// Instruction which defines this register.
- LNode* ins_;
+ LNode* ins_ = nullptr;
// Definition in the instruction for this register.
- LDefinition* def_;
+ LDefinition* def_ = nullptr;
// All live ranges for this register. These may overlap each other, and are
// ordered by their start position.
InlineForwardList<LiveRange::RegisterLink> ranges_;
// Whether def_ is a temp or an output.
- bool isTemp_;
+ bool isTemp_ = false;
// Whether this vreg is an input for some phi. This use is not reflected in
// any range on the vreg.
- bool usedByPhi_;
+ bool usedByPhi_ = false;
// If this register's definition is MUST_REUSE_INPUT, whether a copy must
// be introduced before the definition that relaxes the policy.
- bool mustCopyInput_;
+ bool mustCopyInput_ = false;
void operator=(const VirtualRegister&) = delete;
VirtualRegister(const VirtualRegister&) = delete;
public:
- explicit VirtualRegister()
- {
- // Note: This class is zeroed before it is constructed.
- }
+ VirtualRegister() = default;
void init(LNode* ins, LDefinition* def, bool isTemp) {
MOZ_ASSERT(!ins_);