diff options
-rw-r--r-- | Android.mk | 20 | ||||
-rw-r--r-- | build/Android.common_build.mk | 7 | ||||
-rw-r--r-- | build/Android.common_path.mk | 24 | ||||
-rw-r--r-- | build/Android.oat.mk | 159 | ||||
-rw-r--r-- | test/Android.run-test.mk | 23 | ||||
-rwxr-xr-x | test/run-test | 11 |
6 files changed, 159 insertions, 85 deletions
@@ -23,6 +23,7 @@ art_path := $(LOCAL_PATH) # include $(art_path)/build/Android.common_path.mk +include $(art_path)/build/Android.oat.mk # Following the example of build's dont_bother for clean targets. art_dont_bother := false @@ -41,20 +42,14 @@ clean-oat: clean-oat-host clean-oat-target .PHONY: clean-oat-host clean-oat-host: - rm -f $(HOST_CORE_IMG_OUT) - rm -f $(HOST_CORE_OAT_OUT) + rm -f $(HOST_CORE_IMG_OUTS) + rm -f $(HOST_CORE_OAT_OUTS) rm -f $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/*.odex ifneq ($(HOST_PREFER_32_BIT),true) - rm -f $(2ND_HOST_CORE_IMG_OUT) - rm -f $(2ND_HOST_CORE_OAT_OUT) rm -f $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/*.odex endif - rm -f $(TARGET_CORE_IMG_OUT) - rm -f $(TARGET_CORE_OAT_OUT) -ifdef TARGET_2ND_ARCH - rm -f $(2ND_TARGET_CORE_IMG_OUT) - rm -f $(2ND_TARGET_CORE_OAT_OUT) -endif + rm -f $(TARGET_CORE_IMG_OUTS) + rm -f $(TARGET_CORE_OAT_OUTS) rm -rf $(DEXPREOPT_PRODUCT_DIR_FULL_PATH) rm -f $(TARGET_OUT_UNSTRIPPED)/system/framework/*.odex rm -f $(TARGET_OUT_UNSTRIPPED)/system/framework/*/*.oat @@ -109,7 +104,6 @@ include $(art_path)/oatdump/Android.mk include $(art_path)/patchoat/Android.mk include $(art_path)/dalvikvm/Android.mk include $(art_path)/tools/Android.mk -include $(art_path)/build/Android.oat.mk include $(art_path)/sigchainlib/Android.mk @@ -365,10 +359,10 @@ oat-target-sync: oat-target build-art: build-art-host build-art-target .PHONY: build-art-host -build-art-host: $(HOST_OUT_EXECUTABLES)/art $(ART_HOST_DEPENDENCIES) $(HOST_CORE_IMG_OUT) $(2ND_HOST_CORE_IMG_OUT) +build-art-host: $(HOST_OUT_EXECUTABLES)/art $(ART_HOST_DEPENDENCIES) $(HOST_CORE_IMG_OUTS) .PHONY: build-art-target -build-art-target: $(TARGET_OUT_EXECUTABLES)/art $(ART_TARGET_DEPENDENCIES) $(TARGET_CORE_IMG_OUT) $(2ND_TARGET_CORE_IMG_OUT) +build-art-target: $(TARGET_OUT_EXECUTABLES)/art $(ART_TARGET_DEPENDENCIES) $(TARGET_CORE_IMG_OUTS) ######################################################################## # targets to switch back and forth from libdvm to libart diff --git a/build/Android.common_build.mk b/build/Android.common_build.mk index 478c63c..d90a31e 100644 --- a/build/Android.common_build.mk +++ b/build/Android.common_build.mk @@ -84,13 +84,6 @@ ART_USE_PORTABLE_COMPILER := true endif # -# Used to enable optimizing compiler -# -ifeq ($(ART_USE_OPTIMIZING_COMPILER),true) -DEX2OAT_FLAGS := --compiler-backend=Optimizing -endif - -# # Used to change the default GC. Valid values are CMS, SS, GSS. The default is CMS. # art_default_gc_type ?= CMS diff --git a/build/Android.common_path.mk b/build/Android.common_path.mk index 10695b6..281d189 100644 --- a/build/Android.common_path.mk +++ b/build/Android.common_path.mk @@ -47,25 +47,33 @@ ifdef TARGET_2ND_ARCH 2ND_TARGET_CORE_OAT := $(ART_TARGET_TEST_DIR)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core.oat endif +CORE_OAT_SUFFIX := .oat + # Core.oat locations under the out directory. -HOST_CORE_OAT_OUT := $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/core.oat +HOST_CORE_OAT_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/core ifneq ($(HOST_PREFER_32_BIT),true) -2ND_HOST_CORE_OAT_OUT := $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/core.oat +2ND_HOST_CORE_OAT_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/core endif -TARGET_CORE_OAT_OUT := $(ART_TARGET_TEST_OUT)/$(DEX2OAT_TARGET_ARCH)/core.oat +HOST_CORE_OAT_OUTS := +TARGET_CORE_OAT_OUT_BASE := $(ART_TARGET_TEST_OUT)/$(DEX2OAT_TARGET_ARCH)/core ifdef TARGET_2ND_ARCH -2ND_TARGET_CORE_OAT_OUT := $(ART_TARGET_TEST_OUT)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core.oat +2ND_TARGET_CORE_OAT_OUT_BASE := $(ART_TARGET_TEST_OUT)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core endif +TARGET_CORE_OAT_OUTS := + +CORE_IMG_SUFFIX := .art # Core.art locations under the out directory. -HOST_CORE_IMG_OUT := $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/core.art +HOST_CORE_IMG_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(ART_HOST_ARCH)/core ifneq ($(HOST_PREFER_32_BIT),true) -2ND_HOST_CORE_IMG_OUT := $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/core.art +2ND_HOST_CORE_IMG_OUT_BASE := $(HOST_OUT_JAVA_LIBRARIES)/$(2ND_ART_HOST_ARCH)/core endif -TARGET_CORE_IMG_OUT := $(ART_TARGET_TEST_OUT)/$(DEX2OAT_TARGET_ARCH)/core.art +HOST_CORE_IMG_OUTS := +TARGET_CORE_IMG_OUT_BASE := $(ART_TARGET_TEST_OUT)/$(DEX2OAT_TARGET_ARCH)/core ifdef TARGET_2ND_ARCH -2ND_TARGET_CORE_IMG_OUT := $(ART_TARGET_TEST_OUT)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core.art +2ND_TARGET_CORE_IMG_OUT_BASE := $(ART_TARGET_TEST_OUT)/$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_ARCH)/core endif +TARGET_CORE_IMG_OUTS := # Oat location of core.art. HOST_CORE_IMG_LOCATION := $(HOST_OUT_JAVA_LIBRARIES)/core.art diff --git a/build/Android.oat.mk b/build/Android.oat.mk index 2becbb8..823ef7d 100644 --- a/build/Android.oat.mk +++ b/build/Android.oat.mk @@ -24,73 +24,138 @@ include art/build/Android.common_build.mk # Use dex2oat debug version for better error reporting -# $(1): 2ND_ or undefined, 2ND_ for 32-bit host builds. +# $(1): compiler +# $(2): 2ND_ or undefined, 2ND_ for 32-bit host builds. # NB depending on HOST_CORE_DEX_LOCATIONS so we are sure to have the dex files in frameworks for # run-test --no-image define create-core-oat-host-rules -$$($(1)HOST_CORE_IMG_OUT): $$(HOST_CORE_DEX_LOCATIONS) $$(DEX2OAT_DEPENDENCY) + core_compile_options := + core_image_name := + core_oat_name := + core_infix := + + ifeq ($(1),optimizing) + core_compile_options += --compiler-backend=optimizing + core_infix := -optimizing + endif + ifeq ($(1),interpreter) + core_compile_options += --compiler-filter=interpret-only + core_infix := -interpreter + endif + ifeq ($(1),default) + # Default has no infix, no compile options. + endif + ifneq ($(filter-out default interpreter optimizing,$(1)),) + #Technically this test is not precise, but hopefully good enough. + $$(error found $(1) expected default, interpreter or optimizing) + endif + core_image_name := $($(2)HOST_CORE_IMG_OUT_BASE)$$(core_infix)$(CORE_IMG_SUFFIX) + core_oat_name := $($(2)HOST_CORE_OAT_OUT_BASE)$$(core_infix)$(CORE_OAT_SUFFIX) + + # Using the bitness suffix makes it easier to add as a dependency for the run-test mk. + ifeq ($(2),) + HOST_CORE_IMAGE_$(1)_64 := $$(core_image_name) + else + HOST_CORE_IMAGE_$(1)_32 := $$(core_image_name) + endif + HOST_CORE_IMG_OUTS += $$(core_image_name) + HOST_CORE_OAT_OUTS += $$(core_oat_name) + +$$(core_image_name): PRIVATE_CORE_COMPILE_OPTIONS := $$(core_compile_options) +$$(core_image_name): PRIVATE_CORE_IMG_NAME := $$(core_image_name) +$$(core_image_name): PRIVATE_CORE_OAT_NAME := $$(core_oat_name) +$$(core_image_name): $$(HOST_CORE_DEX_LOCATIONS) $$(DEX2OAT_DEPENDENCY) @echo "host dex2oat: $$@ ($$?)" @mkdir -p $$(dir $$@) - $$(hide) $$(DEX2OAT) $$(DEX2OAT_FLAGS) --runtime-arg -Xms$(DEX2OAT_IMAGE_XMS) --runtime-arg -Xmx$(DEX2OAT_IMAGE_XMX) \ + $$(hide) $$(DEX2OAT) --runtime-arg -Xms$(DEX2OAT_IMAGE_XMS) --runtime-arg -Xmx$(DEX2OAT_IMAGE_XMX) \ --image-classes=$$(PRELOADED_CLASSES) $$(addprefix --dex-file=,$$(HOST_CORE_DEX_FILES)) \ - $$(addprefix --dex-location=,$$(HOST_CORE_DEX_LOCATIONS)) --oat-file=$$($(1)HOST_CORE_OAT_OUT) \ - --oat-location=$$($(1)HOST_CORE_OAT) --image=$$($(1)HOST_CORE_IMG_OUT) \ - --base=$$(LIBART_IMG_HOST_BASE_ADDRESS) --instruction-set=$$($(1)ART_HOST_ARCH) \ - --instruction-set-features=$$($(1)HOST_INSTRUCTION_SET_FEATURES) \ - --host --android-root=$$(HOST_OUT) --include-patch-information + $$(addprefix --dex-location=,$$(HOST_CORE_DEX_LOCATIONS)) --oat-file=$$(PRIVATE_CORE_OAT_NAME) \ + --oat-location=$$(PRIVATE_CORE_OAT_NAME) --image=$$(PRIVATE_CORE_IMG_NAME) \ + --base=$$(LIBART_IMG_HOST_BASE_ADDRESS) --instruction-set=$$($(2)ART_HOST_ARCH) \ + --instruction-set-features=$$($(2)HOST_INSTRUCTION_SET_FEATURES) \ + --host --android-root=$$(HOST_OUT) --include-patch-information \ + $$(PRIVATE_CORE_COMPILE_OPTIONS) -# This "renaming" eases declaration in art/Android.mk -HOST_CORE_IMG_OUT$($(1)ART_PHONY_TEST_HOST_SUFFIX) := $($(1)HOST_CORE_IMG_OUT) +$$(core_oat_name): $$(core_image_name) -$$($(1)HOST_CORE_OAT_OUT): $$($(1)HOST_CORE_IMG_OUT) + # Clean up locally used variables. + core_compile_options := + core_image_name := + core_oat_name := + core_infix := endef # create-core-oat-host-rules -$(eval $(call create-core-oat-host-rules,)) +$(eval $(call create-core-oat-host-rules,default,)) +$(eval $(call create-core-oat-host-rules,optimizing,)) +$(eval $(call create-core-oat-host-rules,interpreter,)) ifneq ($(HOST_PREFER_32_BIT),true) -$(eval $(call create-core-oat-host-rules,2ND_)) +$(eval $(call create-core-oat-host-rules,default,2ND_)) +$(eval $(call create-core-oat-host-rules,optimizing,2ND_)) +$(eval $(call create-core-oat-host-rules,interpreter,2ND_)) endif define create-core-oat-target-rules -$$($(1)TARGET_CORE_IMG_OUT): $$(TARGET_CORE_DEX_FILES) $$(DEX2OAT_DEPENDENCY) + core_compile_options := + core_image_name := + core_oat_name := + core_infix := + + ifeq ($(1),optimizing) + core_compile_options += --compiler-backend=optimizing + core_infix := -optimizing + endif + ifeq ($(1),interpreter) + core_compile_options += --compiler-filter=interpret-only + core_infix := -interpreter + endif + ifeq ($(1),default) + # Default has no infix, no compile options. + endif + ifneq ($(filter-out default interpreter optimizing,$(1)),) + #Technically this test is not precise, but hopefully good enough. + $$(error found $(1) expected default, interpreter or optimizing) + endif + core_image_name := $($(2)TARGET_CORE_IMG_OUT_BASE)$$(core_infix)$(CORE_IMG_SUFFIX) + core_oat_name := $($(2)TARGET_CORE_OAT_OUT_BASE)$$(core_infix)$(CORE_OAT_SUFFIX) + + # Using the bitness suffix makes it easier to add as a dependency for the run-test mk. + ifeq ($(2),) + TARGET_CORE_IMAGE_$(1)_64 := $$(core_image_name) + else + TARGET_CORE_IMAGE_$(1)_32 := $$(core_image_name) + endif + TARGET_CORE_IMG_OUTS += $$(core_image_name) + TARGET_CORE_OAT_OUTS += $$(core_oat_name) + +$$(core_image_name): PRIVATE_CORE_COMPILE_OPTIONS := $$(core_compile_options) +$$(core_image_name): PRIVATE_CORE_IMG_NAME := $$(core_image_name) +$$(core_image_name): PRIVATE_CORE_OAT_NAME := $$(core_oat_name) +$$(core_image_name): $$(TARGET_CORE_DEX_FILES) $$(DEX2OAT_DEPENDENCY) @echo "target dex2oat: $$@ ($$?)" @mkdir -p $$(dir $$@) - $$(hide) $$(DEX2OAT) $$(DEX2OAT_FLAGS) --runtime-arg -Xms$(DEX2OAT_XMS) --runtime-arg -Xmx$(DEX2OAT_XMX) \ + $$(hide) $$(DEX2OAT) --runtime-arg -Xms$(DEX2OAT_XMS) --runtime-arg -Xmx$(DEX2OAT_XMX) \ --image-classes=$$(PRELOADED_CLASSES) $$(addprefix --dex-file=,$$(TARGET_CORE_DEX_FILES)) \ - $$(addprefix --dex-location=,$$(TARGET_CORE_DEX_LOCATIONS)) --oat-file=$$($(1)TARGET_CORE_OAT_OUT) \ - --oat-location=$$($(1)TARGET_CORE_OAT) --image=$$($(1)TARGET_CORE_IMG_OUT) \ - --base=$$(LIBART_IMG_TARGET_BASE_ADDRESS) --instruction-set=$$($(1)TARGET_ARCH) \ - --instruction-set-features=$$($(1)TARGET_INSTRUCTION_SET_FEATURES) \ - --android-root=$$(PRODUCT_OUT)/system --include-patch-information + $$(addprefix --dex-location=,$$(TARGET_CORE_DEX_LOCATIONS)) --oat-file=$$(PRIVATE_CORE_OAT_NAME) \ + --oat-location=$$(PRIVATE_CORE_OAT_NAME) --image=$$(PRIVATE_CORE_IMG_NAME) \ + --base=$$(LIBART_IMG_TARGET_BASE_ADDRESS) --instruction-set=$$($(2)TARGET_ARCH) \ + --instruction-set-features=$$($(2)TARGET_INSTRUCTION_SET_FEATURES) \ + --android-root=$$(PRODUCT_OUT)/system --include-patch-information \ + $$(PRIVATE_CORE_COMPILE_OPTIONS) -# This "renaming" eases declaration in art/Android.mk -TARGET_CORE_IMG_OUT$($(1)ART_PHONY_TEST_TARGET_SUFFIX) := $($(1)TARGET_CORE_IMG_OUT) +$$(core_oat_name): $$(core_image_name) -$$($(1)TARGET_CORE_OAT_OUT): $$($(1)TARGET_CORE_IMG_OUT) + # Clean up locally used variables. + core_compile_options := + core_image_name := + core_oat_name := + core_infix := endef # create-core-oat-target-rules ifdef TARGET_2ND_ARCH -$(eval $(call create-core-oat-target-rules,2ND_)) +$(eval $(call create-core-oat-target-rules,default,2ND_)) +$(eval $(call create-core-oat-target-rules,optimizing,2ND_)) +$(eval $(call create-core-oat-target-rules,interpreter,2ND_)) endif -$(eval $(call create-core-oat-target-rules,)) - - -ifeq ($(ART_BUILD_HOST),true) -include $(CLEAR_VARS) -LOCAL_MODULE := core.art-host -LOCAL_MODULE_TAGS := optional -LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common.mk -LOCAL_ADDITIONAL_DEPENDENCIES += art/build/Android.oat.mk -LOCAL_ADDITIONAL_DEPENDENCIES += $(HOST_CORE_IMG_OUT) -include $(BUILD_PHONY_PACKAGE) -endif # ART_BUILD_HOST - -# If we aren't building the host toolchain, skip building the target core.art. -ifeq ($(ART_BUILD_TARGET),true) -include $(CLEAR_VARS) -LOCAL_MODULE := core.art -LOCAL_MODULE_TAGS := optional -LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common.mk -LOCAL_ADDITIONAL_DEPENDENCIES += art/build/Android.oat.mk -LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_CORE_IMG_OUT) -include $(BUILD_PHONY_PACKAGE) -endif # ART_BUILD_TARGET +$(eval $(call create-core-oat-target-rules,default,)) +$(eval $(call create-core-oat-target-rules,optimizing,)) +$(eval $(call create-core-oat-target-rules,interpreter,)) diff --git a/test/Android.run-test.mk b/test/Android.run-test.mk index 7eba4af..32dbc86 100644 --- a/test/Android.run-test.mk +++ b/test/Android.run-test.mk @@ -371,8 +371,9 @@ $(foreach target, $(TARGET_TYPES), \ $(foreach run_type, $(RUN_TYPES), \ $(eval ART_RUN_TEST_$(call name-to-var,$(target))_$(call name-to-var,$(run_type))_RULES :=))) -# We need dex2oat and dalvikvm on the target as well as the core image. -TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_EXECUTABLES) $(TARGET_CORE_IMG_OUT) $(2ND_TARGET_CORE_IMG_OUT) +# We need dex2oat and dalvikvm on the target as well as the core images (all images as we sync +# only once). +TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_EXECUTABLES) $(TARGET_CORE_IMG_OUTS) # Also need libarttest. TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttest.so @@ -386,20 +387,19 @@ ifdef TARGET_2ND_ARCH TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libnativebridgetest.so endif -# All tests require the host executables and the core images. +# All tests require the host executables. The tests also depend on the core images, but on +# specific version depending on the compiler. ART_TEST_HOST_RUN_TEST_DEPENDENCIES := \ $(ART_HOST_EXECUTABLES) \ $(ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \ $(ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \ - $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \ - $(HOST_CORE_IMG_OUT) + $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) ifneq ($(HOST_PREFER_32_BIT),true) ART_TEST_HOST_RUN_TEST_DEPENDENCIES += \ $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \ $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \ - $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \ - $(2ND_HOST_CORE_IMG_OUT) + $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) endif # Create a rule to build and run a tests following the form: @@ -457,7 +457,7 @@ define define-test-art-run-test endif ifeq ($(4),optimizing) test_groups += ART_RUN_TEST_$$(uc_host_or_target)_OPTIMIZING_RULES - run_test_options += -Xcompiler-option --compiler-backend=Optimizing + run_test_options += --optimizing else ifeq ($(4),interpreter) test_groups += ART_RUN_TEST_$$(uc_host_or_target)_INTERPRETER_RULES @@ -470,6 +470,13 @@ define define-test-art-run-test endif endif endif + # Add the core dependency. + ifeq ($(1),host) + prereq_rule += $(HOST_CORE_IMAGE_$(4)_$(11)) + else + prereq_rule += $(TARGET_CORE_IMAGE_$(4)_$(11)) + endif + ifeq ($(5),relocate) test_groups += ART_RUN_TEST_$$(uc_host_or_target)_RELOCATE_RULES run_test_options += --relocate diff --git a/test/run-test b/test/run-test index 9c97de0..b7c0ecf 100755 --- a/test/run-test +++ b/test/run-test @@ -95,6 +95,7 @@ always_clean="no" have_dex2oat="yes" have_patchoat="yes" have_image="yes" +image_suffix="" while true; do if [ "x$1" = "x--host" ]; then @@ -174,6 +175,11 @@ while true; do shift elif [ "x$1" = "x--interpreter" ]; then run_args="${run_args} --interpreter" + image_suffix="-interpreter" + shift + elif [ "x$1" = "x--optimizing" ]; then + run_args="${run_args} -Xcompiler-option --compiler-backend=Optimizing" + image_suffix="-optimizing" shift elif [ "x$1" = "x--no-verify" ]; then run_args="${run_args} --no-verify" @@ -308,12 +314,12 @@ elif [ "$runtime" = "art" ]; then if [ -z "$ANDROID_HOST_OUT" ]; then export ANDROID_HOST_OUT=$ANDROID_BUILD_TOP/out/host/linux-x86 fi - run_args="${run_args} --boot -Ximage:${ANDROID_HOST_OUT}/framework/core.art" + run_args="${run_args} --boot -Ximage:${ANDROID_HOST_OUT}/framework/core${image_suffix}.art" run_args="${run_args} --runtime-option -Djava.library.path=${ANDROID_HOST_OUT}/lib${suffix64}" else guess_arch_name run_args="${run_args} --runtime-option -Djava.library.path=/data/art-test/${target_arch_name}" - run_args="${run_args} --boot -Ximage:/data/art-test/core.art" + run_args="${run_args} --boot -Ximage:/data/art-test/core${image_suffix}.art" fi if [ "$relocate" = "yes" ]; then run_args="${run_args} --relocate" @@ -391,6 +397,7 @@ if [ "$usage" = "yes" ]; then echo " --gdb Run under gdb; incompatible with some tests." echo " --build-only Build test files only (off by default)." echo " --interpreter Enable interpreter only mode (off by default)." + echo " --optimizing Enable optimizing compiler (off by default)." echo " --no-verify Turn off verification (on by default)." echo " --no-optimize Turn off optimization (on by default)." echo " --no-precise Turn off precise GC (on by default)." |