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/jsregexp.cc#newcode240
src/jsregexp.cc:240: String* needle =
String::cast(re->DataAt(JSRegExp::kAtomPatternIndex));
We don't call needle->IsAsciiRepresentationUnderneath() because it's
guaranteed to be sequential, right? If yes, add an assert here.

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

http://codereview.chromium.org/7477045/diff/43002/src/objects-inl.h#newcode278
src/objects-inl.h:278: STATIC_ASSERT(kIsIndirectStringMask !=
kStringEncodingMask);
Maybe (kIsIndirectStringMask & kStringEncodingMask) == 0?

http://codereview.chromium.org/7477045/diff/43002/src/objects-inl.h#newcode294
src/objects-inl.h:294: STATIC_ASSERT(kIsIndirectStringMask !=
kStringEncodingMask);
Ditto.

http://codereview.chromium.org/7477045/diff/43002/src/objects.cc
File src/objects.cc (right):

http://codereview.chromium.org/7477045/diff/43002/src/objects.cc#newcode5239
src/objects.cc:5239: // Either the string is sequential of external, in
which case the encoding
of -> or

http://codereview.chromium.org/7477045/diff/43002/src/objects.cc#newcode5277
src/objects.cc:5277: // Either the string is sequential of external, in
which case the encoding
of -> or

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

http://codereview.chromium.org/7477045/diff/43002/src/objects.h#newcode5784
src/objects.h:5784: // encoding of the underlying string.  This is taken
into account here.
Add "Requires: this->IsFlat()".

http://codereview.chromium.org/7477045/diff/43002/src/objects.h#newcode5825
src/objects.h:5825: // Returns the parent of a sliced string or first
part of a cons string.
"... of a *flat* cons ..."

http://codereview.chromium.org/7477045/diff/43002/src/objects.h#newcode5826
src/objects.h:5826: inline String* GetUnderlying();
Add "Requires: StringShape(this).IsIndirect() && this->IsFlat()".

http://codereview.chromium.org/7477045/diff/43002/src/objects.h#newcode6080
src/objects.h:6080: MUST_USE_RESULT MaybeObject*
SlowTryTruncate(PretenureFlag pretenure);
Remove?

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

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

Reply via email to