< prev index next >

src/cpu/sparc/vm/macroAssembler_sparc.cpp

Print this page
rev 7807 : [mq]: bcast

*** 1,7 **** /* ! * Copyright (c) 1997, 2014, 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) 1997, 2015, 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.
*** 3866,3878 **** Label filtered; MacroAssembler* post_filter_masm = this; if (new_val == G0) return; ! G1SATBCardTableModRefBS* bs = (G1SATBCardTableModRefBS*) Universe::heap()->barrier_set(); ! assert(bs->kind() == BarrierSet::G1SATBCT || ! bs->kind() == BarrierSet::G1SATBCTLogging, "wrong barrier"); if (G1RSBarrierRegionFilter) { xor3(store_addr, new_val, tmp); #ifdef _LP64 srlx(tmp, HeapRegion::LogOfHRGrainBytes, tmp); --- 3866,3877 ---- Label filtered; MacroAssembler* post_filter_masm = this; if (new_val == G0) return; ! G1SATBCardTableLoggingModRefBS* bs = ! barrier_set_cast<G1SATBCardTableLoggingModRefBS>(Universe::heap()->barrier_set()); if (G1RSBarrierRegionFilter) { xor3(store_addr, new_val, tmp); #ifdef _LP64 srlx(tmp, HeapRegion::LogOfHRGrainBytes, tmp);
*** 3912,3922 **** /////////////////////////////////////////////////////////////////////////////////// void MacroAssembler::card_write_barrier_post(Register store_addr, Register new_val, Register tmp) { // If we're writing constant NULL, we can skip the write barrier. if (new_val == G0) return; ! CardTableModRefBS* bs = (CardTableModRefBS*) Universe::heap()->barrier_set(); assert(bs->kind() == BarrierSet::CardTableModRef || bs->kind() == BarrierSet::CardTableExtension, "wrong barrier"); card_table_write(bs->byte_map_base, tmp, store_addr); } --- 3911,3922 ---- /////////////////////////////////////////////////////////////////////////////////// void MacroAssembler::card_write_barrier_post(Register store_addr, Register new_val, Register tmp) { // If we're writing constant NULL, we can skip the write barrier. if (new_val == G0) return; ! CardTableModRefBS* bs = ! barrier_set_cast<CardTableModRefBS>(Universe::heap()->barrier_set()); assert(bs->kind() == BarrierSet::CardTableModRef || bs->kind() == BarrierSet::CardTableExtension, "wrong barrier"); card_table_write(bs->byte_map_base, tmp, store_addr); }
< prev index next >