diff options
author | Ian Lance Taylor <iant@google.com> | 2007-12-14 19:00:21 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-12-14 19:00:21 +0000 |
commit | 17a1d0a9b26ce8f4f71073c41483baa0c10ed83b (patch) | |
tree | 3cdd95751145e2cf1cbcaedee2df8790c86b935d /gold/reloc.h | |
parent | 7004837e8d2e02ee35c50d236681e9c30a283619 (diff) | |
download | gdb-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.h | 29 |
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_; |