summaryrefslogtreecommitdiff
path: root/src/closure.h
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2012-10-23 16:13:36 -0700
committer Mathieu Chartier <mathieuc@google.com> 2012-10-26 12:00:03 -0700
commit0e4627e593bc39f8e3d89c31f8977d55054c07cc (patch)
tree1d69558732c0c916e51a530985a26d4235ef0e6c /src/closure.h
parent9281f004db3f194930ef34d31e5d80c98341f38f (diff)
Add thread pool class
Added a thread pool class loosely based on google3 code. Modified the compiler to have a single thread pool instead of creating new threads in ForAll. Moved barrier to be in top level directory as it is not GC specific code. Performance Timings: Reference: boot.oat: 14.306596s time mm oat-target: real 2m33.748s user 10m23.190s sys 5m54.140s Thread pool: boot.oat: 13.111049s time mm oat-target: real 2m29.372s user 10m3.130s sys 5m46.290s The speed increase is probably just noise. Change-Id: If3c1280cbaa4c7e4361127d064ac744ea12cdf49
Diffstat (limited to 'src/closure.h')
-rw-r--r--src/closure.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/closure.h b/src/closure.h
new file mode 100644
index 0000000000..17f2b84d82
--- /dev/null
+++ b/src/closure.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ART_SRC_CLOSURE_H_
+#define ART_SRC_CLOSURE_H_
+
+namespace art {
+
+class Thread;
+
+class Closure {
+ public:
+ virtual ~Closure() { }
+ virtual void Run(Thread* self) = 0;
+};
+
+} // namespace art
+
+#endif // ART_SRC_CLOSURE_H_