From: Nicolas Geoffray Date: Mon, 12 Jun 2017 14:19:16 +0000 (+0100) Subject: Add a new PRODUCT variable for forcing 'speed' preopt. X-Git-Url: http://git.osdn.net/view?p=android-x86%2Fbuild.git;a=commitdiff_plain;h=c3ffeddc59b006518cf7a8c7d70081bf84030e98 Add a new PRODUCT variable for forcing 'speed' preopt. bug: 35872915 Test: build (cherry picked from commit 4a0ad4ac61081f56c4aab50a2aed3001e51f9126) Change-Id: Idfea3c379a2b1dab30ee94a58ffe86d508f8522f --- diff --git a/core/dex_preopt.mk b/core/dex_preopt.mk index f940c72e8..0606c83bc 100644 --- a/core/dex_preopt.mk +++ b/core/dex_preopt.mk @@ -24,7 +24,7 @@ DEX_PREOPT_DEFAULT ?= true SYSTEM_OTHER_ODEX_FILTER ?= app/% priv-app/% # Method returning whether the install path $(1) should be for system_other. -install-on-system-other = $(filter-out $(PRODUCT_SYSTEM_SERVER_APPS),$(basename $(notdir $(filter $(foreach f,$(SYSTEM_OTHER_ODEX_FILTER),$(TARGET_OUT)/$(f)),$(1))))) +install-on-system-other = $(filter-out $(PRODUCT_DEXPREOPT_SPEED_APPS) $(PRODUCT_SYSTEM_SERVER_APPS),$(basename $(notdir $(filter $(foreach f,$(SYSTEM_OTHER_ODEX_FILTER),$(TARGET_OUT)/$(f)),$(1))))) # The default values for pre-opting: always preopt PIC. # Conditional to building on linux, as dex2oat currently does not work on darwin. diff --git a/core/dex_preopt_odex_install.mk b/core/dex_preopt_odex_install.mk index a3fb410f9..b9c0fc60b 100644 --- a/core/dex_preopt_odex_install.mk +++ b/core/dex_preopt_odex_install.mk @@ -152,8 +152,8 @@ LOCAL_DEX_PREOPT_FLAGS := $(PRODUCT_DEX_PREOPT_DEFAULT_FLAGS) endif endif -ifneq (,$(filter $(PRODUCT_SYSTEM_SERVER_JARS) $(PRODUCT_SYSTEM_SERVER_APPS),$(LOCAL_MODULE))) - # Jars of system server, and apps loaded into system server should be +ifneq (,$(filter $(PRODUCT_SYSTEM_SERVER_JARS) $(PRODUCT_DEXPREOPT_SPEED_APPS) $(PRODUCT_SYSTEM_SERVER_APPS),$(LOCAL_MODULE))) + # Jars of system server, apps loaded into system server, and apps the product wants to be # compiled with the 'speed' compiler filter. LOCAL_DEX_PREOPT_FLAGS += --compiler-filter=speed else diff --git a/core/product.mk b/core/product.mk index 7742cc3b9..34cd21ca6 100644 --- a/core/product.mk +++ b/core/product.mk @@ -114,6 +114,7 @@ _product_var_list := \ PRODUCT_SYSTEM_PROPERTY_BLACKLIST \ PRODUCT_SYSTEM_SERVER_APPS \ PRODUCT_SYSTEM_SERVER_JARS \ + PRODUCT_DEXPREOPT_SPEED_APPS \ PRODUCT_VBOOT_SIGNING_KEY \ PRODUCT_VBOOT_SIGNING_SUBKEY \ PRODUCT_VERITY_SIGNING_KEY \ diff --git a/core/product_config.mk b/core/product_config.mk index e069ff179..32a380935 100644 --- a/core/product_config.mk +++ b/core/product_config.mk @@ -269,6 +269,7 @@ all_product_configs := PRODUCT_BOOT_JARS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_BOOT_JARS)) PRODUCT_SYSTEM_SERVER_JARS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SYSTEM_SERVER_JARS)) PRODUCT_SYSTEM_SERVER_APPS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SYSTEM_SERVER_APPS)) +PRODUCT_DEXPREOPT_SPEED_APPS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEXPREOPT_SPEED_APPS)) # Find the device that this product maps to. TARGET_DEVICE := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEVICE) diff --git a/target/product/core.mk b/target/product/core.mk index a6470acd9..a2b0f1c55 100644 --- a/target/product/core.mk +++ b/target/product/core.mk @@ -68,4 +68,7 @@ PRODUCT_SYSTEM_SERVER_APPS += \ KeyChain \ Telecom \ +# The set of packages we want to force 'speed' compilation on. +PRODUCT_DEXPREOPT_SPEED_APPS += \ + $(call inherit-product, $(SRC_TARGET_DIR)/product/core_base.mk) diff --git a/target/product/core_tiny.mk b/target/product/core_tiny.mk index 7bf16f578..e9920f2a7 100644 --- a/target/product/core_tiny.mk +++ b/target/product/core_tiny.mk @@ -116,6 +116,9 @@ PRODUCT_SYSTEM_SERVER_APPS += \ SettingsProvider \ WallpaperBackup \ +# The set of packages we want to force 'speed' compilation on. +PRODUCT_DEXPREOPT_SPEED_APPS := \ + PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ ro.zygote=zygote32 PRODUCT_COPY_FILES += \