< prev index next >

src/hotspot/share/gc/cms/promotionInfo.cpp

Print this page
rev 49290 : [mq]: JDK-8199735.01.patch

*** 1,7 **** /* ! * Copyright (c) 2010, 2017, Oracle and/or its affiliates. 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,7 ---- /* ! * Copyright (c) 2010, 2018, Oracle and/or its affiliates. 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.
*** 82,95 **** assert(_promoTail == curObj, "Should have been the tail"); \ _promoHead = _promoTail = NULL; \ } \ if (curObj->hasDisplacedMark()) { \ /* restore displaced header */ \ ! oop(curObj)->set_mark(nextDisplacedHeader()); \ } else { \ /* restore prototypical header */ \ ! oop(curObj)->init_mark(); \ } \ /* The "promoted_mark" should now not be set */ \ assert(!curObj->hasPromotedMark(), \ "Should have been cleared by restoring displaced mark-word"); \ NOT_PRODUCT(_promoHead = nextObj); \ --- 82,95 ---- assert(_promoTail == curObj, "Should have been the tail"); \ _promoHead = _promoTail = NULL; \ } \ if (curObj->hasDisplacedMark()) { \ /* restore displaced header */ \ ! oop(curObj)->set_mark_raw(nextDisplacedHeader()); \ } else { \ /* restore prototypical header */ \ ! oop(curObj)->init_mark_raw(); \ } \ /* The "promoted_mark" should now not be set */ \ assert(!curObj->hasPromotedMark(), \ "Should have been cleared by restoring displaced mark-word"); \ NOT_PRODUCT(_promoHead = nextObj); \
*** 144,154 **** track(trackOop, oop(trackOop)->klass()); } void PromotionInfo::track(PromotedObject* trackOop, Klass* klassOfOop) { // make a copy of header as it may need to be spooled ! markOop mark = oop(trackOop)->mark(); trackOop->clear_next(); if (mark->must_be_preserved_for_cms_scavenge(klassOfOop)) { // save non-prototypical header, and mark oop saveDisplacedHeader(mark); trackOop->setDisplacedMark(); --- 144,154 ---- track(trackOop, oop(trackOop)->klass()); } void PromotionInfo::track(PromotedObject* trackOop, Klass* klassOfOop) { // make a copy of header as it may need to be spooled ! markOop mark = oop(trackOop)->mark_raw(); trackOop->clear_next(); if (mark->must_be_preserved_for_cms_scavenge(klassOfOop)) { // save non-prototypical header, and mark oop saveDisplacedHeader(mark); trackOop->setDisplacedMark();
*** 284,294 **** // 1. the number of displaced headers matches the number of promoted // objects that have displaced headers // 2. each promoted object lies in this space debug_only( PromotedObject* junk = NULL; ! assert(junk->next_addr() == (void*)(oop(junk)->mark_addr()), "Offset of PromotedObject::_next is expected to align with " " the OopDesc::_mark within OopDesc"); ) // FIXME: guarantee???? guarantee(_spoolHead == NULL || _spoolTail != NULL || --- 284,294 ---- // 1. the number of displaced headers matches the number of promoted // objects that have displaced headers // 2. each promoted object lies in this space debug_only( PromotedObject* junk = NULL; ! assert(junk->next_addr() == (void*)(oop(junk)->mark_addr_raw()), "Offset of PromotedObject::_next is expected to align with " " the OopDesc::_mark within OopDesc"); ) // FIXME: guarantee???? guarantee(_spoolHead == NULL || _spoolTail != NULL ||
< prev index next >