src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp

changeset 5097
92ef81e2f571
parent 4142
d8ce2825b193
child 6876
710a3c8b516e
     1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp	Wed May 08 21:06:46 2013 -0400
     1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp	Fri May 10 08:27:30 2013 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -187,11 +187,8 @@
    1.11  
    1.12      // Process ObjArrays one at a time to avoid marking stack bloat.
    1.13      ObjArrayTask task;
    1.14 -    if (_objarray_stack.pop_overflow(task)) {
    1.15 -      ObjArrayKlass* const k = (ObjArrayKlass*)task.obj()->klass();
    1.16 -      k->oop_follow_contents(this, task.obj(), task.index());
    1.17 -    } else if (_objarray_stack.pop_local(task)) {
    1.18 -      ObjArrayKlass* const k = (ObjArrayKlass*)task.obj()->klass();
    1.19 +    if (_objarray_stack.pop_overflow(task) || _objarray_stack.pop_local(task)) {
    1.20 +      ObjArrayKlass* k = (ObjArrayKlass*)task.obj()->klass();
    1.21        k->oop_follow_contents(this, task.obj(), task.index());
    1.22      }
    1.23    } while (!marking_stacks_empty());

mercurial