diff options
author | trav90 <travawine@palemoon.org> | 2018-09-12 05:41:41 -0500 |
---|---|---|
committer | trav90 <travawine@palemoon.org> | 2018-09-12 05:41:41 -0500 |
commit | 847f12e88faf1b9a34d0b6fa9b262dfed209aedb (patch) | |
tree | cfec69fc3613d921f0f466574f8c67695f246a96 /js/src/vm/Caches.h | |
parent | 2f64d5eeecdeb995504748e3da37964d22cc27f0 (diff) | |
download | UXP-847f12e88faf1b9a34d0b6fa9b262dfed209aedb.tar UXP-847f12e88faf1b9a34d0b6fa9b262dfed209aedb.tar.gz UXP-847f12e88faf1b9a34d0b6fa9b262dfed209aedb.tar.lz UXP-847f12e88faf1b9a34d0b6fa9b262dfed209aedb.tar.xz UXP-847f12e88faf1b9a34d0b6fa9b262dfed209aedb.zip |
Stop using PodZero in several places to initialize values of non-trivial type
Diffstat (limited to 'js/src/vm/Caches.h')
-rw-r--r-- | js/src/vm/Caches.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/js/src/vm/Caches.h b/js/src/vm/Caches.h index 91a78bdc8..b11dd9dcb 100644 --- a/js/src/vm/Caches.h +++ b/js/src/vm/Caches.h @@ -7,6 +7,8 @@ #ifndef vm_Caches_h #define vm_Caches_h +#include <new> + #include "jsatom.h" #include "jsbytecode.h" #include "jsobj.h" @@ -191,14 +193,20 @@ class NewObjectCache char templateObject[MAX_OBJ_SIZE]; }; - Entry entries[41]; // TODO: reconsider size + using EntryArray = Entry[41]; // TODO: reconsider size; + EntryArray entries; public: - typedef int EntryIndex; + using EntryIndex = int; + + NewObjectCache() + : entries{} // zeroes out the array + {} - NewObjectCache() { mozilla::PodZero(this); } - void purge() { mozilla::PodZero(this); } + void purge() { + new (&entries) EntryArray{}; // zeroes out the array + } /* Remove any cached items keyed on moved objects. */ void clearNurseryObjects(JSRuntime* rt); |