Index: src/api.cc |
diff --git a/src/api.cc b/src/api.cc |
index 350ce1be164e0b2ee885185b5d2dc5afcdf46f58..143799a9285c51e3879302d1448b685820b73d8d 100644 |
--- a/src/api.cc |
+++ b/src/api.cc |
@@ -8706,7 +8706,6 @@ bool Isolate::IdleNotificationDeadline(double deadline_in_seconds) { |
return isolate->heap()->IdleNotification(deadline_in_seconds); |
} |
- |
void Isolate::LowMemoryNotification() { |
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this); |
{ |
@@ -8716,6 +8715,15 @@ void Isolate::LowMemoryNotification() { |
isolate->heap()->CollectAllAvailableGarbage( |
i::GarbageCollectionReason::kLowMemoryNotification); |
} |
+ { |
+ i::HeapIterator iterator(isolate->heap()); |
+ i::HeapObject* obj; |
+ while ((obj = iterator.next()) != nullptr) { |
+ if (obj->IsAbstractCode()) { |
+ i::AbstractCode::cast(obj)->DropStackFrameCache(); |
+ } |
+ } |
+ } |
} |