| Index: src/runtime/runtime-strings.cc
|
| diff --git a/src/runtime/runtime-strings.cc b/src/runtime/runtime-strings.cc
|
| index 8df345313698e197ae3384456f321c989e096f86..f1070b76b2ff4ac21782bd484286ff818f1a878c 100644
|
| --- a/src/runtime/runtime-strings.cc
|
| +++ b/src/runtime/runtime-strings.cc
|
| @@ -140,7 +140,7 @@ RUNTIME_FUNCTION(Runtime_StringIndexOf) {
|
| uint32_t start_index = 0;
|
| if (!index->ToArrayIndex(&start_index)) return Smi::FromInt(-1);
|
|
|
| - RUNTIME_ASSERT(start_index <= static_cast<uint32_t>(sub->length()));
|
| + CHECK(start_index <= static_cast<uint32_t>(sub->length()));
|
| int position = StringMatch(isolate, sub, pat, start_index);
|
| return Smi::FromInt(position);
|
| }
|
| @@ -320,7 +320,7 @@ RUNTIME_FUNCTION(Runtime_StringAdd) {
|
|
|
| RUNTIME_FUNCTION(Runtime_InternalizeString) {
|
| HandleScope handles(isolate);
|
| - RUNTIME_ASSERT(args.length() == 1);
|
| + DCHECK(args.length() == 1);
|
| CONVERT_ARG_HANDLE_CHECKED(String, string, 0);
|
| return *isolate->factory()->InternalizeString(string);
|
| }
|
| @@ -334,7 +334,7 @@ RUNTIME_FUNCTION(Runtime_StringMatch) {
|
| CONVERT_ARG_HANDLE_CHECKED(JSRegExp, regexp, 1);
|
| CONVERT_ARG_HANDLE_CHECKED(JSArray, regexp_info, 2);
|
|
|
| - RUNTIME_ASSERT(regexp_info->HasFastObjectElements());
|
| + CHECK(regexp_info->HasFastObjectElements());
|
|
|
| RegExpImpl::GlobalCache global_cache(regexp, subject, isolate);
|
| if (global_cache.HasException()) return isolate->heap()->exception();
|
| @@ -431,15 +431,14 @@ RUNTIME_FUNCTION(Runtime_StringBuilderConcat) {
|
| CONVERT_ARG_HANDLE_CHECKED(String, special, 2);
|
|
|
| size_t actual_array_length = 0;
|
| - RUNTIME_ASSERT(
|
| - TryNumberToSize(isolate, array->length(), &actual_array_length));
|
| - RUNTIME_ASSERT(array_length >= 0);
|
| - RUNTIME_ASSERT(static_cast<size_t>(array_length) <= actual_array_length);
|
| + CHECK(TryNumberToSize(isolate, array->length(), &actual_array_length));
|
| + CHECK(array_length >= 0);
|
| + CHECK(static_cast<size_t>(array_length) <= actual_array_length);
|
|
|
| // This assumption is used by the slice encoding in one or two smis.
|
| DCHECK(Smi::kMaxValue >= String::kMaxLength);
|
|
|
| - RUNTIME_ASSERT(array->HasFastElements());
|
| + CHECK(array->HasFastElements());
|
| JSObject::EnsureCanContainHeapObjectElements(array);
|
|
|
| int special_length = special->length();
|
| @@ -500,8 +499,8 @@ RUNTIME_FUNCTION(Runtime_StringBuilderJoin) {
|
| THROW_NEW_ERROR_RETURN_FAILURE(isolate, NewInvalidStringLengthError());
|
| }
|
| CONVERT_ARG_HANDLE_CHECKED(String, separator, 2);
|
| - RUNTIME_ASSERT(array->HasFastObjectElements());
|
| - RUNTIME_ASSERT(array_length >= 0);
|
| + CHECK(array->HasFastObjectElements());
|
| + CHECK(array_length >= 0);
|
|
|
| Handle<FixedArray> fixed_array(FixedArray::cast(array->elements()));
|
| if (fixed_array->length() < array_length) {
|
| @@ -512,12 +511,12 @@ RUNTIME_FUNCTION(Runtime_StringBuilderJoin) {
|
| return isolate->heap()->empty_string();
|
| } else if (array_length == 1) {
|
| Object* first = fixed_array->get(0);
|
| - RUNTIME_ASSERT(first->IsString());
|
| + CHECK(first->IsString());
|
| return first;
|
| }
|
|
|
| int separator_length = separator->length();
|
| - RUNTIME_ASSERT(separator_length > 0);
|
| + CHECK(separator_length > 0);
|
| int max_nof_separators =
|
| (String::kMaxLength + separator_length - 1) / separator_length;
|
| if (max_nof_separators < (array_length - 1)) {
|
| @@ -526,7 +525,7 @@ RUNTIME_FUNCTION(Runtime_StringBuilderJoin) {
|
| int length = (array_length - 1) * separator_length;
|
| for (int i = 0; i < array_length; i++) {
|
| Object* element_obj = fixed_array->get(i);
|
| - RUNTIME_ASSERT(element_obj->IsString());
|
| + CHECK(element_obj->IsString());
|
| String* element = String::cast(element_obj);
|
| int increment = element->length();
|
| if (increment > String::kMaxLength - length) {
|
| @@ -548,7 +547,7 @@ RUNTIME_FUNCTION(Runtime_StringBuilderJoin) {
|
| uc16* end = sink + length;
|
| #endif
|
|
|
| - RUNTIME_ASSERT(fixed_array->get(0)->IsString());
|
| + CHECK(fixed_array->get(0)->IsString());
|
| String* first = String::cast(fixed_array->get(0));
|
| String* separator_raw = *separator;
|
|
|
| @@ -561,7 +560,7 @@ RUNTIME_FUNCTION(Runtime_StringBuilderJoin) {
|
| String::WriteToFlat(separator_raw, sink, 0, separator_length);
|
| sink += separator_length;
|
|
|
| - RUNTIME_ASSERT(fixed_array->get(i)->IsString());
|
| + CHECK(fixed_array->get(i)->IsString());
|
| String* element = String::cast(fixed_array->get(i));
|
| int element_length = element->length();
|
| DCHECK(sink + element_length <= end);
|
| @@ -640,18 +639,18 @@ RUNTIME_FUNCTION(Runtime_SparseJoinWithSeparator) {
|
| CONVERT_ARG_HANDLE_CHECKED(String, separator, 2);
|
| // elements_array is fast-mode JSarray of alternating positions
|
| // (increasing order) and strings.
|
| - RUNTIME_ASSERT(elements_array->HasFastSmiOrObjectElements());
|
| + CHECK(elements_array->HasFastSmiOrObjectElements());
|
| // array_length is length of original array (used to add separators);
|
| // separator is string to put between elements. Assumed to be non-empty.
|
| - RUNTIME_ASSERT(array_length > 0);
|
| + CHECK(array_length > 0);
|
|
|
| // Find total length of join result.
|
| int string_length = 0;
|
| bool is_one_byte = separator->IsOneByteRepresentation();
|
| bool overflow = false;
|
| CONVERT_NUMBER_CHECKED(int, elements_length, Int32, elements_array->length());
|
| - RUNTIME_ASSERT(elements_length <= elements_array->elements()->length());
|
| - RUNTIME_ASSERT((elements_length & 1) == 0); // Even length.
|
| + CHECK(elements_length <= elements_array->elements()->length());
|
| + CHECK((elements_length & 1) == 0); // Even length.
|
| FixedArray* elements = FixedArray::cast(elements_array->elements());
|
| {
|
| DisallowHeapAllocation no_gc;
|
|
|