Revert "Fix issue with proxy invocation on default methods"

This reverts commit ec3b7ab8f008f36f1072d4ba03da204229b95976.

Change-Id: Idfb2c63c246cc5dae7670503e70ad3f62bb1e1eb
diff --git a/runtime/art_method-inl.h b/runtime/art_method-inl.h
index 1a47672..ebe89bb 100644
--- a/runtime/art_method-inl.h
+++ b/runtime/art_method-inl.h
@@ -332,7 +332,6 @@
 }
 
 inline const DexFile::CodeItem* ArtMethod::GetCodeItem() {
-  DCHECK(!IsProxyMethod());
   return GetDeclaringClass()->GetDexFile().GetCodeItem(GetCodeItemOffset());
 }
 
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 72e40c2..d51a1f7 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -4216,14 +4216,10 @@
   DCHECK(out != nullptr);
   out->CopyFrom(prototype, image_pointer_size_);
 
-  // Set class to be the concrete proxy class.
+  // Set class to be the concrete proxy class and clear the abstract flag, modify exceptions to
+  // the intersection of throw exceptions as defined in Proxy
   out->SetDeclaringClass(klass.Get());
-  // Clear the abstract, default and conflict flags to ensure that defaults aren't picked in
-  // preference to the invocation handler.
-  const uint32_t kRemoveFlags = kAccAbstract | kAccDefault | kAccDefaultConflict;
-  // Make the method final.
-  const uint32_t kAddFlags = kAccFinal;
-  out->SetAccessFlags((out->GetAccessFlags() & ~kRemoveFlags) | kAddFlags);
+  out->SetAccessFlags((out->GetAccessFlags() & ~kAccAbstract) | kAccFinal);
 
   // At runtime the method looks like a reference and argument saving method, clone the code
   // related parameters from this method.
diff --git a/runtime/interpreter/interpreter_common.cc b/runtime/interpreter/interpreter_common.cc
index 310e211..3453abc 100644
--- a/runtime/interpreter/interpreter_common.cc
+++ b/runtime/interpreter/interpreter_common.cc
@@ -555,10 +555,8 @@
     string_init = true;
   }
 
-  // Compute method information. Need to specifically check for proxy methods since default-method
-  // proxies might have a CodeItem from the default version.
-  const DexFile::CodeItem* code_item =
-      called_method->IsProxyMethod() ? nullptr : called_method->GetCodeItem();
+  // Compute method information.
+  const DexFile::CodeItem* code_item = called_method->GetCodeItem();
 
   // Number of registers for the callee's call frame.
   uint16_t num_regs;