Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(730)

Side by Side Diff: src/isolate.cc

Issue 1794943007: On stack overflow, just perform a regular GC instead of an OOM emergency GC. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/isolate.h" 5 #include "src/isolate.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include <fstream> // NOLINT(readability/streams) 9 #include <fstream> // NOLINT(readability/streams)
10 #include <sstream> 10 #include <sstream>
(...skipping 882 matching lines...) Expand 10 before | Expand all | Expand 10 after
893 } else { 893 } else {
894 Handle<JSObject> boilerplate = stack_overflow_boilerplate(); 894 Handle<JSObject> boilerplate = stack_overflow_boilerplate();
895 Handle<JSObject> copy = factory()->CopyJSObject(boilerplate); 895 Handle<JSObject> copy = factory()->CopyJSObject(boilerplate);
896 CaptureAndSetSimpleStackTrace(copy, factory()->undefined_value()); 896 CaptureAndSetSimpleStackTrace(copy, factory()->undefined_value());
897 exception = copy; 897 exception = copy;
898 } 898 }
899 Throw(*exception, nullptr); 899 Throw(*exception, nullptr);
900 900
901 #ifdef VERIFY_HEAP 901 #ifdef VERIFY_HEAP
902 if (FLAG_verify_heap && FLAG_stress_compaction) { 902 if (FLAG_verify_heap && FLAG_stress_compaction) {
903 heap()->CollectAllAvailableGarbage("trigger compaction"); 903 heap()->CollectAllGarbage(Heap::kNoGCFlags, "trigger compaction");
904 } 904 }
905 #endif // VERIFY_HEAP 905 #endif // VERIFY_HEAP
906 906
907 return heap()->exception(); 907 return heap()->exception();
908 } 908 }
909 909
910 910
911 Object* Isolate::TerminateExecution() { 911 Object* Isolate::TerminateExecution() {
912 return Throw(heap_.termination_exception(), nullptr); 912 return Throw(heap_.termination_exception(), nullptr);
913 } 913 }
(...skipping 2061 matching lines...) Expand 10 before | Expand all | Expand 10 after
2975 // Then check whether this scope intercepts. 2975 // Then check whether this scope intercepts.
2976 if ((flag & intercept_mask_)) { 2976 if ((flag & intercept_mask_)) {
2977 intercepted_flags_ |= flag; 2977 intercepted_flags_ |= flag;
2978 return true; 2978 return true;
2979 } 2979 }
2980 return false; 2980 return false;
2981 } 2981 }
2982 2982
2983 } // namespace internal 2983 } // namespace internal
2984 } // namespace v8 2984 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698