Author: [EMAIL PROTECTED]
Date: Thu Oct 30 07:30:25 2008
New Revision: 659

Modified:
    branches/bleeding_edge/src/heap-inl.h

Log:
Ignore result of calling Heap::CollectGarbage and continue
to try the next allocation. This is consistent with how we
handle it when calling from JavaScript to C++.
Review URL: http://codereview.chromium.org/8916

Modified: branches/bleeding_edge/src/heap-inl.h
==============================================================================
--- branches/bleeding_edge/src/heap-inl.h       (original)
+++ branches/bleeding_edge/src/heap-inl.h       Thu Oct 30 07:30:25 2008
@@ -222,16 +222,12 @@
        v8::internal::V8::FatalProcessOutOfMemory("CALL_AND_RETRY_0");      \
      }                                                                     \
      if (!__object__->IsRetryAfterGC()) return RETURN_EMPTY;               \
-    if (!Heap::CollectGarbage(                                            \
-            Failure::cast(__object__)->requested(),                       \
-            Failure::cast(__object__)->allocation_space())) {             \
-      v8::internal::V8::FatalProcessOutOfMemory("CALL_AND_RETRY_1");      \
-      return RETURN_EMPTY;                                                \
-    }                                                                     \
+    Heap::CollectGarbage(Failure::cast(__object__)->requested(),          \
+                         Failure::cast(__object__)->allocation_space());  \
      __object__ = FUNCTION_CALL;                                           \
      if (!__object__->IsFailure()) return RETURN_VALUE;                    \
      if (__object__->IsOutOfMemoryFailure()) {                             \
-      v8::internal::V8::FatalProcessOutOfMemory("CALL_AND_RETRY_2");      \
+      v8::internal::V8::FatalProcessOutOfMemory("CALL_AND_RETRY_1");      \
      }                                                                     \
      if (!__object__->IsRetryAfterGC()) return RETURN_EMPTY;               \
      Counters::gc_last_resort_from_handles.Increment();                    \
@@ -243,7 +239,7 @@
      if (!__object__->IsFailure()) return RETURN_VALUE;                    \
      if (__object__->IsOutOfMemoryFailure()) {                             \
        /* TODO(1181417): Fix this. */                                      \
-      v8::internal::V8::FatalProcessOutOfMemory("CALL_AND_RETRY_3");      \
+      v8::internal::V8::FatalProcessOutOfMemory("CALL_AND_RETRY_2");      \
      }                                                                     \
      ASSERT(!__object__->IsRetryAfterGC());                                \
      return RETURN_EMPTY;                                                  \

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to