You could look at the code generated for the loop on ARM - it probably
cannot
be improved.
The problem is gcc with current defaults generates plain loop for ia32. I
googled a bit, but all the memset32 implementations I found seems to use
loop
(with some unrolling).
Are there other placed we can use this. I am thinking filling hash tables
with
undefined.
Yes, undefined and I suspect that stub which creates Array for new Array
doesn't
use stos as well. Going to audit the code.
Thanks a lot for review, Søren, submitting.
http://codereview.chromium.org/661105/diff/1/2
File src/heap.cc (right):
http://codereview.chromium.org/661105/diff/1/2#newcode2981
src/heap.cc:2981: // update RSets.
On 2010/02/25 21:40:15, Søren Gjesse wrote:
Please keep the assert.
Done.
http://codereview.chromium.org/661105/diff/1/3
File src/utils.h (right):
http://codereview.chromium.org/661105/diff/1/3#newcode584
src/utils.h:584: asm("cld\n\trep\n\t" STOS
On 2010/02/25 21:40:15, Søren Gjesse wrote:
Please break this into one instruction per line for better redability.
Done.
http://codereview.chromium.org/661105/diff/1/3#newcode587
src/utils.h:587: :);
On 2010/02/25 21:40:15, Søren Gjesse wrote:
Maybe make a comment why the clobber list is empty.
Done.
http://codereview.chromium.org/661105/diff/1/3#newcode594
src/utils.h:594: #undef HAS_STOS
On 2010/02/25 21:40:15, Søren Gjesse wrote:
HAS_STOS -> STOS
Done.
http://codereview.chromium.org/661105
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev