From fa17a3f4328a7f3bbf5491159c422edb0b2da7ba Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 11 Feb 2010 07:42:17 +0000 Subject: * dirsearch.cc (Dirsearch::initialize): Add all blockers before queueing any tasks. * gold.cc (queue_middle_gc_tasks): Likewise. Fix final blocker. (queue_middle_tasks): Add all blockers before queueing any tasks. (queue_final_tasks): Likewise. * token.h (Task_token::add_blockers): New function. * object.h (Input_objects::number_of_relobjs): New function. --- gold/token.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gold/token.h') diff --git a/gold/token.h b/gold/token.h index dcf00b6..5cf64a0 100644 --- a/gold/token.h +++ b/gold/token.h @@ -1,6 +1,6 @@ // token.h -- lock tokens for gold -*- C++ -*- -// Copyright 2006, 2007, 2008 Free Software Foundation, Inc. +// Copyright 2006, 2007, 2008, 2010 Free Software Foundation, Inc. // Written by Ian Lance Taylor . // This file is part of gold. @@ -144,6 +144,15 @@ class Task_token this->writer_ = NULL; } + // Add some number of blockers to the token. + void + add_blockers(int c) + { + gold_assert(this->is_blocker_); + this->blockers_ += c; + this->writer_ = NULL; + } + // Remove a blocker from the token. Returns true if block count // drops to zero. bool -- cgit v1.1