Index: src/heap-inl.h |
diff --git a/src/heap-inl.h b/src/heap-inl.h |
index efad2fbf5969cf7604915db269934615e36c3a9a..7e465d5c9386858c05088c89073d3365c232167e 100644 |
--- a/src/heap-inl.h |
+++ b/src/heap-inl.h |
@@ -138,7 +138,7 @@ MaybeObject* Heap::AllocateInternalizedStringImpl( |
MaybeObject* Heap::AllocateOneByteInternalizedString(Vector<const uint8_t> str, |
uint32_t hash_field) { |
if (str.length() > String::kMaxLength) { |
- return Failure::OutOfMemoryException(0x2); |
+ v8::internal::Heap::FatalProcessOutOfMemory("invalid string length", true); |
} |
// Compute map and object size. |
Map* map = ascii_internalized_string_map(); |
@@ -171,7 +171,7 @@ MaybeObject* Heap::AllocateOneByteInternalizedString(Vector<const uint8_t> str, |
MaybeObject* Heap::AllocateTwoByteInternalizedString(Vector<const uc16> str, |
uint32_t hash_field) { |
if (str.length() > String::kMaxLength) { |
- return Failure::OutOfMemoryException(0x3); |
+ v8::internal::Heap::FatalProcessOutOfMemory("invalid string length", true); |
} |
// Compute map and object size. |
Map* map = internalized_string_map(); |
@@ -641,24 +641,18 @@ Isolate* Heap::isolate() { |
// Warning: Do not use the identifiers __object__, __maybe_object__ or |
// __scope__ in a call to this macro. |
-#define CALL_AND_RETRY(ISOLATE, FUNCTION_CALL, RETURN_VALUE, RETURN_EMPTY, OOM)\ |
+#define CALL_AND_RETRY(ISOLATE, FUNCTION_CALL, RETURN_VALUE, RETURN_EMPTY) \ |
do { \ |
GC_GREEDY_CHECK(ISOLATE); \ |
MaybeObject* __maybe_object__ = FUNCTION_CALL; \ |
Object* __object__ = NULL; \ |
if (__maybe_object__->ToObject(&__object__)) RETURN_VALUE; \ |
- if (__maybe_object__->IsOutOfMemory()) { \ |
- OOM; \ |
- } \ |
if (!__maybe_object__->IsRetryAfterGC()) RETURN_EMPTY; \ |
(ISOLATE)->heap()->CollectGarbage(Failure::cast(__maybe_object__)-> \ |
allocation_space(), \ |
"allocation failure"); \ |
__maybe_object__ = FUNCTION_CALL; \ |
if (__maybe_object__->ToObject(&__object__)) RETURN_VALUE; \ |
- if (__maybe_object__->IsOutOfMemory()) { \ |
- OOM; \ |
- } \ |
if (!__maybe_object__->IsRetryAfterGC()) RETURN_EMPTY; \ |
(ISOLATE)->counters()->gc_last_resort_from_handles()->Increment(); \ |
(ISOLATE)->heap()->CollectAllAvailableGarbage("last resort gc"); \ |
@@ -667,9 +661,6 @@ Isolate* Heap::isolate() { |
__maybe_object__ = FUNCTION_CALL; \ |
} \ |
if (__maybe_object__->ToObject(&__object__)) RETURN_VALUE; \ |
- if (__maybe_object__->IsOutOfMemory()) { \ |
- OOM; \ |
- } \ |
if (__maybe_object__->IsRetryAfterGC()) { \ |
/* TODO(1181417): Fix this. */ \ |
v8::internal::Heap::FatalProcessOutOfMemory("CALL_AND_RETRY_LAST", true);\ |
@@ -683,8 +674,7 @@ Isolate* Heap::isolate() { |
ISOLATE, \ |
FUNCTION_CALL, \ |
RETURN_VALUE, \ |
- RETURN_EMPTY, \ |
- v8::internal::Heap::FatalProcessOutOfMemory("CALL_AND_RETRY", true)) |
+ RETURN_EMPTY) |
#define CALL_HEAP_FUNCTION(ISOLATE, FUNCTION_CALL, TYPE) \ |
CALL_AND_RETRY_OR_DIE(ISOLATE, \ |
@@ -701,7 +691,6 @@ Isolate* Heap::isolate() { |
CALL_AND_RETRY(ISOLATE, \ |
FUNCTION_CALL, \ |
return __object__, \ |
- return __maybe_object__, \ |
return __maybe_object__) |