1 /* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "ecmascript/platform/parameters.h" 17 18 #if !defined(STANDALONE_MODE) 19 #include "parameters.h" 20 #endif 21 22 namespace panda::ecmascript { GetImportDuration(uint64_t defaultTime)23 uint64_t GetImportDuration(uint64_t defaultTime) 24 { 25 #if !defined(STANDALONE_MODE) 26 return OHOS::system::GetUintParameter<uint64_t>("persist.ark.importDuration", 27 defaultTime); 28 #else 29 return defaultTime; 30 #endif 31 } 32 GetPoolSize(size_t defaultSize)33 size_t GetPoolSize(size_t defaultSize) 34 { 35 #if !defined(STANDALONE_MODE) 36 return OHOS::system::GetUintParameter<size_t>("persist.ark.heap.poolsize", defaultSize / 1_MB) * 1_MB; 37 #else 38 return defaultSize; 39 #endif 40 } 41 IsEnableCMCGC(bool defaultValue)42 bool IsEnableCMCGC(bool defaultValue) 43 { 44 #if !defined(STANDALONE_MODE) 45 return OHOS::system::GetBoolParameter("persist.ark.enable.cmc.gc", defaultValue); 46 #else 47 return defaultValue; 48 #endif 49 } 50 GetCMCMaxGarbageCacheSize(uint64_t defaultSize)51 uint64_t GetCMCMaxGarbageCacheSize(uint64_t defaultSize) 52 { 53 #if !defined(STANDALONE_MODE) 54 return OHOS::system::GetUintParameter<uint64_t>("persist.ark.cmc.max.garbage.cache.size", defaultSize); 55 #else 56 return defaultSize; 57 #endif 58 } 59 } // namespace panda::ecmascript 60