< prev index next >

src/cpu/ppc/vm/macroAssembler_ppc.cpp

Print this page
rev 7807 : [mq]: bcast

*** 1,7 **** /* ! * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. * Copyright 2012, 2014 SAP AG. 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 --- 1,7 ---- /* ! * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2012, 2014 SAP AG. 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
*** 2202,2212 **** // GC barrier helper macros // Write the card table byte if needed. void MacroAssembler::card_write_barrier_post(Register Rstore_addr, Register Rnew_val, Register Rtmp) { ! CardTableModRefBS* bs = (CardTableModRefBS*) Universe::heap()->barrier_set(); assert(bs->kind() == BarrierSet::CardTableModRef || bs->kind() == BarrierSet::CardTableExtension, "wrong barrier"); #ifdef ASSERT cmpdi(CCR0, Rnew_val, 0); asm_assert_ne("null oop not allowed", 0x321); --- 2202,2213 ---- // GC barrier helper macros // Write the card table byte if needed. void MacroAssembler::card_write_barrier_post(Register Rstore_addr, Register Rnew_val, Register Rtmp) { ! CardTableModRefBS* bs = ! barrier_set_cast<CardTableModRefBS>(Universe::heap()->barrier_set()); assert(bs->kind() == BarrierSet::CardTableModRef || bs->kind() == BarrierSet::CardTableExtension, "wrong barrier"); #ifdef ASSERT cmpdi(CCR0, Rnew_val, 0); asm_assert_ne("null oop not allowed", 0x321);
*** 2308,2320 **** void MacroAssembler::g1_write_barrier_post(Register Rstore_addr, Register Rnew_val, Register Rtmp1, Register Rtmp2, Register Rtmp3, Label *filtered_ext) { Label runtime, filtered_int; Label& filtered = (filtered_ext != NULL) ? *filtered_ext : filtered_int; assert_different_registers(Rstore_addr, Rnew_val, Rtmp1, Rtmp2); ! G1SATBCardTableModRefBS* bs = (G1SATBCardTableModRefBS*) Universe::heap()->barrier_set(); ! assert(bs->kind() == BarrierSet::G1SATBCT || ! bs->kind() == BarrierSet::G1SATBCTLogging, "wrong barrier"); // Does store cross heap regions? if (G1RSBarrierRegionFilter) { xorr(Rtmp1, Rstore_addr, Rnew_val); srdi_(Rtmp1, Rtmp1, HeapRegion::LogOfHRGrainBytes); --- 2309,2320 ---- void MacroAssembler::g1_write_barrier_post(Register Rstore_addr, Register Rnew_val, Register Rtmp1, Register Rtmp2, Register Rtmp3, Label *filtered_ext) { Label runtime, filtered_int; Label& filtered = (filtered_ext != NULL) ? *filtered_ext : filtered_int; assert_different_registers(Rstore_addr, Rnew_val, Rtmp1, Rtmp2); ! G1SATBCardTableLoggingModRefBS* bs = ! barrier_set_cast<G1SATBCardTableLoggingModRefBS>(Universe::heap()->barrier_set()); // Does store cross heap regions? if (G1RSBarrierRegionFilter) { xorr(Rtmp1, Rstore_addr, Rnew_val); srdi_(Rtmp1, Rtmp1, HeapRegion::LogOfHRGrainBytes);
< prev index next >