diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
index 0268284..6d82d1d 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
@@ -103,6 +103,13 @@
   protected $usesAreas = TRUE;
 
   /**
+   * Static cache for unpackOptions, but not if we are in the UI.
+   *
+   * @var array
+   */
+  protected static $unpackOptions = array();
+
+  /**
    * Constructs a new DisplayPluginBase object.
    *
    * Because DisplayPluginBase::initDisplay() takes the display configuration by
@@ -124,12 +131,10 @@ public function initDisplay(ViewExecutable $view, array &$display, array &$optio
 
     // Load extenders as soon as possible.
     $this->extender = array();
-    $extenders = views_get_enabled_display_extenders();
-    if (!empty($extenders)) {
+    if ($extenders = Views::getEnabledDisplayExtenders()) {
       $manager = Views::pluginManager('display_extender');
       foreach ($extenders as $extender) {
-        $plugin = $manager->createInstance($extender);
-        if ($plugin) {
+        if ($plugin = $manager->createInstance($extender)) {
           $plugin->init($this->view, $this);
           $this->extender[$extender] = $plugin;
         }
@@ -148,23 +153,23 @@ public function initDisplay(ViewExecutable $view, array &$display, array &$optio
       unset($options['defaults']);
     }
 
-    // Cache for unpackOptions, but not if we are in the ui.
-    static $unpack_options = array();
-    if (empty($view->editing)) {
-      $cid = 'unpackOptions:' . hash('sha256', serialize(array($this->options, $options)));
-      if (empty($unpack_options[$cid])) {
-        $cache = views_cache_get($cid, TRUE);
+    $skip_cache = \Drupal::config('views.settings')->get('skip_cache');
+
+    if (empty($view->editing) || !$skip_cache) {
+      $cid = 'unpackOptions:' . hash('sha256', serialize(array($this->options, $options))) . ':' . language(Language::TYPE_INTERFACE)->id;
+      if (empty(static::$unpackOptions[$cid])) {
+        $cache = cache('views_info')->get($cid);
         if (!empty($cache->data)) {
           $this->options = $cache->data;
         }
         else {
           $this->unpackOptions($this->options, $options);
-          views_cache_set($cid, $this->options, TRUE);
+          cache('views_info')->set($cid, $this->options);
         }
-        $unpack_options[$cid] = $this->options;
+        static::$unpackOptions[$cid] = $this->options;
       }
       else {
-        $this->options = $unpack_options[$cid];
+        $this->options = static::$unpackOptions[$cid];
       }
     }
     else {
diff --git a/core/modules/views/views.module b/core/modules/views/views.module
index 3ec6cde..d4a5339 100644
--- a/core/modules/views/views.module
+++ b/core/modules/views/views.module
@@ -1341,52 +1341,3 @@ function views_element_validate_tags($element, &$form_state) {
     }
   }
 }
-
-/**
- * Set a cached item in the views cache.
- *
- * This is just a convenience wrapper around cache_set().
- *
- * @param $cid
- *   The cache ID of the data to store.
- * @param $data
- *   The data to store in the cache. Complex data types will be automatically serialized before insertion.
- *   Strings will be stored as plain text and not serialized.
- * @param $use_language
- *   If TRUE, the data will be cached specific to the currently active language.
- */
-function views_cache_set($cid, $data, $use_language = FALSE) {
-  if (\Drupal::config('views.settings')->get('skip_cache')) {
-    return;
-  }
-  if ($use_language) {
-    $cid .= ':' . language(Language::TYPE_INTERFACE)->id;
-  }
-
-  cache('views_info')->set($cid, $data);
-}
-
-/**
- * Return data from the persistent views cache.
- *
- * This is just a convenience wrapper around cache_get().
- *
- * @param int $cid
- *   The cache ID of the data to retrieve.
- * @param bool $use_language
- *   If TRUE, the data will be requested specific to the currently active language.
- *
- * @return stdClass|bool
- *   The cache or FALSE on failure.
- */
-function views_cache_get($cid, $use_language = FALSE) {
-  if (\Drupal::config('views.settings')->get('skip_cache')) {
-    return FALSE;
-  }
-  if ($use_language) {
-    $cid .= ':' . language(Language::TYPE_INTERFACE)->id;
-  }
-
-  return cache('views_info')->get($cid);
-}
-
