+
+ GHashTable *covered_methods = g_hash_table_new (NULL, NULL);
+ int count = 0;
+ {
+ MonoLockFreeQueueNode *node;
+ guint count = 0;
+
+ while ((node = mono_lock_free_queue_dequeue (class_methods))) {
+ MethodNode *mnode = (MethodNode*)node;
+ g_hash_table_insert (covered_methods, mnode->method, mnode->method);
+ count++;
+ mono_thread_hazardous_try_free (node, g_free);
+ }
+ }
+ fully_covered = count;
+
+ gpointer iter = NULL;
+ MonoMethod *method;
+ while ((method = mono_class_get_methods (klass, &iter))) {
+ if (!g_hash_table_lookup (covered_methods, method))
+ g_hash_table_insert (coverage_profiler.uncovered_methods, method, method);
+ }
+ g_hash_table_destroy (covered_methods);
+