Reviewers: Mads Ager, Erik Corry,

Description:
Perform string add in generated code on IA-32 platforms

This adds a code stub which can do most of what Heap::AllocateConsString  
can do.
It bails out if the result cannot fit in new space or if the result is a  
short
(flat) string and one argument is an ascii string and the other a two byte
string. It also bails out if adding two one-character strings as
Heap::AllocateConsString has special handling of this utilizing the symbol
table. The stub is used both for the binary add operation and for StringAdd
calls from runtime JavaScript files. Extended the string add test to cover  
all
sizes of flat result stings.

Please review this at http://codereview.chromium.org/442024

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/arm/codegen-arm.h
   M     src/arm/codegen-arm.cc
   M     src/code-stubs.h
   M     src/codegen.cc
   M     src/ia32/codegen-ia32.h
   M     src/ia32/codegen-ia32.cc
   M     src/ia32/macro-assembler-ia32.h
   M     src/ia32/macro-assembler-ia32.cc
   M     src/runtime.cc
   M     src/runtime.js
   M     src/v8-counters.h
   M     src/x64/codegen-x64.h
   M     src/x64/codegen-x64.cc
   M     test/mjsunit/string-add.js


-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to