reverted: --- b/core/includes/module.inc +++ a/core/includes/module.inc @@ -144,7 +144,7 @@ // For bootstrap modules, attempt to fetch the list from cache if possible. // if not fetch only the required information to fire bootstrap hooks // in case we are going to serve the page from cache. + if ($type == 'bootstrap') { - if ($type === 'bootstrap') { if (isset($lists['bootstrap'])) { return $lists['bootstrap']; } @@ -188,7 +188,7 @@ // Build a list of all enabled modules. $lists['module_enabled'][$name] = $name; // Build a list of filenames so drupal_get_filename can use it. + $lists['filepaths'][] = array( - $lists['filepaths'][$name] = array( 'type' => 'module', 'name' => $name, 'filepath' => $module_files[$name], @@ -215,7 +215,7 @@ $lists['theme'][$name] = $theme; // Build a list of filenames so drupal_get_filename can use it. if (isset($enabled_themes[$name])) { + $lists['filepaths'][] = array( - $lists['filepaths'][$name] = array( 'type' => 'theme', 'name' => $name, 'filepath' => $theme->filename, @@ -249,8 +249,6 @@ // Set the theme engine prefix. $lists['theme'][$key]->prefix = ($lists['theme'][$key]->info['engine'] == 'theme') ? $base_key : $lists['theme'][$key]->info['engine']; } - // Save a little space by stripping out the keys from the file paths. - $lists['filepaths'] = array_values($lists['filepaths']); cache('bootstrap')->set('system_list', $lists); } // To avoid a separate database lookup for the filepath, prime the only in patch2: unchanged: --- a/index.php +++ b/index.php @@ -28,7 +28,7 @@ drupal_bootstrap(DRUPAL_BOOTSTRAP_CODE); // @todo Figure out how best to handle the Kernel constructor parameters. -$kernel = new DrupalKernel('prod', FALSE); +$kernel = new DrupalKernel('prod', FALSE, NULL, cache('bootstrap')); // Create a request object from the HTTPFoundation. $request = Request::createFromGlobals();