Eliminate the unused hprof "unreachable" feature.  This code dates
back to the Perforce repository and has never been enabled.  Nobody
seems to know what it was once, if ever, used for so it may as well
go.
diff --git a/tools/hprof-conv/HprofConv.c b/tools/hprof-conv/HprofConv.c
index 10f3d2c..88e302e 100644
--- a/tools/hprof-conv/HprofConv.c
+++ b/tools/hprof-conv/HprofConv.c
@@ -80,7 +80,7 @@
     HPROF_ROOT_REFERENCE_CLEANUP        = 0x8c,
     HPROF_ROOT_VM_INTERNAL              = 0x8d,
     HPROF_ROOT_JNI_MONITOR              = 0x8e,
-    HPROF_UNREACHABLE                   = 0x90,
+    HPROF_UNREACHABLE                   = 0x90,  /* deprecated */
     HPROF_PRIMITIVE_ARRAY_NODATA_DUMP   = 0xc3,
 } HprofHeapTag;
 
diff --git a/vm/Dvm.mk b/vm/Dvm.mk
index 2a03b09..c5968a1 100644
--- a/vm/Dvm.mk
+++ b/vm/Dvm.mk
@@ -225,10 +225,6 @@
 	hprof/HprofString.c
   LOCAL_CFLAGS += -DWITH_HPROF=1
 
-  ifeq ($(strip $(WITH_HPROF_UNREACHABLE)),true)
-    LOCAL_CFLAGS += -DWITH_HPROF_UNREACHABLE=1
-  endif
-
   ifeq ($(strip $(WITH_HPROF_STACK)),true)
     LOCAL_SRC_FILES += \
 	hprof/HprofStack.c \
diff --git a/vm/alloc/MarkSweep.c b/vm/alloc/MarkSweep.c
index 0c8feca..cd4f1d5 100644
--- a/vm/alloc/MarkSweep.c
+++ b/vm/alloc/MarkSweep.c
@@ -1046,46 +1046,6 @@
     markContext->finger = NULL;
 }
 
-#if WITH_HPROF && WITH_HPROF_UNREACHABLE
-static bool
-hprofUnreachableBitmapCallback(size_t numPtrs, void **ptrs,
-        const void *finger, void *arg)
-{
-    hprof_context_t *hctx = (hprof_context_t *)arg;
-    size_t i;
-
-    for (i = 0; i < numPtrs; i++) {
-        Object *obj;
-
-        obj = (Object *)*ptrs++;
-
-        hprofMarkRootObject(hctx, obj, 0);
-        hprofDumpHeapObject(hctx, obj);
-    }
-
-    return true;
-}
-
-static void
-hprofDumpUnmarkedObjects(const HeapBitmap markBitmaps[],
-        const HeapBitmap objectBitmaps[], size_t numBitmaps)
-{
-    hprof_context_t *hctx = gDvm.gcHeap->hprofContext;
-    if (hctx == NULL) {
-        return;
-    }
-
-    LOGI("hprof: dumping unreachable objects\n");
-
-    HPROF_SET_GC_SCAN_STATE(HPROF_UNREACHABLE, 0);
-
-    dvmHeapBitmapXorWalkLists(markBitmaps, objectBitmaps, numBitmaps,
-            hprofUnreachableBitmapCallback, hctx);
-
-    HPROF_CLEAR_GC_SCAN_STATE();
-}
-#endif
-
 static bool
 sweepBitmapCallback(size_t numPtrs, void **ptrs, const void *finger, void *arg)
 {
@@ -1170,10 +1130,6 @@
     origObjectsAllocated = dvmHeapSourceGetValue(HS_OBJECTS_ALLOCATED, NULL, 0);
     origBytesAllocated = dvmHeapSourceGetValue(HS_BYTES_ALLOCATED, NULL, 0);
 
-#if WITH_HPROF && WITH_HPROF_UNREACHABLE
-    hprofDumpUnmarkedObjects(markBitmaps, objectBitmaps, numBitmaps);
-#endif
-
     dvmSweepMonitorList(&gDvm.monitorList, isUnmarkedObject);
 
     numBitmaps = dvmHeapSourceGetNumHeaps();
diff --git a/vm/hprof/Hprof.h b/vm/hprof/Hprof.h
index db5049f..fd89d06 100644
--- a/vm/hprof/Hprof.h
+++ b/vm/hprof/Hprof.h
@@ -92,7 +92,7 @@
     HPROF_ROOT_REFERENCE_CLEANUP = 0x8c,
     HPROF_ROOT_VM_INTERNAL = 0x8d,
     HPROF_ROOT_JNI_MONITOR = 0x8e,
-    HPROF_UNREACHABLE = 0x90,
+    HPROF_UNREACHABLE = 0x90,  /* deprecated */
     HPROF_PRIMITIVE_ARRAY_NODATA_DUMP = 0xc3,
 } hprof_heap_tag_t;
 
diff --git a/vm/hprof/HprofHeap.c b/vm/hprof/HprofHeap.c
index 935fd26..31063e4 100644
--- a/vm/hprof/HprofHeap.c
+++ b/vm/hprof/HprofHeap.c
@@ -146,7 +146,6 @@
     case HPROF_ROOT_DEBUGGER:
     case HPROF_ROOT_REFERENCE_CLEANUP:
     case HPROF_ROOT_VM_INTERNAL:
-    case HPROF_UNREACHABLE:
         hprofAddU1ToRecord(rec, heapTag);
         hprofAddIdToRecord(rec, (hprof_object_id)obj);
         break;