Index: src/api.cc |
=================================================================== |
--- src/api.cc (revision 4073) |
+++ src/api.cc (working copy) |
@@ -438,7 +438,6 @@ |
void V8::DisposeGlobal(i::Object** obj) { |
LOG_API("DisposeGlobal"); |
if (!i::V8::IsRunning()) return; |
- if ((*obj)->IsGlobalContext()) i::Heap::NotifyContextDisposedDeprecated(); |
i::GlobalHandles::Destroy(obj); |
} |
@@ -2858,13 +2857,6 @@ |
i::Handle<i::Context> env; |
{ |
ENTER_V8; |
-#if defined(ANDROID) |
- // On mobile device, full GC is expensive, leave it to the system to |
- // decide when should make a full GC. |
-#else |
- // Give the heap a chance to cleanup if we've disposed contexts. |
- i::Heap::CollectAllGarbageIfContextDisposedDeprecated(); |
-#endif |
v8::Handle<ObjectTemplate> proxy_template = global_template; |
i::Handle<i::FunctionTemplateInfo> proxy_constructor; |
i::Handle<i::FunctionTemplateInfo> global_constructor; |
@@ -3567,6 +3559,15 @@ |
} |
+bool V8::IsExecutionTerminating() { |
+ if (!i::V8::IsRunning()) return false; |
+ if (i::Top::has_scheduled_exception()) { |
+ return i::Top::scheduled_exception() == i::Heap::termination_exception(); |
+ } |
+ return false; |
+} |
+ |
+ |
String::Utf8Value::Utf8Value(v8::Handle<v8::Value> obj) { |
EnsureInitialized("v8::String::Utf8Value::Utf8Value()"); |
if (obj.IsEmpty()) { |