Maybe Vitaly wants to have a look as well?
http://codereview.chromium.org/7744052/diff/1/src/ia32/code-stubs-ia32.cc File src/ia32/code-stubs-ia32.cc (right): http://codereview.chromium.org/7744052/diff/1/src/ia32/code-stubs-ia32.cc#newcode5707 src/ia32/code-stubs-ia32.cc:5707: __ SmiTag(edx); // Make edx a smi again. On 2011/08/26 16:10:55, antonm wrote:
do you want to fallback here from make_two_character_string?
Yes. http://codereview.chromium.org/7744052/diff/1/src/ia32/code-stubs-ia32.cc#newcode5747 src/ia32/code-stubs-ia32.cc:5747: __ mov(edi, eax); On 2011/08/26 16:10:55, antonm wrote:
maybe keep the parent string in eax and save this move?
eax has to be used as destination when allocation the new sliced string and as return value. http://codereview.chromium.org/7744052/diff/1/src/ia32/code-stubs-ia32.cc#newcode5769 src/ia32/code-stubs-ia32.cc:5769: __ SmiTag(ecx); On 2011/08/26 16:10:55, antonm wrote:
apparently there is too much of tagging/untagging, but it should have
only
minimal perf impact.
The alternative saves this one tagging, but would make may other places ugly (compare with shifted immediates etc.). The reason is that many macros take un-smi-tagged register values as parameter. http://codereview.chromium.org/7744052/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
