Bug 1288564 - Baldr: change HeapPtr to ReadBarriered in WeakCache (r=terrence)
authorLuke Wagner <luke@mozilla.com>
Thu, 21 Jul 2016 19:26:42 -0500
changeset 306384 e87ece3044148dd4ad136a82fe8eff22839daf12
parent 306383 790d7654501c0747253ba58db5d54ff3226743ab
child 306385 32e22104e1aa1501a5d26a636aa458722a2b91c4
push id30484
push usercbook@mozilla.com
push dateMon, 25 Jul 2016 13:51:04 +0000
treeherdermozilla-central@e23f2ec25e96 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersterrence
bugs1288564
milestone50.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1288564 - Baldr: change HeapPtr to ReadBarriered in WeakCache (r=terrence) MozReview-Commit-ID: 722L1GFAo6c
js/src/jscompartment.h
--- a/js/src/jscompartment.h
+++ b/js/src/jscompartment.h
@@ -512,18 +512,18 @@ struct JSCompartment
     // but can have that buffer created lazily if it is accessed later. This
     // table manages references from such typed objects to their buffers.
     js::ObjectWeakMap* lazyArrayBuffers;
 
     // All unboxed layouts in the compartment.
     mozilla::LinkedList<js::UnboxedLayout> unboxedLayouts;
 
     // All wasm live instances in the compartment.
-    using WasmInstanceObjectSet = js::GCHashSet<js::HeapPtr<js::WasmInstanceObject*>,
-                                                js::MovableCellHasher<js::HeapPtr<js::WasmInstanceObject*>>,
+    using WasmInstanceObjectSet = js::GCHashSet<js::ReadBarriered<js::WasmInstanceObject*>,
+                                                js::MovableCellHasher<js::ReadBarriered<js::WasmInstanceObject*>>,
                                                 js::SystemAllocPolicy>;
     JS::WeakCache<WasmInstanceObjectSet> wasmInstances;
 
   private:
     // All non-syntactic lexical scopes in the compartment. These are kept in
     // a map because when loading scripts into a non-syntactic scope, we need
     // to use the same lexical scope to persist lexical bindings.
     js::ObjectWeakMap* nonSyntacticLexicalScopes_;