diff options
Diffstat (limited to 'runtime/parsed_options.cc')
-rw-r--r-- | runtime/parsed_options.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/runtime/parsed_options.cc b/runtime/parsed_options.cc index 9ed5e7b8f0..7ac5bceda2 100644 --- a/runtime/parsed_options.cc +++ b/runtime/parsed_options.cc @@ -183,6 +183,7 @@ bool ParsedOptions::Parse(const RuntimeOptions& options, bool ignore_unrecognize heap_maximum_size_ = gc::Heap::kDefaultMaximumSize; heap_min_free_ = gc::Heap::kDefaultMinFree; heap_max_free_ = gc::Heap::kDefaultMaxFree; + heap_non_moving_space_capacity_ = gc::Heap::kDefaultNonMovingSpaceCapacity; heap_target_utilization_ = gc::Heap::kDefaultTargetUtilization; foreground_heap_growth_multiplier_ = gc::Heap::kDefaultHeapGrowthMultiplier; heap_growth_limit_ = 0; // 0 means no growth limit . @@ -351,6 +352,14 @@ bool ParsedOptions::Parse(const RuntimeOptions& options, bool ignore_unrecognize return false; } heap_max_free_ = size; + } else if (StartsWith(option, "-XX:NonMovingSpaceCapacity=")) { + size_t size = ParseMemoryOption( + option.substr(strlen("-XX:NonMovingSpaceCapacity=")).c_str(), 1024); + if (size == 0) { + Usage("Failed to parse memory option %s\n", option.c_str()); + return false; + } + heap_non_moving_space_capacity_ = size; } else if (StartsWith(option, "-XX:HeapTargetUtilization=")) { if (!ParseDouble(option, '=', 0.1, 0.9, &heap_target_utilization_)) { return false; @@ -395,10 +404,6 @@ bool ParsedOptions::Parse(const RuntimeOptions& options, bool ignore_unrecognize } else if (option == "-XX:IgnoreMaxFootprint") { ignore_max_footprint_ = true; } else if (option == "-XX:LowMemoryMode") { - if (background_collector_type_ == gc::kCollectorTypeHomogeneousSpaceCompact) { - // Use semispace instead of homogenous space compact for low memory mode. - background_collector_type_ = gc::kCollectorTypeSS; - } low_memory_mode_ = true; // TODO Might want to turn off must_relocate here. } else if (option == "-XX:UseTLAB") { @@ -618,7 +623,7 @@ bool ParsedOptions::Parse(const RuntimeOptions& options, bool ignore_unrecognize return false; } } else if (StartsWith(option, "-XX:NativeBridge=")) { - if (!ParseStringAfterChar(option, '=', &native_bridge_library_path_)) { + if (!ParseStringAfterChar(option, '=', &native_bridge_library_filename_)) { return false; } } else if (StartsWith(option, "-ea") || @@ -754,6 +759,7 @@ void ParsedOptions::Usage(const char* fmt, ...) { UsageMessage(stream, " -XX:HeapGrowthLimit=N\n"); UsageMessage(stream, " -XX:HeapMinFree=N\n"); UsageMessage(stream, " -XX:HeapMaxFree=N\n"); + UsageMessage(stream, " -XX:NonMovingSpaceCapacity=N\n"); UsageMessage(stream, " -XX:HeapTargetUtilization=doublevalue\n"); UsageMessage(stream, " -XX:ForegroundHeapGrowthMultiplier=doublevalue\n"); UsageMessage(stream, " -XX:LowMemoryMode\n"); |