| Index: src/runtime/runtime-collections.cc
|
| diff --git a/src/runtime/runtime-collections.cc b/src/runtime/runtime-collections.cc
|
| index bacd1c606f9b7046867a5a9f26035d23059f6ec6..e5f3ba1cfb71bd76badc67e2295951537ef2dd39 100644
|
| --- a/src/runtime/runtime-collections.cc
|
| +++ b/src/runtime/runtime-collections.cc
|
| @@ -266,6 +266,11 @@ RUNTIME_FUNCTION(Runtime_GetWeakMapEntries) {
|
| }
|
| Handle<FixedArray> entries =
|
| isolate->factory()->NewFixedArray(max_entries * 2);
|
| + // Allocation can cause GC can delete weak elements. Reload.
|
| + if (max_entries > table->NumberOfElements()) {
|
| + max_entries = table->NumberOfElements();
|
| + }
|
| +
|
| {
|
| DisallowHeapAllocation no_gc;
|
| int count = 0;
|
|
|