summaryrefslogtreecommitdiffstats
path: root/js/src/vm/Caches.h
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-09-27 09:05:25 +0200
committerwolfbeast <mcwerewolf@gmail.com>2018-09-27 09:05:25 +0200
commitfbaab39c94a047f2a0b0bfbe6cf24a790cd7e8b5 (patch)
tree7b0e57d393cb08a895973cab2d2072cb2b93a77f /js/src/vm/Caches.h
parent580084e9e1d0355c96a54a9641df6c1fee894948 (diff)
parente3508f55bed8a463d298021633dbc7d079c9d764 (diff)
downloadUXP-fbaab39c94a047f2a0b0bfbe6cf24a790cd7e8b5.tar
UXP-fbaab39c94a047f2a0b0bfbe6cf24a790cd7e8b5.tar.gz
UXP-fbaab39c94a047f2a0b0bfbe6cf24a790cd7e8b5.tar.lz
UXP-fbaab39c94a047f2a0b0bfbe6cf24a790cd7e8b5.tar.xz
UXP-fbaab39c94a047f2a0b0bfbe6cf24a790cd7e8b5.zip
Merge branch 'master' into Basilisk-release
Diffstat (limited to 'js/src/vm/Caches.h')
-rw-r--r--js/src/vm/Caches.h16
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);