 core/modules/block/src/Tests/BlockTest.php               |  4 ++--
 core/modules/page_cache/page_cache.services.yml          |  9 ++++++++-
 core/modules/page_cache/src/Tests/PageCacheTest.php      | 10 +++++-----
 core/modules/system/src/Form/PerformanceForm.php         | 16 +---------------
 .../Tests/Cache/AssertPageCacheContextsAndTagsTrait.php  |  2 +-
 .../system/src/Tests/Cache/PageCacheTagsTestBase.php     |  2 +-
 .../tests/src/Functional/Cache/PageCacheTagsTestBase.php |  2 +-
 7 files changed, 19 insertions(+), 26 deletions(-)

diff --git a/core/modules/block/src/Tests/BlockTest.php b/core/modules/block/src/Tests/BlockTest.php
index 5910d47..4b9deb4 100644
--- a/core/modules/block/src/Tests/BlockTest.php
+++ b/core/modules/block/src/Tests/BlockTest.php
@@ -379,7 +379,7 @@ public function testBlockCacheTags() {
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'HIT');
     $cid_parts = [\Drupal::url('<front>', [], ['absolute' => TRUE]), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page')->get($cid);
     $expected_cache_tags = [
       'config:block_list',
       'block_view',
@@ -420,7 +420,7 @@ public function testBlockCacheTags() {
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'HIT');
     $cid_parts = [\Drupal::url('<front>', [], ['absolute' => TRUE]), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page')->get($cid);
     $expected_cache_tags = [
       'config:block_list',
       'block_view',
diff --git a/core/modules/page_cache/page_cache.services.yml b/core/modules/page_cache/page_cache.services.yml
index 6563a01..35b899a 100644
--- a/core/modules/page_cache/page_cache.services.yml
+++ b/core/modules/page_cache/page_cache.services.yml
@@ -1,6 +1,13 @@
 services:
   http_middleware.page_cache:
     class: Drupal\page_cache\StackMiddleware\PageCache
-    arguments: ['@cache.render', '@page_cache_request_policy', '@page_cache_response_policy']
+    arguments: ['@cache.page', '@page_cache_request_policy', '@page_cache_response_policy']
     tags:
       - { name: http_middleware, priority: 200, responder: true }
+
+  cache.page:
+    class: Drupal\Core\Cache\CacheBackendInterface
+    tags:
+      - { name: cache.bin }
+    factory: cache_factory:get
+    arguments: [page]
diff --git a/core/modules/page_cache/src/Tests/PageCacheTest.php b/core/modules/page_cache/src/Tests/PageCacheTest.php
index da73e7f..cb00cb6 100644
--- a/core/modules/page_cache/src/Tests/PageCacheTest.php
+++ b/core/modules/page_cache/src/Tests/PageCacheTest.php
@@ -59,7 +59,7 @@ public function testPageCacheTags() {
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'HIT');
     $cid_parts = [\Drupal::url('system_test.cache_tags_page', [], ['absolute' => TRUE]), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page')->get($cid);
     sort($cache_entry->tags);
     $expected_tags = [
       'config:user.role.anonymous',
@@ -91,7 +91,7 @@ public function testPageCacheTagsIndependentFromCacheabilityHeaders() {
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'HIT');
     $cid_parts = [\Drupal::url('system_test.cache_tags_page', [], ['absolute' => TRUE]), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page')->get($cid);
     sort($cache_entry->tags);
     $expected_tags = [
       'config:user.role.anonymous',
@@ -156,7 +156,7 @@ public function testQueryParameterFormatRequests() {
 
     // Clear the page cache. After that request a HAL request, followed by an
     // ordinary HTML one.
-    \Drupal::cache('render')->deleteAll();
+    \Drupal::cache('page')->deleteAll();
     $this->drupalGet($node_url_with_hal_json_format);
     $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'MISS');
     $this->assertEqual($this->drupalGetHeader('Content-Type'), 'application/hal+json');
@@ -374,7 +374,7 @@ public function testPageCacheAnonymous403404() {
       $this->assertEqual($this->drupalGetHeader('X-Drupal-Cache'), 'MISS');
 
       // Ensure the 'expire' field on the cache entry uses cache_ttl_4xx.
-      $cache_item = \Drupal::service('cache.render')->get($this->getUrl() . ':html');
+      $cache_item = \Drupal::service('cache.page')->get($this->getUrl() . ':html');
       $difference = $cache_item->expire - (int) $cache_item->created;
       // Given that a second might have passed we cannot be sure that
       // $difference will exactly equal the default cache_ttl_4xx setting.
@@ -393,7 +393,7 @@ public function testPageCacheAnonymous403404() {
       'required' => TRUE,
     ];
     $this->writeSettings($settings);
-    \Drupal::service('cache.render')->deleteAll();
+    \Drupal::service('cache.page')->deleteAll();
 
     foreach ($tests as $code => $content_url) {
       // Getting the 404 page twice should still result in a cache miss.
diff --git a/core/modules/system/src/Form/PerformanceForm.php b/core/modules/system/src/Form/PerformanceForm.php
index a2e8592..de6912b 100644
--- a/core/modules/system/src/Form/PerformanceForm.php
+++ b/core/modules/system/src/Form/PerformanceForm.php
@@ -16,13 +16,6 @@
 class PerformanceForm extends ConfigFormBase {
 
   /**
-   * The render cache bin.
-   *
-   * @var \Drupal\Core\Cache\CacheBackendInterface
-   */
-  protected $renderCache;
-
-  /**
    * The date formatter service.
    *
    * @var \Drupal\Core\Datetime\DateFormatterInterface
@@ -48,7 +41,6 @@ class PerformanceForm extends ConfigFormBase {
    *
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
    *   The factory for configuration objects.
-   * @param \Drupal\Core\Cache\CacheBackendInterface $render_cache
    * @param \Drupal\Core\Datetime\DateFormatterInterface $date_formatter
    *   The date formatter service.
    * @param \Drupal\Core\Asset\AssetCollectionOptimizerInterface $css_collection_optimizer
@@ -56,10 +48,9 @@ class PerformanceForm extends ConfigFormBase {
    * @param \Drupal\Core\Asset\AssetCollectionOptimizerInterface $js_collection_optimizer
    *   The JavaScript asset collection optimizer service.
    */
-  public function __construct(ConfigFactoryInterface $config_factory, CacheBackendInterface $render_cache, DateFormatterInterface $date_formatter, AssetCollectionOptimizerInterface $css_collection_optimizer, AssetCollectionOptimizerInterface $js_collection_optimizer) {
+  public function __construct(ConfigFactoryInterface $config_factory, DateFormatterInterface $date_formatter, AssetCollectionOptimizerInterface $css_collection_optimizer,  AssetCollectionOptimizerInterface $js_collection_optimizer) {
     parent::__construct($config_factory);
 
-    $this->renderCache = $render_cache;
     $this->dateFormatter = $date_formatter;
     $this->cssCollectionOptimizer = $css_collection_optimizer;
     $this->jsCollectionOptimizer = $js_collection_optimizer;
@@ -71,7 +62,6 @@ public function __construct(ConfigFactoryInterface $config_factory, CacheBackend
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('config.factory'),
-      $container->get('cache.render'),
       $container->get('date.formatter'),
       $container->get('asset.css.collection_optimizer'),
       $container->get('asset.js.collection_optimizer')
@@ -168,10 +158,6 @@ public function buildForm(array $form, FormStateInterface $form_state) {
   public function submitForm(array &$form, FormStateInterface $form_state) {
     $this->cssCollectionOptimizer->deleteAll();
     $this->jsCollectionOptimizer->deleteAll();
-    // This form allows page compression settings to be changed, which can
-    // invalidate cached pages in the render cache, so it needs to be cleared on
-    // form submit.
-    $this->renderCache->deleteAll();
 
     $this->config('system.performance')
       ->set('cache.page.max_age', $form_state->getValue('page_cache_maximum_age'))
diff --git a/core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php b/core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php
index 6bea791..ae8379b 100644
--- a/core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php
+++ b/core/modules/system/src/Tests/Cache/AssertPageCacheContextsAndTagsTrait.php
@@ -91,7 +91,7 @@ protected function assertPageCacheContextsAndTags(Url $url, array $expected_cont
     // Assert page cache item + expected cache tags.
     $cid_parts = [$url->setAbsolute()->toString(), 'html'];
     $cid = implode(':', $cid_parts);
-    $cache_entry = \Drupal::cache('render')->get($cid);
+    $cache_entry = \Drupal::cache('page')->get($cid);
     sort($cache_entry->tags);
     $this->assertEqual($cache_entry->tags, $expected_tags);
     $this->debugCacheTags($cache_entry->tags, $expected_tags);
diff --git a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php b/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
index 582a2f4..1e29e56 100644
--- a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
+++ b/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
@@ -54,7 +54,7 @@ protected function verifyPageCache(Url $url, $hit_or_miss, $tags = FALSE) {
       $absolute_url = $url->setAbsolute()->toString();
       $cid_parts = [$absolute_url, 'html'];
       $cid = implode(':', $cid_parts);
-      $cache_entry = \Drupal::cache('render')->get($cid);
+      $cache_entry = \Drupal::cache('page')->get($cid);
       sort($cache_entry->tags);
       $tags = array_unique($tags);
       sort($tags);
diff --git a/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php b/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php
index 39a514f..69afeb7 100644
--- a/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php
+++ b/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php
@@ -51,7 +51,7 @@ protected function verifyPageCache(Url $url, $hit_or_miss, $tags = FALSE) {
       $absolute_url = $url->setAbsolute()->toString();
       $cid_parts = [$absolute_url, 'html'];
       $cid = implode(':', $cid_parts);
-      $cache_entry = \Drupal::cache('render')->get($cid);
+      $cache_entry = \Drupal::cache('page')->get($cid);
       sort($cache_entry->tags);
       $tags = array_unique($tags);
       sort($tags);
