Revert "Fix OOM throwing if it happens in finalizer reference"

This reverts commit 6d7729d6ae8b2ac3800e92092d61390ce4e3b6d7.

Change-Id: I3e863b7372657ee85b0e48029c3a3e2b4ba75a7c
diff --git a/runtime/mirror/class-inl.h b/runtime/mirror/class-inl.h
index 661de68..3d3ae16 100644
--- a/runtime/mirror/class-inl.h
+++ b/runtime/mirror/class-inl.h
@@ -553,10 +553,6 @@
                                                              allocator_type, VoidFunctor());
   if (add_finalizer && LIKELY(obj != nullptr)) {
     heap->AddFinalizerReference(self, &obj);
-    if (UNLIKELY(self->IsExceptionPending())) {
-      // Failed to allocate finalizer reference, it means that whole allocation failed
-      obj = nullptr;
-    }
   }
   return obj;
 }
diff --git a/test/080-oom-throw/src/Main.java b/test/080-oom-throw/src/Main.java
index 63c5215..c93f8bb 100644
--- a/test/080-oom-throw/src/Main.java
+++ b/test/080-oom-throw/src/Main.java
@@ -15,15 +15,13 @@
  */
 
 public class Main {
-    static char [][] holder;
-
     static class ArrayMemEater {
         static boolean sawOome;
 
         static void blowup(char[][] holder) {
             try {
                 for (int i = 0; i < holder.length; ++i) {
-                    holder[i] = new char[1022 * 1024];
+                    holder[i] = new char[1024 * 1024];
                 }
             } catch (OutOfMemoryError oome) {
                 ArrayMemEater.sawOome = true;
@@ -52,30 +50,8 @@
         }
     }
 
-    static class InstanceFinalizerMemEater {
-        static boolean sawOome;
-        static InstanceFinalizerMemEater hook;
-
-        InstanceFinalizerMemEater next;
-
-        static InstanceFinalizerMemEater allocate() {
-            try {
-                return new InstanceFinalizerMemEater();
-            } catch (OutOfMemoryError e) {
-                InstanceFinalizerMemEater.sawOome = true;
-                return null;
-            }
-        }
-
-        static void confuseCompilerOptimization(InstanceFinalizerMemEater instance) {
-            hook = instance;
-        }
-
-        protected void finalize() {}
-    }
-
-    static boolean triggerArrayOOM(char[][] holder) {
-        ArrayMemEater.blowup(holder);
+    static boolean triggerArrayOOM() {
+        ArrayMemEater.blowup(new char[128 * 1024][]);
         return ArrayMemEater.sawOome;
     }
 
@@ -91,29 +67,11 @@
         return InstanceMemEater.sawOome;
     }
 
-    static boolean triggerInstanceFinalizerOOM() {
-        InstanceFinalizerMemEater memEater = InstanceFinalizerMemEater.allocate();
-        InstanceFinalizerMemEater lastMemEater = memEater;
-        do {
-            lastMemEater.next = InstanceFinalizerMemEater.allocate();
-            lastMemEater = lastMemEater.next;
-        } while (lastMemEater != null);
-        memEater.confuseCompilerOptimization(memEater);
-        InstanceFinalizerMemEater.hook = null;
-        return InstanceFinalizerMemEater.sawOome;
-    }
-
     public static void main(String[] args) {
-        // Keep holder alive to make instance OOM happen faster
-        holder = new char[128 * 1024][];
-        if (triggerArrayOOM(holder)) {
+        if (triggerArrayOOM()) {
             System.out.println("NEW_ARRAY correctly threw OOME");
         }
 
-        if (!triggerInstanceFinalizerOOM()) {
-            System.out.println("NEW_INSTANCE (finalize) did not threw OOME");
-        }
-
         if (triggerInstanceOOM()) {
             System.out.println("NEW_INSTANCE correctly threw OOME");
         }