PTAL
https://codereview.chromium.org/1322803002/diff/100001/src/elements.cc
File src/elements.cc (right):
https://codereview.chromium.org/1322803002/diff/100001/src/elements.cc#newcode698
src/elements.cc:698: uint32_t dst_index, int copy_size) {
Added this ConvertElementsWithCapacity to avoid code duplication and
copying elements twice (src_index and dst_index are new arguments)
https://codereview.chromium.org/1322803002/diff/100001/src/elements.cc#newcode1355
src/elements.cc:1355: WriteBarrierMode mode =
raw_backing_store->GetWriteBarrierMode(no_gc);
Introduced the second SetImpl so we can pass along a single
WriteBarrierrMode -> less overhead.
https://codereview.chromium.org/1322803002/diff/100001/src/elements.cc#newcode1512
src/elements.cc:1512: FixedArray::cast(backing_store)->set(entry,
value);
If I don't use the more uniform SetValue method (which has the same
sign. on FixedArray, FixedDoubleArray and FixedTypeArray) I get a 65%
speedup on an argument heavy [].unshift(1,...1000); Probably an inlining
issue?
https://codereview.chromium.org/1322803002/diff/100001/src/elements.cc#newcode1640
src/elements.cc:1640: Object* value) {
If I leave out this version (for FixedDoubleArray) I get a 20% speedup
on [].unshift(1,......1000).
https://codereview.chromium.org/1322803002/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.