Just give me some time, I've got another idea. Sorry for noise, anton.
On Mon, Feb 15, 2010 at 10:43 PM, <[email protected]> wrote: > Reviewers: Mads Ager, > > Message: > Mads, > > may you have a look? > > Warning: it's ugly. Let me explain the reason for current ugliness. > > Alas, ECMAScript requires that ToInteger conversion of first two arguments > to be > performed /after/ fetching the array (see 15.4.4.10). I am afraid that > this > conversion might perform any kind of code and thus could turn formerly fast > element JSArray into not fast element JSArray. That's why I compile a code > which goes fast case only if both arguments passed are SMIs or undefined. > > Alas, I didn't find nice mechanism to do it with the current > infrastructure. I > can see two approaches: > > 1) (my personal favorite): enable parameterization of builtins be > generators: > into BUILTIN_LIST_C instead of second argument being a number passed into > Generator_Adaptor, let it be a generator function itself. That would allow > to > generate special code for array slice builtin. > > 2) extend special function info with additional flags for both compilation > and > CallIC miss. > > What would you recommend? > > Description: > Introduce builtin for Array.slice function. > > Please review this at http://codereview.chromium.org/604059 > > Affected files: > M src/bootstrapper.cc > M src/builtins.h > M src/builtins.cc > M src/ia32/stub-cache-ia32.cc > M src/ic.cc > M src/stub-cache.h > M src/stub-cache.cc > A test/mjsunit/array-slice.js > > > -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
