hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp
Print this page
rev 611 : Merge
*** 1,10 ****
#ifdef USE_PRAGMA_IDENT_SRC
#pragma ident "@(#)pcTasks.hpp 1.19 07/05/05 17:05:26 JVM"
#endif
/*
! * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,10 ----
#ifdef USE_PRAGMA_IDENT_SRC
#pragma ident "@(#)pcTasks.hpp 1.19 07/05/05 17:05:26 JVM"
#endif
/*
! * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 189,210 ****
virtual void do_it(GCTaskManager* manager, uint which);
};
//
! // StealChunkCompactionTask
//
// This task is used to distribute work to idle threads.
//
! class StealChunkCompactionTask : public GCTask {
private:
ParallelTaskTerminator* const _terminator;
public:
! StealChunkCompactionTask(ParallelTaskTerminator* t);
! char* name() { return (char *)"steal-chunk-task"; }
ParallelTaskTerminator* terminator() { return _terminator; }
virtual void do_it(GCTaskManager* manager, uint which);
};
--- 189,210 ----
virtual void do_it(GCTaskManager* manager, uint which);
};
//
! // StealRegionCompactionTask
//
// This task is used to distribute work to idle threads.
//
! class StealRegionCompactionTask : public GCTask {
private:
ParallelTaskTerminator* const _terminator;
public:
! StealRegionCompactionTask(ParallelTaskTerminator* t);
! char* name() { return (char *)"steal-region-task"; }
ParallelTaskTerminator* terminator() { return _terminator; }
virtual void do_it(GCTaskManager* manager, uint which);
};
*** 216,250 ****
//
class UpdateDensePrefixTask : public GCTask {
private:
PSParallelCompact::SpaceId _space_id;
! size_t _chunk_index_start;
! size_t _chunk_index_end;
public:
char* name() { return (char *)"update-dense_prefix-task"; }
UpdateDensePrefixTask(PSParallelCompact::SpaceId space_id,
! size_t chunk_index_start,
! size_t chunk_index_end);
virtual void do_it(GCTaskManager* manager, uint which);
};
//
// DrainStacksCompactionTask
//
! // This task processes chunks that have been added to the stacks of each
// compaction manager.
//
// Trying to use one draining thread does not work because there are no
// guarantees about which task will be picked up by which thread. For example,
! // if thread A gets all the preloaded chunks, thread A may not get a draining
// task (they may all be done by other threads).
//
class DrainStacksCompactionTask : public GCTask {
public:
! char* name() { return (char *)"drain-chunk-task"; }
virtual void do_it(GCTaskManager* manager, uint which);
};
--- 216,250 ----
//
class UpdateDensePrefixTask : public GCTask {
private:
PSParallelCompact::SpaceId _space_id;
! size_t _region_index_start;
! size_t _region_index_end;
public:
char* name() { return (char *)"update-dense_prefix-task"; }
UpdateDensePrefixTask(PSParallelCompact::SpaceId space_id,
! size_t region_index_start,
! size_t region_index_end);
virtual void do_it(GCTaskManager* manager, uint which);
};
//
// DrainStacksCompactionTask
//
! // This task processes regions that have been added to the stacks of each
// compaction manager.
//
// Trying to use one draining thread does not work because there are no
// guarantees about which task will be picked up by which thread. For example,
! // if thread A gets all the preloaded regions, thread A may not get a draining
// task (they may all be done by other threads).
//
class DrainStacksCompactionTask : public GCTask {
public:
! char* name() { return (char *)"drain-region-task"; }
virtual void do_it(GCTaskManager* manager, uint which);
};