Index: src/factory.cc |
diff --git a/src/factory.cc b/src/factory.cc |
index 52a194180be30b9c675b83ef45d7ce06f137f45e..044e5eacd9f73e5bc86a1e8bb5ffdb6235872a3f 100644 |
--- a/src/factory.cc |
+++ b/src/factory.cc |
@@ -255,8 +255,8 @@ Handle<String> Factory::NewStringFromTwoByte(Vector<const uc16> string, |
} |
-Handle<SeqOneByteString> Factory::NewRawOneByteString(int length, |
- PretenureFlag pretenure) { |
+MaybeHandle<SeqOneByteString> Factory::NewRawOneByteString( |
+ int length, PretenureFlag pretenure) { |
CALL_HEAP_FUNCTION( |
isolate(), |
isolate()->heap()->AllocateRawOneByteString(length, pretenure), |
@@ -264,8 +264,8 @@ Handle<SeqOneByteString> Factory::NewRawOneByteString(int length, |
} |
-Handle<SeqTwoByteString> Factory::NewRawTwoByteString(int length, |
- PretenureFlag pretenure) { |
+MaybeHandle<SeqTwoByteString> Factory::NewRawTwoByteString( |
+ int length, PretenureFlag pretenure) { |
CALL_HEAP_FUNCTION( |
isolate(), |
isolate()->heap()->AllocateRawTwoByteString(length, pretenure), |
@@ -298,13 +298,15 @@ static inline Handle<String> MakeOrFindTwoCharacterString(Isolate* isolate, |
if (static_cast<unsigned>(c1 | c2) <= String::kMaxOneByteCharCodeU) { |
// We can do this. |
ASSERT(IsPowerOf2(String::kMaxOneByteCharCodeU + 1)); // because of this. |
- Handle<SeqOneByteString> str = isolate->factory()->NewRawOneByteString(2); |
+ Handle<SeqOneByteString> str = |
+ isolate->factory()->NewRawOneByteString(2).ToHandleChecked(); |
uint8_t* dest = str->GetChars(); |
dest[0] = static_cast<uint8_t>(c1); |
dest[1] = static_cast<uint8_t>(c2); |
return str; |
} else { |
- Handle<SeqTwoByteString> str = isolate->factory()->NewRawTwoByteString(2); |
+ Handle<SeqTwoByteString> str = |
+ isolate->factory()->NewRawTwoByteString(2).ToHandleChecked(); |
uc16* dest = str->GetChars(); |
dest[0] = c1; |
dest[1] = c2; |
@@ -380,7 +382,8 @@ Handle<String> Factory::NewConsString(Handle<String> left, |
STATIC_ASSERT(ConsString::kMinLength <= String::kMaxLength); |
if (is_one_byte) { |
- Handle<SeqOneByteString> result = NewRawOneByteString(length); |
+ Handle<SeqOneByteString> result = |
+ NewRawOneByteString(length).ToHandleChecked(); |
DisallowHeapAllocation no_gc; |
uint8_t* dest = result->GetChars(); |
// Copy left part. |
@@ -397,8 +400,10 @@ Handle<String> Factory::NewConsString(Handle<String> left, |
} |
return (is_one_byte_data_in_two_byte_string) |
- ? ConcatStringContent<uint8_t>(NewRawOneByteString(length), left, right) |
- : ConcatStringContent<uc16>(NewRawTwoByteString(length), left, right); |
+ ? ConcatStringContent<uint8_t>( |
+ NewRawOneByteString(length).ToHandleChecked(), left, right) |
+ : ConcatStringContent<uc16>( |
+ NewRawTwoByteString(length).ToHandleChecked(), left, right); |
} |
Handle<ConsString> result = NewRawConsString( |
@@ -422,10 +427,10 @@ Handle<String> Factory::NewFlatConcatString(Handle<String> first, |
int total_length = first->length() + second->length(); |
if (first->IsOneByteRepresentation() && second->IsOneByteRepresentation()) { |
return ConcatStringContent<uint8_t>( |
- NewRawOneByteString(total_length), first, second); |
+ NewRawOneByteString(total_length).ToHandleChecked(), first, second); |
} else { |
return ConcatStringContent<uc16>( |
- NewRawTwoByteString(total_length), first, second); |
+ NewRawTwoByteString(total_length).ToHandleChecked(), first, second); |
} |
} |
@@ -463,15 +468,15 @@ Handle<String> Factory::NewProperSubString(Handle<String> str, |
if (!FLAG_string_slices || length < SlicedString::kMinLength) { |
if (str->IsOneByteRepresentation()) { |
- Handle<SeqOneByteString> result = NewRawOneByteString(length); |
- ASSERT(!result.is_null()); |
+ Handle<SeqOneByteString> result = |
+ NewRawOneByteString(length).ToHandleChecked(); |
uint8_t* dest = result->GetChars(); |
DisallowHeapAllocation no_gc; |
String::WriteToFlat(*str, dest, begin, end); |
return result; |
} else { |
- Handle<SeqTwoByteString> result = NewRawTwoByteString(length); |
- ASSERT(!result.is_null()); |
+ Handle<SeqTwoByteString> result = |
+ NewRawTwoByteString(length).ToHandleChecked(); |
uc16* dest = result->GetChars(); |
DisallowHeapAllocation no_gc; |
String::WriteToFlat(*str, dest, begin, end); |