Index: src/regexp-macro-assembler-ia32.cc |
=================================================================== |
--- src/regexp-macro-assembler-ia32.cc (revision 1519) |
+++ src/regexp-macro-assembler-ia32.cc (working copy) |
@@ -985,16 +985,14 @@ |
int* offsets_vector, |
int offsets_vector_length, |
int previous_index) { |
- StringShape shape(*subject); |
- |
// Character offsets into string. |
int start_offset = previous_index; |
- int end_offset = subject->length(shape); |
+ int end_offset = subject->length(); |
- if (shape.IsCons()) { |
+ if (StringShape(*subject).IsCons()) { |
subject = |
Handle<String>(String::cast(ConsString::cast(*subject)->first())); |
- } else if (shape.IsSliced()) { |
+ } else if (StringShape(*subject).IsSliced()) { |
SlicedString* slice = SlicedString::cast(*subject); |
start_offset += slice->start(); |
end_offset += slice->start(); |
@@ -1002,13 +1000,12 @@ |
} |
// String is now either Sequential or External |
- StringShape flatshape(*subject); |
- bool is_ascii = flatshape.IsAsciiRepresentation(); |
+ bool is_ascii = StringShape(*subject).IsAsciiRepresentation(); |
int char_size_shift = is_ascii ? 0 : 1; |
RegExpMacroAssemblerIA32::Result res; |
- if (flatshape.IsExternal()) { |
+ if (StringShape(*subject).IsExternal()) { |
const byte* address; |
if (is_ascii) { |
ExternalAsciiString* ext = ExternalAsciiString::cast(*subject); |