diff --git a/core/src/main/scala/org/apache/spark/storage/BlockInfoManager.scala b/core/src/main/scala/org/apache/spark/storage/BlockInfoManager.scala
index 219a0e799cc73e060b8205cef4670b91bcbed173..61a47ec112656060e3e7f0d5f77913f38b3d8a58 100644
--- a/core/src/main/scala/org/apache/spark/storage/BlockInfoManager.scala
+++ b/core/src/main/scala/org/apache/spark/storage/BlockInfoManager.scala
@@ -42,7 +42,7 @@ import org.apache.spark.internal.Logging
  * @param tellMaster whether state changes for this block should be reported to the master. This
  *                   is true for most blocks, but is false for broadcast blocks.
  */
-private[storage] class BlockInfo(
+class BlockInfo(
     val level: StorageLevel,
     val classTag: ClassTag[_],
     val tellMaster: Boolean) {
@@ -89,7 +89,7 @@ private[storage] class BlockInfo(
   checkInvariants()
 }
 
-private[storage] object BlockInfo {
+object BlockInfo {
 
   /**
    * Special task attempt id constant used to mark a block's write lock as being unlocked.
diff --git a/core/src/main/scala/org/apache/spark/storage/BlockManager.scala b/core/src/main/scala/org/apache/spark/storage/BlockManager.scala
index e0276a4dc4224a6d0f4793f188dd03fe7a68c21c..f852869123b8e0a62a0f1ffa941301071c7ab7c3 100644
--- a/core/src/main/scala/org/apache/spark/storage/BlockManager.scala
+++ b/core/src/main/scala/org/apache/spark/storage/BlockManager.scala
@@ -145,7 +145,7 @@ private[spark] class BlockManager(
 
   // Actual storage of where blocks are kept
   private[spark] val memoryStore =
-    new MemoryStore(conf, blockInfoManager, serializerManager, memoryManager, this)
+    new MemoryStore(conf, this, serializerManager, memoryManager, this)
   private[spark] val diskStore = new DiskStore(conf, diskBlockManager, securityManager)
   memoryManager.setMemoryStore(memoryStore)
 
diff --git a/core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala b/core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala
index c5fdada55a44e5b48a03d0036ba06664e2b8b16a..5a95229a912a92981eec346ed1c4d84e455e19de 100644
--- a/core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala
+++ b/core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala
@@ -79,12 +79,18 @@ private[storage] trait BlockEvictionHandler {
  */
 private[spark] class MemoryStore(
     conf: SparkConf,
-    blockInfoManager: BlockInfoManager,
+    // SS {
+    blockManager: BlockManager,
+    // SS }
     serializerManager: SerializerManager,
     memoryManager: MemoryManager,
     blockEvictionHandler: BlockEvictionHandler)
   extends Logging {
 
+  // SS {
+  private val blockInfoManager = blockManager.blockInfoManager
+  // SS }
+
   // Note: all changes to memory allocations, notably putting blocks, evicting blocks, and
   // acquiring or releasing unroll memory, must be synchronized on `memoryManager`!