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); };