OSDN Git Service

Undo class_linker.cc workaround for out of registers bug.
authorStephen Hines <srhines@google.com>
Wed, 8 Feb 2017 09:51:18 +0000 (01:51 -0800)
committerStephen Hines <srhines@google.com>
Wed, 8 Feb 2017 09:51:18 +0000 (01:51 -0800)
Bug: http://b/30419309
Test: Built x86_64/x86 targets successfully with latest toolchain.

This change re-enables optimization for a function in class_linker.cc
that previously exposed an internal compiler error in Clang. Now that
the bug has been fixed, we can remove the workaround.

Change-Id: If6520c17630b6f67ce016966c0777b675be1b852

runtime/class_linker.cc

index edd6e3b..6f55d83 100644 (file)
@@ -5679,14 +5679,7 @@ class LinkVirtualHashTable {
 const uint32_t LinkVirtualHashTable::invalid_index_ = std::numeric_limits<uint32_t>::max();
 const uint32_t LinkVirtualHashTable::removed_index_ = std::numeric_limits<uint32_t>::max() - 1;
 
-// b/30419309
-#if defined(__i386__)
-#define X86_OPTNONE __attribute__((optnone))
-#else
-#define X86_OPTNONE
-#endif
-
-X86_OPTNONE bool ClassLinker::LinkVirtualMethods(
+bool ClassLinker::LinkVirtualMethods(
     Thread* self,
     Handle<mirror::Class> klass,
     /*out*/std::unordered_map<size_t, ClassLinker::MethodTranslation>* default_translations) {