Has anybody done any performance benchmarking on this?  I imagine the
changes would be significant based on how hot the vector code is.  There
are 8 cases I see that would be worth looking into: unsigned and size_t,
with and without bounds checking, 32-bit and 64-bit architectures.  The
performance gains of not doing bounds checking would be worth being extra
careful in some cases.

Alex

On Wed, Nov 19, 2014 at 4:13 PM, Chris Dumez <cdu...@apple.com> wrote:

> If we don’t want to crash on overflow, the callers can use the try*() API
> I believe (e.g. tryAppend()). This returns false (and does not resize the
> vector) instead of crashing, when we reach the size limit.
>
> Kr,
> --
> Chris Dumez - Apple Inc.
> Cupertino, CA
>
>
>
>
> On Nov 19, 2014, at 2:58 PM, Alexey Proskuryakov <a...@webkit.org> wrote:
>
>
> 19 нояб. 2014 г., в 13:58, Filip Pizlo <fpi...@apple.com> написал(а):
>
> With Vector though, I don't know how we would differentiate code paths
> that need large allocations from ones that don't. Nearly anything that is
> exposed as a JS API or deals with external world can hit sizes over 4Gb.
> That's not out of reach in most scenarios, not even for resources loaded
> from network.
>
>
> Can you provide an example?
>
>
> Yes. XMLHttpRequest::m_binaryResponseBuilder keeps the downloaded data in
> a Vector, so any time there is much data, something bad will happen. This
> is a case that we should support, and not just crash as we would when we
> think that only exploits would try to use as much memory.
>
> All code that is Blob related also uses Vectors, and of course Blobs can
> legitimately be large.
>
> Crypto code uses Vectors internally for the data.
>
> These and related uses are all over the place - see also Vectors
> in FormDataBuilder, data returned from
> FrameLoader::loadResourceSynchronously, plug-in code that loads from
> network, SharedBuffer etc.
>
> - Alexey
>
>
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
>


-- 



Alex Christensen

FlexSim Software Products, Inc.

*1577 North Technology Way | Building A | Suite 2300 | Orem, Utah 84097*

*Voice: 801-224-6914 | Fax: 801-224-6984*

*Email:* al...@flexsim.com <k...@flexsim.com>

*URL:* www.flexsim.com



----------------------------------------------------------------------------------------

This message may contain confidential information, and is intended

only for the use of the individual(s) to whom it is addressed.
----------------------------------------------------------------------------------------
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to