summaryrefslogtreecommitdiffstats
path: root/js/src/vm/Caches.h
diff options
context:
space:
mode:
authorMoonchild <mcwerewolf@gmail.com>2018-09-16 12:01:55 +0200
committerGitHub <noreply@github.com>2018-09-16 12:01:55 +0200
commit08dd8ff76063097d7ceea3ec2877028e57ede211 (patch)
tree467ec1506f7889c2faeb0280b8c7de4adc4abe7b /js/src/vm/Caches.h
parent351ffa462d2314c4b60369e2ba0f13b5d90f03b5 (diff)
parent0712ac7f81a455b21e0065b6a212b64385835e5e (diff)
downloadUXP-08dd8ff76063097d7ceea3ec2877028e57ede211.tar
UXP-08dd8ff76063097d7ceea3ec2877028e57ede211.tar.gz
UXP-08dd8ff76063097d7ceea3ec2877028e57ede211.tar.lz
UXP-08dd8ff76063097d7ceea3ec2877028e57ede211.tar.xz
UXP-08dd8ff76063097d7ceea3ec2877028e57ede211.zip
Merge pull request #767 from trav90/class-memaccess-errors
Fix more -Wclass-memaccess warnings (part 2)
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);