hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp
changeset 17370 59a0620561fa
parent 14582 490bb6c0df7c
child 17844 28ca9179db98
equal deleted inserted replaced
17367:64c84d620e5c 17370:59a0620561fa
     1 /*
     1 /*
     2  * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   211   oop obj = NULL;
   211   oop obj = NULL;
   212   ObjArrayTask task;
   212   ObjArrayTask task;
   213   int random_seed = 17;
   213   int random_seed = 17;
   214   do {
   214   do {
   215     while (ParCompactionManager::steal_objarray(which, &random_seed, task)) {
   215     while (ParCompactionManager::steal_objarray(which, &random_seed, task)) {
   216       ObjArrayKlass* const k = (ObjArrayKlass*)task.obj()->klass();
   216       ObjArrayKlass* k = (ObjArrayKlass*)task.obj()->klass();
   217       k->oop_follow_contents(cm, task.obj(), task.index());
   217       k->oop_follow_contents(cm, task.obj(), task.index());
   218       cm->follow_marking_stacks();
   218       cm->follow_marking_stacks();
   219     }
   219     }
   220     while (ParCompactionManager::steal(which, &random_seed, obj)) {
   220     while (ParCompactionManager::steal(which, &random_seed, obj)) {
   221       obj->follow_contents(cm);
   221       obj->follow_contents(cm);