hotspot/src/share/vm/gc_implementation/shared/markSweep.inline.hpp
changeset 13728 882756847a04
parent 11178 8318f84ac604
child 15088 8875e774f1a3
equal deleted inserted replaced
13727:caf5eb7dd4a7 13728:882756847a04
     1 /*
     1 /*
     2  * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2000, 2012, 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.
    86   if (!oopDesc::is_null(heap_oop)) {
    86   if (!oopDesc::is_null(heap_oop)) {
    87     oop obj     = oopDesc::decode_heap_oop_not_null(heap_oop);
    87     oop obj     = oopDesc::decode_heap_oop_not_null(heap_oop);
    88     oop new_obj = oop(obj->mark()->decode_pointer());
    88     oop new_obj = oop(obj->mark()->decode_pointer());
    89     assert(new_obj != NULL ||                         // is forwarding ptr?
    89     assert(new_obj != NULL ||                         // is forwarding ptr?
    90            obj->mark() == markOopDesc::prototype() || // not gc marked?
    90            obj->mark() == markOopDesc::prototype() || // not gc marked?
    91            (UseBiasedLocking && obj->mark()->has_bias_pattern()) ||
    91            (UseBiasedLocking && obj->mark()->has_bias_pattern()),
    92                                                       // not gc marked?
    92                                                       // not gc marked?
    93            obj->is_shared(),                          // never forwarded?
       
    94            "should be forwarded");
    93            "should be forwarded");
    95     if (new_obj != NULL) {
    94     if (new_obj != NULL) {
    96       assert(Universe::heap()->is_in_reserved(new_obj),
    95       assert(Universe::heap()->is_in_reserved(new_obj),
    97              "should be in object space");
    96              "should be in object space");
    98       oopDesc::encode_store_heap_oop_not_null(p, new_obj);
    97       oopDesc::encode_store_heap_oop_not_null(p, new_obj);