Fix order CheckCastFromCode and enable Fibonacci test

Change-Id: I6dc589df3a328777678ac407110810cec9bf5480
diff --git a/Android.mk b/Android.mk
index ccf9b50..62adeb7 100644
--- a/Android.mk
+++ b/Android.mk
@@ -92,7 +92,7 @@
 	$(hide) rm /tmp/test-art-target-gtest
 
 .PHONY: test-art-target-oat
-test-art-target-oat: test-art-target-oat-HelloWorld # test-art-target-oat-Fibonacci
+test-art-target-oat: test-art-target-oat-HelloWorld test-art-target-oat-Fibonacci
 
 .PHONY: test-art-target-oat-HelloWorld
 test-art-target-oat-HelloWorld: test-art-target-sync
diff --git a/src/thread.cc b/src/thread.cc
index e44590a..92b3d4f 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -109,10 +109,12 @@
 
 // TODO: placeholder (throw on failure)
 void CheckCastFromCode(const Class* a, const Class* b) {
-    if (a->IsAssignableFrom(b)) {
-        return;
-    }
-    UNIMPLEMENTED(FATAL);
+  DCHECK(a->IsClass());
+  DCHECK(b->IsClass());
+  if (b->IsAssignableFrom(a)) {
+    return;
+  }
+  UNIMPLEMENTED(FATAL);
 }
 
 void UnlockObjectFromCode(Thread* thread, Object* obj) {
diff --git a/test/Fibonacci/Fibonacci.java b/test/Fibonacci/Fibonacci.java
index 5137205..d8a512a 100644
--- a/test/Fibonacci/Fibonacci.java
+++ b/test/Fibonacci/Fibonacci.java
@@ -22,8 +22,8 @@
                 int x = Integer.parseInt(args[0]);
                 int y = fibonacci(x); /* to warm up cache */
                 System.out.printf("fibonacci(%d)=%d\n", x, y);
-                y = fibonacci(x +1);
-                System.out.printf("fibonacci(%d)=%d\n", x, y);
+                y = fibonacci(x + 1);
+                System.out.printf("fibonacci(%d)=%d\n", x + 1, y);
             }
         } catch (NumberFormatException ex) {}
     }