diff --git a/dom/base/Element.h b/dom/base/Element.h
--- a/dom/base/Element.h
+++ b/dom/base/Element.h
@@ -601,16 +601,28 @@ public:
   /**
    * Sets the custom element definition, called when custom element is created
    * or upgraded.
    *
    * @param aDefinition The custom element definition.
    */
   void SetCustomElementDefinition(CustomElementDefinition* aDefinition);
 
+  void PrefetchAttrsAndChildren()
+  {
+#if (_M_IX86_FP >= 1) || defined(__SSE__) || defined(_M_AMD64) || defined(__amd64__)
+    _mm_prefetch((char *)&mAttrsAndChildren, _MM_HINT_NTA);
+#endif
+  }
+
+  void PrefetchAttrAndChildArrayImpl()
+  {
+    mAttrsAndChildren.PrefetchImpl();
+  }
+
 protected:
   /**
    * Method to get the _intrinsic_ content state of this element.  This is the
    * state that is independent of the element's presentation.  To get the full
    * content state, use State().  See mozilla/EventStates.h for
    * the possible bits that could be set here.
    */
   virtual EventStates IntrinsicState() const;
