Chromium Code Reviews| Index: src/runtime.cc |
| diff --git a/src/runtime.cc b/src/runtime.cc |
| index f9420470e2552e9b7af614f46b5ec66ebe12afae..836e5b8c9965431c5948fa95b2e2bb18f7c87cce 100644 |
| --- a/src/runtime.cc |
| +++ b/src/runtime.cc |
| @@ -2665,7 +2665,7 @@ void CompiledReplacement::Compile(Handle<String> replacement, |
| int subject_length) { |
| { |
| AssertNoAllocation no_alloc; |
| - String::FlatContent content = replacement->GetFlatContent(no_alloc); |
| + String::FlatContent content = replacement->GetFlatContent(); |
| ASSERT(content.IsFlat()); |
| if (content.IsAscii()) { |
| ParseReplacementPattern(&parts_, |
| @@ -3050,8 +3050,8 @@ int Runtime::StringMatch(Isolate* isolate, |
| AssertNoAllocation no_heap_allocation; // ensure vectors stay valid |
|
Rico
2011/08/23 13:17:53
Do we still need this?
Lasse Reichstein
2011/08/23 13:20:49
It's an assert, so we don't *need* it, but if it's
|
| // Extract flattened substrings of cons strings before determining asciiness. |
| - String::FlatContent seq_sub = sub->GetFlatContent(no_heap_allocation); |
| - String::FlatContent seq_pat = pat->GetFlatContent(no_heap_allocation); |
| + String::FlatContent seq_sub = sub->GetFlatContent(); |
| + String::FlatContent seq_pat = pat->GetFlatContent(); |
| // dispatch on type of strings |
| if (seq_pat.IsAscii()) { |
| @@ -3161,8 +3161,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringLastIndexOf) { |
| int position = -1; |
| AssertNoAllocation no_heap_allocation; // ensure vectors stay valid |
|
Rico
2011/08/23 13:17:53
do we still need this?
|
| - String::FlatContent sub_content = sub->GetFlatContent(no_heap_allocation); |
| - String::FlatContent pat_content = pat->GetFlatContent(no_heap_allocation); |
| + String::FlatContent sub_content = sub->GetFlatContent(); |
| + String::FlatContent pat_content = pat->GetFlatContent(); |
| if (pat_content.IsAscii()) { |
| Vector<const char> pat_vector = pat_content.ToAsciiVector(); |
| @@ -3400,8 +3400,8 @@ static bool SearchStringMultiple(Isolate* isolate, |
| for (;;) { // Break when search complete. |
| builder->EnsureCapacity(kMaxBuilderEntriesPerRegExpMatch); |
| AssertNoAllocation no_gc; |
|
Rico
2011/08/23 13:17:53
Do we still need this?
|
| - String::FlatContent subject_content = subject->GetFlatContent(no_gc); |
| - String::FlatContent pattern_content = pattern->GetFlatContent(no_gc); |
| + String::FlatContent subject_content = subject->GetFlatContent(); |
| + String::FlatContent pattern_content = pattern->GetFlatContent(); |
| if (subject_content.IsAscii()) { |
| Vector<const char> subject_vector = subject_content.ToAsciiVector(); |
| if (pattern_content.IsAscii()) { |
| @@ -5419,8 +5419,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_QuoteJSONString) { |
| str = String::cast(flat); |
| ASSERT(str->IsFlat()); |
| } |
| - AssertNoAllocation no_alloc; |
| - String::FlatContent flat = str->GetFlatContent(no_alloc); |
| + String::FlatContent flat = str->GetFlatContent(); |
| ASSERT(flat.IsFlat()); |
| if (flat.IsTwoByte()) { |
| return QuoteJsonString<uc16, SeqTwoByteString, false>(isolate, |
| @@ -5444,8 +5443,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_QuoteJSONStringComma) { |
| str = String::cast(flat); |
| ASSERT(str->IsFlat()); |
| } |
| - AssertNoAllocation no_alloc; |
| - String::FlatContent flat = str->GetFlatContent(no_alloc); |
| + String::FlatContent flat = str->GetFlatContent(); |
| if (flat.IsTwoByte()) { |
| return QuoteJsonString<uc16, SeqTwoByteString, true>(isolate, |
| flat.ToUC16Vector()); |
| @@ -5486,7 +5484,7 @@ static MaybeObject* QuoteJsonStringArray(Isolate* isolate, |
| for (int i = 0; i < length; i++) { |
| if (i != 0) *(write_cursor++) = ','; |
| String* str = String::cast(array->get(i)); |
| - String::FlatContent content = str->GetFlatContent(no_gc); |
| + String::FlatContent content = str->GetFlatContent(); |
| ASSERT(content.IsFlat()); |
| if (content.IsTwoByte()) { |
| write_cursor = WriteQuoteJsonString<Char, uc16>(isolate, |
| @@ -5974,9 +5972,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringSplit) { |
| // No allocation block. |
| { |
| - AssertNoAllocation no_gc; |
| - String::FlatContent subject_content = subject->GetFlatContent(no_gc); |
| - String::FlatContent pattern_content = pattern->GetFlatContent(no_gc); |
| + AssertNoAllocation nogc; |
|
Rico
2011/08/23 13:17:53
why the rename?
Lasse Reichstein
2011/08/23 13:20:49
I reverted part of the previous patch, which conta
|
| + String::FlatContent subject_content = subject->GetFlatContent(); |
| + String::FlatContent pattern_content = pattern->GetFlatContent(); |
| ASSERT(subject_content.IsFlat()); |
| ASSERT(pattern_content.IsFlat()); |
| if (subject_content.IsAscii()) { |
| @@ -6107,9 +6105,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringToArray) { |
| isolate->heap()->AllocateUninitializedFixedArray(length); |
| if (!maybe_obj->ToObject(&obj)) return maybe_obj; |
| } |
| - AssertNoAllocation no_alloc; |
| elements = Handle<FixedArray>(FixedArray::cast(obj), isolate); |
| - String::FlatContent content = s->GetFlatContent(no_alloc); |
| + String::FlatContent content = s->GetFlatContent(); |
| if (content.IsAscii()) { |
| Vector<const char> chars = content.ToAsciiVector(); |
| // Note, this will initialize all elements (not only the prefix) |
| @@ -6930,7 +6927,6 @@ static Object* StringInputBufferCompare(RuntimeState* state, |
| static Object* FlatStringCompare(String* x, String* y) { |
| ASSERT(x->IsFlat()); |
| ASSERT(y->IsFlat()); |
| - AssertNoAllocation no_alloc; |
| Object* equal_prefix_result = Smi::FromInt(EQUAL); |
| int prefix_length = x->length(); |
| if (y->length() < prefix_length) { |
| @@ -6940,8 +6936,8 @@ static Object* FlatStringCompare(String* x, String* y) { |
| equal_prefix_result = Smi::FromInt(LESS); |
| } |
| int r; |
| - String::FlatContent x_content = x->GetFlatContent(no_alloc); |
| - String::FlatContent y_content = y->GetFlatContent(no_alloc); |
| + String::FlatContent x_content = x->GetFlatContent(); |
| + String::FlatContent y_content = y->GetFlatContent(); |
| if (x_content.IsAscii()) { |
| Vector<const char> x_chars = x_content.ToAsciiVector(); |
| if (y_content.IsAscii()) { |
| @@ -8838,7 +8834,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DateParseString) { |
| FixedArray* output_array = FixedArray::cast(output->elements()); |
| RUNTIME_ASSERT(output_array->length() >= DateParser::OUTPUT_SIZE); |
| bool result; |
| - String::FlatContent str_content = str->GetFlatContent(no_allocation); |
| + String::FlatContent str_content = str->GetFlatContent(); |
| if (str_content.IsAscii()) { |
| result = DateParser::Parse(str_content.ToAsciiVector(), |
| output_array, |
| @@ -12823,10 +12819,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ListNatives) { |
| RUNTIME_FUNCTION(MaybeObject*, Runtime_Log) { |
| ASSERT(args.length() == 2); |
| - AssertNoAllocation no_alloc; |
| CONVERT_CHECKED(String, format, args[0]); |
| CONVERT_CHECKED(JSArray, elms, args[1]); |
| - String::FlatContent format_content = format->GetFlatContent(no_alloc); |
| + String::FlatContent format_content = format->GetFlatContent(); |
| RUNTIME_ASSERT(format_content.IsAscii()); |
| Vector<const char> chars = format_content.ToAsciiVector(); |
| LOGGER->LogRuntime(chars, elms); |