* 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.
This commit is contained in:
Ian Lance Taylor
2010-02-11 07:42:17 +00:00
parent 612bdda138
commit fa17a3f432
5 changed files with 56 additions and 41 deletions

View File

@@ -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 <iant@google.com>.
// 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