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:
- substring created by generated code.
- patches to deal with externalized string that have slices (will have to do it
the hard way).
- garbage collect parent strings that are only referenced by slices.


http://codereview.chromium.org/7477045/diff/20075/src/arm/lithium-arm.cc
File src/arm/lithium-arm.cc (right):

http://codereview.chromium.org/7477045/diff/20075/src/arm/lithium-arm.cc#newcode2013
src/arm/lithium-arm.cc:2013: }
Legacy bug. The register 'string' is being altered in the generated
code.

http://codereview.chromium.org/7477045/diff/20075/src/ia32/lithium-ia32.cc
File src/ia32/lithium-ia32.cc (right):

http://codereview.chromium.org/7477045/diff/20075/src/ia32/lithium-ia32.cc#newcode2067
src/ia32/lithium-ia32.cc:2067: }
Ditto.

http://codereview.chromium.org/7477045/diff/20075/src/objects-inl.h
File src/objects-inl.h (right):

http://codereview.chromium.org/7477045/diff/20075/src/objects-inl.h#newcode297
src/objects-inl.h:297: }
Being 'indirect' means either cons or slice. Accessing the first part of
a flattened cons or the parent of a truncated slice goes to the same
offset, so there is no point making a distinction here.

http://codereview.chromium.org/7477045/diff/20075/src/x64/lithium-x64.cc
File src/x64/lithium-x64.cc (right):

http://codereview.chromium.org/7477045/diff/20075/src/x64/lithium-x64.cc#newcode1997
src/x64/lithium-x64.cc:1997: }
Ditto.

http://codereview.chromium.org/7477045/

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

Reply via email to