summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/Android.gtest.mk2
-rw-r--r--dex2oat/Android.mk6
-rw-r--r--imgdiag/Android.mk2
-rw-r--r--runtime/Android.bp10
-rw-r--r--runtime/arch/x86_64/quick_entrypoints_x86_64.S8
-rw-r--r--runtime/class_table.cc6
-rw-r--r--runtime/gc/heap.cc4
-rw-r--r--runtime/gc/space/region_space.cc3
-rw-r--r--runtime/generated/asm_support_gen.h2
-rw-r--r--runtime/mirror/class.h2
-rw-r--r--test/Android.libnativebridgetest.mk2
-rw-r--r--tools/cpp-define-generator/constant_dexcache.def10
-rw-r--r--tools/libcore_failures.txt10
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"
- ]
}
]