diff options
-rw-r--r-- | build/Android.gtest.mk | 2 | ||||
-rw-r--r-- | dex2oat/Android.mk | 6 | ||||
-rw-r--r-- | imgdiag/Android.mk | 2 | ||||
-rw-r--r-- | runtime/Android.bp | 10 | ||||
-rw-r--r-- | runtime/arch/x86_64/quick_entrypoints_x86_64.S | 8 | ||||
-rw-r--r-- | runtime/class_table.cc | 6 | ||||
-rw-r--r-- | runtime/gc/heap.cc | 4 | ||||
-rw-r--r-- | runtime/gc/space/region_space.cc | 3 | ||||
-rw-r--r-- | runtime/generated/asm_support_gen.h | 2 | ||||
-rw-r--r-- | runtime/mirror/class.h | 2 | ||||
-rw-r--r-- | test/Android.libnativebridgetest.mk | 2 | ||||
-rw-r--r-- | tools/cpp-define-generator/constant_dexcache.def | 10 | ||||
-rw-r--r-- | tools/libcore_failures.txt | 10 |
13 files changed, 32 insertions, 35 deletions
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk index fecf0baf4f..9ec072f812 100644 --- a/build/Android.gtest.mk +++ b/build/Android.gtest.mk @@ -677,7 +677,7 @@ valgrind-test-art-target-gtest-$$(art_gtest_name): $$(ART_TEST_TARGET_VALGRIND_G LOCAL_CLANG := $$(ART_HOST_CLANG) LOCAL_CFLAGS += $$(ART_HOST_CFLAGS) $$(ART_HOST_DEBUG_CFLAGS) LOCAL_ASFLAGS += $$(ART_HOST_ASFLAGS) $$(ART_HOST_DEBUG_ASFLAGS) - LOCAL_SHARED_LIBRARIES += libicuuc-host libicui18n-host libnativehelper libziparchive-host libz-host libvixld-arm libvixld-arm64 + LOCAL_SHARED_LIBRARIES += libicuuc-host libicui18n-host libnativehelper libziparchive libz-host libvixld-arm libvixld-arm64 LOCAL_LDLIBS := -lpthread -ldl LOCAL_IS_HOST_MODULE := true LOCAL_MULTILIB := both diff --git a/dex2oat/Android.mk b/dex2oat/Android.mk index a9d00d3976..8a179c1e7f 100644 --- a/dex2oat/Android.mk +++ b/dex2oat/Android.mk @@ -57,7 +57,7 @@ endif # Note: the order is important because of static linking resolution. DEX2OAT_STATIC_DEPENDENCIES := \ - libziparchive-host \ + libziparchive \ libnativehelper \ libnativebridge \ libnativeloader \ @@ -74,14 +74,14 @@ DEX2OAT_STATIC_DEPENDENCIES := \ # We always build dex2oat and dependencies, even if the host build is otherwise disabled, since they are used to cross compile for the target. ifeq ($(ART_BUILD_HOST_NDEBUG),true) - $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libcutils libart-compiler libsigchain libziparchive-host liblz4,art/compiler,host,ndebug,$(dex2oat_host_arch))) + $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libcutils libart-compiler libsigchain libziparchive liblz4,art/compiler,host,ndebug,$(dex2oat_host_arch))) ifeq ($(ART_BUILD_HOST_STATIC),true) $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libart libart-compiler libart libvixl-arm libvixl-arm64 $(DEX2OAT_STATIC_DEPENDENCIES),art/compiler,host,ndebug,$(dex2oat_host_arch),static)) endif endif ifeq ($(ART_BUILD_HOST_DEBUG),true) - $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libcutils libartd-compiler libsigchain libziparchive-host liblz4,art/compiler,host,debug,$(dex2oat_host_arch))) + $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libcutils libartd-compiler libsigchain libziparchive liblz4,art/compiler,host,debug,$(dex2oat_host_arch))) ifeq ($(ART_BUILD_HOST_STATIC),true) $(eval $(call build-art-executable,dex2oat,$(DEX2OAT_SRC_FILES),libartd libartd-compiler libartd libvixld-arm libvixld-arm64 $(DEX2OAT_STATIC_DEPENDENCIES),art/compiler,host,debug,$(dex2oat_host_arch),static)) endif diff --git a/imgdiag/Android.mk b/imgdiag/Android.mk index 83315be8f8..278527fce2 100644 --- a/imgdiag/Android.mk +++ b/imgdiag/Android.mk @@ -29,4 +29,4 @@ IMGDIAG_SRC_FILES := \ # Honor HOST_PREFER_32_BIT, as building a 64-bit imgdiag executable # when HOST_PREFER_32_BIT is true would require an unmet dependency on # 64-bit libbacktrace. -$(eval $(call build-art-multi-executable,imgdiag,$(IMGDIAG_SRC_FILES),libart-compiler libbacktrace,libcutils,libziparchive-host,art/compiler,both,$(HOST_PREFER_32_BIT))) +$(eval $(call build-art-multi-executable,imgdiag,$(IMGDIAG_SRC_FILES),libart-compiler libbacktrace,libcutils,libziparchive,art/compiler,both,$(HOST_PREFER_32_BIT))) diff --git a/runtime/Android.bp b/runtime/Android.bp index 012256e5fa..c92df4e298 100644 --- a/runtime/Android.bp +++ b/runtime/Android.bp @@ -439,6 +439,11 @@ gensrcs { art_cc_library { name: "libart", defaults: ["libart_defaults"], + // Leave the symbols in the shared library so that stack unwinders can + // produce meaningful name resolution. + strip: { + keep_symbols: true, + }, } art_cc_library { @@ -447,11 +452,6 @@ art_cc_library { "libart_defaults", "art_debug_defaults", ], - // Leave the symbols in the shared library so that stack unwinders can - // produce meaningful name resolution. - strip: { - keep_symbols: true, - }, } subdirs = [ diff --git a/runtime/arch/x86_64/quick_entrypoints_x86_64.S b/runtime/arch/x86_64/quick_entrypoints_x86_64.S index 62808abf7c..f941c521da 100644 --- a/runtime/arch/x86_64/quick_entrypoints_x86_64.S +++ b/runtime/arch/x86_64/quick_entrypoints_x86_64.S @@ -1336,12 +1336,8 @@ DEFINE_FUNCTION art_quick_resolve_string movq DECLARING_CLASS_DEX_CACHE_STRINGS_OFFSET(%ecx), %rcx // get string dex cache movq LITERAL(STRING_DEX_CACHE_SIZE_MINUS_ONE), %rdx andq %rdi, %rdx - shlq LITERAL(STRING_DEX_CACHE_ELEMENT_SIZE_SHIFT), %rdx - addq %rcx, %rdx - movq %rax, %rcx - movq (%rdx), %rdx - movq %rdx, %rax - movl %eax, %eax + movq (%rcx, %rdx, STRING_DEX_CACHE_ELEMENT_SIZE), %rdx + movl %edx, %eax shrq LITERAL(32), %rdx cmp %rdx, %rdi jne .Lart_quick_resolve_string_slow_path diff --git a/runtime/class_table.cc b/runtime/class_table.cc index e9154cb400..55ff73d0a6 100644 --- a/runtime/class_table.cc +++ b/runtime/class_table.cc @@ -53,6 +53,10 @@ mirror::Class* ClassTable::LookupByDescriptor(mirror::Class* klass) { return nullptr; } +// Bug: http://b/31104323 Ignore -Wunreachable-code from the for loop below +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunreachable-code" + mirror::Class* ClassTable::UpdateClass(const char* descriptor, mirror::Class* klass, size_t hash) { WriterMutexLock mu(Thread::Current(), lock_); // Should only be updating latest table. @@ -77,6 +81,8 @@ mirror::Class* ClassTable::UpdateClass(const char* descriptor, mirror::Class* kl return existing; } +#pragma clang diagnostic pop // http://b/31104323 + size_t ClassTable::NumZygoteClasses() const { ReaderMutexLock mu(Thread::Current(), lock_); size_t sum = 0; diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc index 9e454ca100..4d16b6e114 100644 --- a/runtime/gc/heap.cc +++ b/runtime/gc/heap.cc @@ -880,12 +880,12 @@ void Heap::IncrementDisableThreadFlip(Thread* self) { bool has_waited = false; uint64_t wait_start = NanoTime(); if (thread_flip_running_) { - TimingLogger::ScopedTiming split("IncrementDisableThreadFlip", - GetCurrentGcIteration()->GetTimings()); + ATRACE_BEGIN("IncrementDisableThreadFlip"); while (thread_flip_running_) { has_waited = true; thread_flip_cond_->Wait(self); } + ATRACE_END(); } ++disable_thread_flip_count_; if (has_waited) { diff --git a/runtime/gc/space/region_space.cc b/runtime/gc/space/region_space.cc index 2d71294daa..e24741a4a6 100644 --- a/runtime/gc/space/region_space.cc +++ b/runtime/gc/space/region_space.cc @@ -338,8 +338,7 @@ bool RegionSpace::AllocNewTlab(Thread* self) { if (r->IsFree()) { r->Unfree(time_); ++num_non_free_regions_; - // TODO: this is buggy. Debug it. - // r->SetNewlyAllocated(); + r->SetNewlyAllocated(); r->SetTop(r->End()); r->is_a_tlab_ = true; r->thread_ = self; diff --git a/runtime/generated/asm_support_gen.h b/runtime/generated/asm_support_gen.h index 40b71c40a4..5c98ea6114 100644 --- a/runtime/generated/asm_support_gen.h +++ b/runtime/generated/asm_support_gen.h @@ -80,6 +80,8 @@ DEFINE_CHECK_EQ(static_cast<int32_t>(STRING_DEX_CACHE_ELEMENT_SIZE_SHIFT), (stat DEFINE_CHECK_EQ(static_cast<int32_t>(STRING_DEX_CACHE_SIZE_MINUS_ONE), (static_cast<int32_t>(art::mirror::DexCache::kDexCacheStringCacheSize - 1))) #define STRING_DEX_CACHE_HASH_BITS 10 DEFINE_CHECK_EQ(static_cast<int32_t>(STRING_DEX_CACHE_HASH_BITS), (static_cast<int32_t>(art::LeastSignificantBit(art::mirror::DexCache::kDexCacheStringCacheSize)))) +#define STRING_DEX_CACHE_ELEMENT_SIZE 0x8 +DEFINE_CHECK_EQ(static_cast<size_t>(STRING_DEX_CACHE_ELEMENT_SIZE), (static_cast<size_t>(sizeof(art::mirror::StringDexCachePair)))) #define MIN_LARGE_OBJECT_THRESHOLD 0x3000 DEFINE_CHECK_EQ(static_cast<size_t>(MIN_LARGE_OBJECT_THRESHOLD), (static_cast<size_t>(art::gc::Heap::kMinLargeObjectThreshold))) #define LOCK_WORD_STATE_SHIFT 30 diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h index 21af15ed33..1fed190256 100644 --- a/runtime/mirror/class.h +++ b/runtime/mirror/class.h @@ -571,7 +571,7 @@ class MANAGED Class FINAL : public Object { // The size of java.lang.Class.class. static uint32_t ClassClassSize(PointerSize pointer_size) { // The number of vtable entries in java.lang.Class. - uint32_t vtable_entries = Object::kVTableLength + 71; + uint32_t vtable_entries = Object::kVTableLength + 72; return ComputeClassSize(true, vtable_entries, 0, 0, 4, 1, 0, pointer_size); } diff --git a/test/Android.libnativebridgetest.mk b/test/Android.libnativebridgetest.mk index 5c97e4dabb..aa83016d7b 100644 --- a/test/Android.libnativebridgetest.mk +++ b/test/Android.libnativebridgetest.mk @@ -61,7 +61,7 @@ define build-libnativebridgetest LOCAL_CLANG := $(ART_HOST_CLANG) LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS) LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS) $(ART_HOST_DEBUG_ASFLAGS) - LOCAL_SHARED_LIBRARIES := libcutils + LOCAL_SHARED_LIBRARIES += libcutils LOCAL_LDLIBS := -ldl -lpthread ifeq ($(HOST_OS),linux) LOCAL_LDLIBS += -lrt diff --git a/tools/cpp-define-generator/constant_dexcache.def b/tools/cpp-define-generator/constant_dexcache.def index fd197f2b33..d10ca1eed2 100644 --- a/tools/cpp-define-generator/constant_dexcache.def +++ b/tools/cpp-define-generator/constant_dexcache.def @@ -18,7 +18,11 @@ #include "mirror/dex_cache.h" // art::mirror::DexCache, StringDexCachePair #endif -DEFINE_EXPR(STRING_DEX_CACHE_ELEMENT_SIZE_SHIFT, int32_t, art::WhichPowerOf2(sizeof(art::mirror::StringDexCachePair))) -DEFINE_EXPR(STRING_DEX_CACHE_SIZE_MINUS_ONE, int32_t, art::mirror::DexCache::kDexCacheStringCacheSize - 1) +DEFINE_EXPR(STRING_DEX_CACHE_ELEMENT_SIZE_SHIFT, int32_t, + art::WhichPowerOf2(sizeof(art::mirror::StringDexCachePair))) +DEFINE_EXPR(STRING_DEX_CACHE_SIZE_MINUS_ONE, int32_t, + art::mirror::DexCache::kDexCacheStringCacheSize - 1) DEFINE_EXPR(STRING_DEX_CACHE_HASH_BITS, int32_t, - art::LeastSignificantBit(art::mirror::DexCache::kDexCacheStringCacheSize))
\ No newline at end of file + art::LeastSignificantBit(art::mirror::DexCache::kDexCacheStringCacheSize)) +DEFINE_EXPR(STRING_DEX_CACHE_ELEMENT_SIZE, size_t, + sizeof(art::mirror::StringDexCachePair))
\ No newline at end of file diff --git a/tools/libcore_failures.txt b/tools/libcore_failures.txt index 6472c8d804..a69b58b3bd 100644 --- a/tools/libcore_failures.txt +++ b/tools/libcore_failures.txt @@ -234,15 +234,5 @@ modes: [device], names: ["libcore.java.lang.ProcessBuilderTest#testRedirectInherit", "libcore.java.lang.ProcessBuilderTest#testRedirect_nullStreams"] -}, -{ - description: "BigInteger failures due to the BoringSSL upgrade", - result: EXEC_FAILED, - bug: 30917411, - names: [ - "org.apache.harmony.tests.java.math.BigIntegerModPowTest#testModPowNegExp", - "org.apache.harmony.tests.java.math.BigIntegerModPowTest#testmodInversePos1", - "org.apache.harmony.tests.java.math.BigIntegerTest#test_modInverseLjava_math_BigInteger" - ] } ] |