aboutsummaryrefslogtreecommitdiff
path: root/gold/reloc.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-12-14 19:00:21 +0000
committerIan Lance Taylor <iant@google.com>2007-12-14 19:00:21 +0000
commit17a1d0a9b26ce8f4f71073c41483baa0c10ed83b (patch)
tree3cdd95751145e2cf1cbcaedee2df8790c86b935d /gold/reloc.h
parent7004837e8d2e02ee35c50d236681e9c30a283619 (diff)
downloadgdb-17a1d0a9b26ce8f4f71073c41483baa0c10ed83b.zip
gdb-17a1d0a9b26ce8f4f71073c41483baa0c10ed83b.tar.gz
gdb-17a1d0a9b26ce8f4f71073c41483baa0c10ed83b.tar.bz2
Rewrite workqueue. This version eliminates the master thread, and
reduces the amount of locking required to find a new thread to run.
Diffstat (limited to 'gold/reloc.h')
-rw-r--r--gold/reloc.h29
1 files changed, 13 insertions, 16 deletions
diff --git a/gold/reloc.h b/gold/reloc.h
index d84dc88..c997030 100644
--- a/gold/reloc.h
+++ b/gold/reloc.h
@@ -23,6 +23,7 @@
#ifndef GOLD_RELOC_H
#define GOLD_RELOC_H
+#include <vector>
#include <byteswap.h>
#include "elfcpp.h"
@@ -69,11 +70,11 @@ class Read_relocs : public Task
// The standard Task methods.
- Is_runnable_type
- is_runnable(Workqueue*);
+ Task_token*
+ is_runnable();
- Task_locker*
- locks(Workqueue*);
+ void
+ locks(Task_locker*);
void
run(Workqueue*);
@@ -107,11 +108,11 @@ class Scan_relocs : public Task
// The standard Task methods.
- Is_runnable_type
- is_runnable(Workqueue*);
+ Task_token*
+ is_runnable();
- Task_locker*
- locks(Workqueue*);
+ void
+ locks(Task_locker*);
void
run(Workqueue*);
@@ -120,8 +121,6 @@ class Scan_relocs : public Task
get_name() const;
private:
- class Scan_relocs_locker;
-
const General_options& options_;
Symbol_table* symtab_;
Layout* layout_;
@@ -148,11 +147,11 @@ class Relocate_task : public Task
// The standard Task methods.
- Is_runnable_type
- is_runnable(Workqueue*);
+ Task_token*
+ is_runnable();
- Task_locker*
- locks(Workqueue*);
+ void
+ locks(Task_locker*);
void
run(Workqueue*);
@@ -161,8 +160,6 @@ class Relocate_task : public Task
get_name() const;
private:
- class Relocate_locker;
-
const General_options& options_;
const Symbol_table* symtab_;
const Layout* layout_;