Will do as soon as the x64 port is done so that at least the Linux version of Chrome can show the speed up :)
On Thu, Nov 17, 2011 at 6:18 PM, <[email protected]> wrote: > Don't forget to update the corresponding issue in the issue tracker :) > > > On 2011/11/17 17:06:23, Yang wrote: > >> Landed in r10023. >> > > http://codereview.chromium.**org/8513010/diff/1012/src/** >> ia32/code-stubs-ia32.cc<http://codereview.chromium.org/8513010/diff/1012/src/ia32/code-stubs-ia32.cc> >> File src/ia32/code-stubs-ia32.cc (right): >> > > > http://codereview.chromium.**org/8513010/diff/1012/src/** > ia32/code-stubs-ia32.cc#**newcode5164<http://codereview.chromium.org/8513010/diff/1012/src/ia32/code-stubs-ia32.cc#newcode5164> > >> src/ia32/code-stubs-ia32.cc:**5164: __ cmp(FieldOperand(string, >> HeapObject::kMapOffset), >> On 2011/11/17 13:40:18, Lasse Reichstein wrote: >> > Comparing against the same memory location twice in a row. Is there no >> register >> > free to load it? >> > Or, possibly, keep it alive since we first loaded it in line 5129? >> > But this'll probably not happen often enough to warrant a scratch >> register. >> > > |string| is used as a temp register, so I can use it as scratch at this >> point. >> > > > http://codereview.chromium.**org/8513010/diff/1012/src/** > ia32/lithium-codegen-ia32.cc<http://codereview.chromium.org/8513010/diff/1012/src/ia32/lithium-codegen-ia32.cc> > >> File src/ia32/lithium-codegen-ia32.**cc (right): >> > > > http://codereview.chromium.**org/8513010/diff/1012/src/** > ia32/lithium-codegen-ia32.cc#**newcode3377<http://codereview.chromium.org/8513010/diff/1012/src/ia32/lithium-codegen-ia32.cc#newcode3377> > >> src/ia32/lithium-codegen-ia32.**cc:3377: >> StringCharCodeAtGenerator::**GenerateCharLoad(masm(), >> On 2011/11/17 13:40:18, Lasse Reichstein wrote: >> > If GenerateCharLoad is used from outside StringCharCodeAtGenerator, you >> > might > >> as >> > well make it a macro in macro-assembler-*. >> > > Moved to codegen-*.cc instead. Big chunks of code that are shared only in >> a >> > few > >> places belong there. Fast element transition code is put there already. >> > > > http://codereview.chromium.**org/8513010/diff/1012/src/**objects-inl.h<http://codereview.chromium.org/8513010/diff/1012/src/objects-inl.h> >> File src/objects-inl.h (right): >> > > http://codereview.chromium.**org/8513010/diff/1012/src/** >> objects-inl.h#newcode2321<http://codereview.chromium.org/8513010/diff/1012/src/objects-inl.h#newcode2321> >> src/objects-inl.h:2321: if (*data_field == NULL) *data_field = >> resource()->data(); >> On 2011/11/17 13:40:18, Lasse Reichstein wrote: >> > Alternatively, we could ensure that the data_field is always set (by >> setting >> it >> > when creating the string object). That allows us to avoid checking it on >> > every > >> > access. >> > > I thought lazy init is nice. I'll check in another CL whether this has >> advantages. >> > > > > http://codereview.chromium.**org/8513010/<http://codereview.chromium.org/8513010/> > -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
