Fixes relating to 003-omnibus-opcodes

Fix computation of bits needed for a PC in GC map.
In the case that ClassLinker::FindClass fails with a class loader,
ignore the exception and raise a NoClassDefFoundError.
Elide callee-save methods from stack traces.

Change-Id: Ie0b7a544816e0c28d0f7df5821828aa84267cab7
diff --git a/src/class_linker.cc b/src/class_linker.cc
index ff8e179..e922d4c 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1042,7 +1042,12 @@
     }
     ScopedLocalRef<jobject> class_loader_object(env, AddLocalReference<jobject>(env, class_loader));
     ScopedLocalRef<jobject> result(env, env->CallObjectMethod(class_loader_object.get(), mid, class_name_object.get()));
-    return Decode<Class*>(env, result.get());
+    if (!env->ExceptionOccurred()) {
+      return Decode<Class*>(env, result.get());
+    } else {
+      env->ExceptionClear();  // Failed to find class fall-through to NCDFE
+      // TODO: initialize the cause of the NCDFE to this exception
+    }
   }
 
   ThrowNoClassDefFoundError("Class %s not found", PrintableString(descriptor).c_str());