[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-22 Thread yangguo
Changed default offset to 0 instead of kNotASlice. And some minor corrections. http://codereview.chromium.org/7477045/ -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-19 Thread vitalyr
LGTM for architecture-independent parts. Waiting for an updated generated code with better handling of kNotASlice (as we discussed by IM). http://codereview.chromium.org/7477045/diff/43002/src/jsregexp.cc File src/jsregexp.cc (right): http://codereview.chromium.org/7477045/diff/43002/src/js

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-18 Thread yangguo
Implemented most of the changes you (Vitaly) suggested. I also tested this with regexp=interpreted. In order to check the encoding of a string I introduced the methods Is{Ascii,TwoByte}RepresentationUnderneath() and I think my implementation is reasonably fast for the non-indirect case. I haven

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-17 Thread vitalyr
Another bunch of comments. Once again I only looked on architecture-independent parts and on ia32 code. http://codereview.chromium.org/7477045/diff/39001/src/handles.h File src/handles.h (right): http://codereview.chromium.org/7477045/diff/39001/src/handles.h#newcode188 src/handles.h:188: nit

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-17 Thread yangguo
I did some corrections and replaced the CharCodeAt stuff with simpler code on all three platforms. As it turned out, special handling for constant indexes doesn't really result in any better performance. http://codereview.chromium.org/7477045/diff/39001/src/heap.cc File src/heap.cc (right): h

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-12 Thread vitalyr
I only looked on architecture-independent parts and on ia32 code. Since most of the new generated code is not behind the flag we should make sure it's in a good shape. Let's discuss the slightly simplified charCodeAt code. After that I'll need one more pass. -- Vitaly http://codereview.c

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-11 Thread yangguo
I removed the family of methods related to truncate. The one I will implement in the future that will kick in at GC time will look different. I also changed parts of RegExp to support sliced strings without the need to truncate them first. This took longer than I thought. Other than that, I'm

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-05 Thread vitalyr
http://codereview.chromium.org/7477045/diff/19020/src/heap.cc File src/heap.cc (right): http://codereview.chromium.org/7477045/diff/19020/src/heap.cc#newcode2698 src/heap.cc:2698: ASSERT(sliced_string->parent()->IsSeqString()); I think we can have flat cons with external first. It will pass the

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-04 Thread yangguo
Made changes suggested by Anton. http://codereview.chromium.org/7477045/ -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-04 Thread antonm
LGTM Might be a good idea to add verification for sliced strings. http://codereview.chromium.org/7477045/diff/20075/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): http://codereview.chromium.org/7477045/diff/20075/src/arm/code-stubs-arm.cc#newcode5431 src/arm/code-stubs-arm.c

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-08-04 Thread yangguo
Added a patch for RegExp when handling sliced strings, a few tests and a set of truncate-methods to do to slices what flatten-methods do to cons. I'd like to commit this afterwards. The usage of sliced strings is hidden under a flag anyways. Things to do in following CLs will be: - substrin

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-07-28 Thread yangguo
I addressed a few suggestions by Anton and removed the constants for symbols. I'm still thinking about how to take care of externalizing strings. http://codereview.chromium.org/7477045/diff/6002/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): http://codereview.chromium.org/7

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-07-27 Thread ricow
http://codereview.chromium.org/7477045/diff/6002/src/objects.h File src/objects.h (right): http://codereview.chromium.org/7477045/diff/6002/src/objects.h#newcode524 src/objects.h:524: SLICED_SYMBOL_TYPE = kTwoByteStringTag | kSymbolTag | kSlicedStringTag, On 2011/07/27 14:04:49, antonm wrote: D

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-07-27 Thread vitalyr
There's an issue with string externalization. We can't rely on parent staying a sequential string. It may be externalized and change its encoding. This makes slices similar to conses, we have to check the parent's type separately. I don't think we want to prohibit externalization of parents.

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-07-27 Thread antonm
http://codereview.chromium.org/7477045/diff/6002/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): http://codereview.chromium.org/7477045/diff/6002/src/arm/code-stubs-arm.cc#newcode4804 src/arm/code-stubs-arm.cc:4804: __ tst(result_, Operand(kStringRepresentationMask)); Do we hav

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-07-27 Thread yangguo
Made a few changes according to Anton's suggestions. http://codereview.chromium.org/7477045/diff/6002/src/heap.cc File src/heap.cc (right): http://codereview.chromium.org/7477045/diff/6002/src/heap.cc#newcode2691 src/heap.cc:2691: sliced_string->set_parent(cons->first()); There is no second par

[v8-dev] Re: Tentative implementation of string slices (hidden under the flag --string-slices). (issue7477045)

2011-07-27 Thread antonm
+VItalyr who did a lot of string work. First round of comments. http://codereview.chromium.org/7477045/diff/1/src/heap.cc File src/heap.cc (right): http://codereview.chromium.org/7477045/diff/1/src/heap.cc#newcode2687 src/heap.cc:2687: WriteBarrierMode mode = sliced_string->GetWriteBarrierMode