Merge "dex_preopt: Use the unstripped jar file for generating profiles." into oc-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
afb81de1f2
@@ -142,16 +142,19 @@ ifeq (true,$(LOCAL_DEX_PREOPT_GENERATE_PROFILE))
|
|||||||
ifndef LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING
|
ifndef LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING
|
||||||
$(call pretty-error,Must have specified class listing (LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING))
|
$(call pretty-error,Must have specified class listing (LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING))
|
||||||
endif
|
endif
|
||||||
|
ifeq (,$(dex_preopt_profile_src_file))
|
||||||
|
$(call pretty-error, Internal error: dex_preopt_profile_src_file must be set)
|
||||||
|
endif
|
||||||
my_built_profile := $(dir $(LOCAL_BUILT_MODULE))/profile.prof
|
my_built_profile := $(dir $(LOCAL_BUILT_MODULE))/profile.prof
|
||||||
my_dex_location := $(patsubst $(PRODUCT_OUT)%,%,$(LOCAL_INSTALLED_MODULE))
|
my_dex_location := $(patsubst $(PRODUCT_OUT)%,%,$(LOCAL_INSTALLED_MODULE))
|
||||||
$(built_odex): $(my_built_profile)
|
$(built_odex): $(my_built_profile)
|
||||||
$(built_odex): PRIVATE_PROFILE_PREOPT_FLAGS := --profile-file=$(my_built_profile)
|
$(built_odex): PRIVATE_PROFILE_PREOPT_FLAGS := --profile-file=$(my_built_profile)
|
||||||
$(my_built_profile): PRIVATE_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
|
$(my_built_profile): PRIVATE_BUILT_MODULE := $(dex_preopt_profile_src_file)
|
||||||
$(my_built_profile): PRIVATE_DEX_LOCATION := $(my_dex_location)
|
$(my_built_profile): PRIVATE_DEX_LOCATION := $(my_dex_location)
|
||||||
$(my_built_profile): PRIVATE_SOURCE_CLASSES := $(LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING)
|
$(my_built_profile): PRIVATE_SOURCE_CLASSES := $(LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING)
|
||||||
$(my_built_profile): $(LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING)
|
$(my_built_profile): $(LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING)
|
||||||
$(my_built_profile): $(PROFMAN)
|
$(my_built_profile): $(PROFMAN)
|
||||||
$(my_built_profile): $(LOCAL_BUILT_MODULE)
|
$(my_built_profile): $(dex_preopt_profile_src_file)
|
||||||
$(my_built_profile):
|
$(my_built_profile):
|
||||||
$(hide) mkdir -p $(dir $@)
|
$(hide) mkdir -p $(dir $@)
|
||||||
ANDROID_LOG_TAGS="*:e" $(PROFMAN) \
|
ANDROID_LOG_TAGS="*:e" $(PROFMAN) \
|
||||||
@@ -159,6 +162,7 @@ $(my_built_profile):
|
|||||||
--apk=$(PRIVATE_BUILT_MODULE) \
|
--apk=$(PRIVATE_BUILT_MODULE) \
|
||||||
--dex-location=$(PRIVATE_DEX_LOCATION) \
|
--dex-location=$(PRIVATE_DEX_LOCATION) \
|
||||||
--reference-profile-file=$@
|
--reference-profile-file=$@
|
||||||
|
dex_preopt_profile_src_file:=
|
||||||
my_installed_profile := $(LOCAL_INSTALLED_MODULE).prof
|
my_installed_profile := $(LOCAL_INSTALLED_MODULE).prof
|
||||||
$(eval $(call copy-one-file,$(my_built_profile),$(my_installed_profile)))
|
$(eval $(call copy-one-file,$(my_built_profile),$(my_installed_profile)))
|
||||||
build_installed_profile:=$(my_built_profile):$(my_installed_profile)
|
build_installed_profile:=$(my_built_profile):$(my_installed_profile)
|
||||||
|
13
core/java.mk
13
core/java.mk
@@ -381,6 +381,19 @@ include $(BUILD_SYSTEM)/java_common.mk
|
|||||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_HAS_RS_SOURCES := $(if $(renderscript_sources),true)
|
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_HAS_RS_SOURCES := $(if $(renderscript_sources),true)
|
||||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RS_SOURCE_INTERMEDIATES_DIR := $(intermediates.COMMON)/renderscript
|
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RS_SOURCE_INTERMEDIATES_DIR := $(intermediates.COMMON)/renderscript
|
||||||
|
|
||||||
|
# Set the profile source so that the odex / profile code included from java.mk
|
||||||
|
# can find it.
|
||||||
|
#
|
||||||
|
# TODO: b/64896089, this is broken when called from package_internal.mk, since the file
|
||||||
|
# we preopt from is a temporary file. This will be addressed in a follow up, possibly
|
||||||
|
# by disabling stripping for profile guided preopt (which may be desirable for other
|
||||||
|
# reasons anyway).
|
||||||
|
#
|
||||||
|
# Note that we set this only when called from package_internal.mk and not in other cases.
|
||||||
|
ifneq (,$(called_from_package_internal)
|
||||||
|
dex_preopt_profile_src_file := $(LOCAL_BUILT_MODULE)
|
||||||
|
endif
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# defines built_odex along with rule to install odex
|
# defines built_odex along with rule to install odex
|
||||||
include $(BUILD_SYSTEM)/dex_preopt_odex_install.mk
|
include $(BUILD_SYSTEM)/dex_preopt_odex_install.mk
|
||||||
|
@@ -44,6 +44,7 @@ endif
|
|||||||
# java libraries produce javalib.jar, so we will copy classes.jar there too.
|
# java libraries produce javalib.jar, so we will copy classes.jar there too.
|
||||||
intermediates.COMMON := $(call local-intermediates-dir,COMMON)
|
intermediates.COMMON := $(call local-intermediates-dir,COMMON)
|
||||||
common_javalib.jar := $(intermediates.COMMON)/javalib.jar
|
common_javalib.jar := $(intermediates.COMMON)/javalib.jar
|
||||||
|
dex_preopt_profile_src_file := $(common_javalib.jar)
|
||||||
LOCAL_INTERMEDIATE_TARGETS += $(common_javalib.jar)
|
LOCAL_INTERMEDIATE_TARGETS += $(common_javalib.jar)
|
||||||
|
|
||||||
ifeq ($(LOCAL_PROGUARD_ENABLED),disabled)
|
ifeq ($(LOCAL_PROGUARD_ENABLED),disabled)
|
||||||
|
@@ -327,9 +327,11 @@ endif
|
|||||||
|
|
||||||
include $(BUILD_SYSTEM)/android_manifest.mk
|
include $(BUILD_SYSTEM)/android_manifest.mk
|
||||||
|
|
||||||
|
called_from_package_internal := true
|
||||||
#################################
|
#################################
|
||||||
include $(BUILD_SYSTEM)/java.mk
|
include $(BUILD_SYSTEM)/java.mk
|
||||||
#################################
|
#################################
|
||||||
|
called_from_package_internal :=
|
||||||
|
|
||||||
LOCAL_SDK_RES_VERSION:=$(strip $(LOCAL_SDK_RES_VERSION))
|
LOCAL_SDK_RES_VERSION:=$(strip $(LOCAL_SDK_RES_VERSION))
|
||||||
ifeq ($(LOCAL_SDK_RES_VERSION),)
|
ifeq ($(LOCAL_SDK_RES_VERSION),)
|
||||||
|
@@ -283,6 +283,8 @@ my_extracted_apk :=
|
|||||||
my_extract_apk :=
|
my_extract_apk :=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
dex_preopt_profile_src_file := $(my_prebuilt_src_file)
|
||||||
|
|
||||||
rs_compatibility_jni_libs :=
|
rs_compatibility_jni_libs :=
|
||||||
include $(BUILD_SYSTEM)/install_jni_libs.mk
|
include $(BUILD_SYSTEM)/install_jni_libs.mk
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user