| Index: runtime/vm/dart.cc
|
| ===================================================================
|
| --- runtime/vm/dart.cc (revision 43108)
|
| +++ runtime/vm/dart.cc (working copy)
|
| @@ -34,10 +34,14 @@
|
|
|
| DEFINE_FLAG(int, new_gen_semi_max_size, (kWordSize <= 4) ? 16 : 32,
|
| "Max size of new gen semi space in MB");
|
| -DEFINE_FLAG(int, old_gen_heap_size, Heap::kHeapSizeInMB,
|
| - "Max size of old gen heap size in MB,"
|
| +DEFINE_FLAG(int, old_gen_heap_size, 0,
|
| + "Max size of old gen heap size in MB, or 0 for unlimited,"
|
| "e.g: --old_gen_heap_size=1024 allows up to 1024MB old gen heap");
|
| +DEFINE_FLAG(int, external_max_size, (kWordSize <= 4) ? 512 : 1024,
|
| + "Max total size of external allocations in MB, or 0 for unlimited,"
|
| + "e.g: --external_max_size=1024 allows up to 1024MB of externals");
|
|
|
| +
|
| DECLARE_FLAG(bool, print_class_table);
|
| DECLARE_FLAG(bool, trace_isolates);
|
|
|
| @@ -114,7 +118,8 @@
|
| HandleScope handle_scope(vm_isolate_);
|
| Heap::Init(vm_isolate_,
|
| 0, // New gen size 0; VM isolate should only allocate in old.
|
| - FLAG_old_gen_heap_size * MBInWords);
|
| + FLAG_old_gen_heap_size * MBInWords,
|
| + FLAG_external_max_size * MBInWords);
|
| ObjectStore::Init(vm_isolate_);
|
| TargetCPUFeatures::InitOnce();
|
| Object::InitOnce(vm_isolate_);
|
| @@ -197,7 +202,8 @@
|
| HandleScope handle_scope(isolate);
|
| Heap::Init(isolate,
|
| FLAG_new_gen_semi_max_size * MBInWords,
|
| - FLAG_old_gen_heap_size * MBInWords);
|
| + FLAG_old_gen_heap_size * MBInWords,
|
| + FLAG_external_max_size * MBInWords);
|
| ObjectIdRing::Init(isolate);
|
| ObjectStore::Init(isolate);
|
|
|
|
|