Commit 25589b72 authored by Karolina Soltys's avatar Karolina Soltys Committed by Commit Bot

Revert "[scheduler] Registering the current task executor."

This reverts commit 0c8cf257.

Reason for revert: The upstream CL got reverted.

Original change's description:
> [scheduler] Registering the current task executor.
> 
> I'm saving to TLS the current task executor on registration, and providing
> it for the base::CurrentThread() trait.
> 
> Bug: 968047
> Change-Id: I753213ff57249ed55d10cb0a576ec56975a4088e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1642562
> Reviewed-by: Alex Clarke <alexclarke@chromium.org>
> Reviewed-by: Karolina Soltys <ksolt@chromium.org>
> Commit-Queue: Karolina Soltys <ksolt@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#666291}

TBR=skyostil@chromium.org,alexclarke@chromium.org,ksolt@chromium.org

Change-Id: Iebd1add6a23939b48ae2c25335b49ce2869a2f97
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 968047
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645777Reviewed-by: default avatarKarolina Soltys <ksolt@chromium.org>
Commit-Queue: Karolina Soltys <ksolt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#666303}
parent 73d56b21
...@@ -6,10 +6,8 @@ ...@@ -6,10 +6,8 @@
#include <type_traits> #include <type_traits>
#include "base/no_destructor.h"
#include "base/task/task_traits.h" #include "base/task/task_traits.h"
#include "base/task/task_traits_extension.h" #include "base/task/task_traits_extension.h"
#include "base/threading/thread_local.h"
namespace base { namespace base {
...@@ -30,18 +28,12 @@ static_assert( ...@@ -30,18 +28,12 @@ static_assert(
TaskTraitsExtensionStorage::kInvalidExtensionId == 0, TaskTraitsExtensionStorage::kInvalidExtensionId == 0,
"TaskExecutorMap depends on 0 being an invalid TaskTraits extension ID"); "TaskExecutorMap depends on 0 being an invalid TaskTraits extension ID");
ThreadLocalPointer<TaskExecutor>* GetTLSForCurrentTaskExecutor() {
static NoDestructor<ThreadLocalPointer<TaskExecutor>> instance;
return instance.get();
}
} // namespace } // namespace
void RegisterTaskExecutor(uint8_t extension_id, TaskExecutor* task_executor) { void RegisterTaskExecutor(uint8_t extension_id, TaskExecutor* task_executor) {
DCHECK_NE(extension_id, TaskTraitsExtensionStorage::kInvalidExtensionId); DCHECK_NE(extension_id, TaskTraitsExtensionStorage::kInvalidExtensionId);
DCHECK_LE(extension_id, TaskTraitsExtensionStorage::kMaxExtensionId); DCHECK_LE(extension_id, TaskTraitsExtensionStorage::kMaxExtensionId);
DCHECK_EQ((*GetTaskExecutorMap())[extension_id - 1], nullptr); DCHECK_EQ((*GetTaskExecutorMap())[extension_id - 1], nullptr);
GetTLSForCurrentTaskExecutor()->Set(task_executor);
(*GetTaskExecutorMap())[extension_id - 1] = task_executor; (*GetTaskExecutorMap())[extension_id - 1] = task_executor;
} }
...@@ -50,16 +42,11 @@ void UnregisterTaskExecutorForTesting(uint8_t extension_id) { ...@@ -50,16 +42,11 @@ void UnregisterTaskExecutorForTesting(uint8_t extension_id) {
DCHECK_NE(extension_id, TaskTraitsExtensionStorage::kInvalidExtensionId); DCHECK_NE(extension_id, TaskTraitsExtensionStorage::kInvalidExtensionId);
DCHECK_LE(extension_id, TaskTraitsExtensionStorage::kMaxExtensionId); DCHECK_LE(extension_id, TaskTraitsExtensionStorage::kMaxExtensionId);
DCHECK_NE((*GetTaskExecutorMap())[extension_id - 1], nullptr); DCHECK_NE((*GetTaskExecutorMap())[extension_id - 1], nullptr);
(*GetTaskExecutorMap())[extension_id - 1] = nullptr; (*GetTaskExecutorMap())[extension_id - 1] = nullptr;
} }
TaskExecutor* GetRegisteredTaskExecutorForTraits(const TaskTraits& traits) { TaskExecutor* GetRegisteredTaskExecutorForTraits(const TaskTraits& traits) {
if (traits.use_current_thread()) {
auto* current_task_executor = GetTLSForCurrentTaskExecutor()->Get();
DCHECK(current_task_executor);
return current_task_executor;
}
uint8_t extension_id = traits.extension_id(); uint8_t extension_id = traits.extension_id();
if (extension_id != TaskTraitsExtensionStorage::kInvalidExtensionId) { if (extension_id != TaskTraitsExtensionStorage::kInvalidExtensionId) {
TaskExecutor* executor = (*GetTaskExecutorMap())[extension_id - 1]; TaskExecutor* executor = (*GetTaskExecutorMap())[extension_id - 1];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment