< prev index next >
src/hotspot/share/opto/graphKit.cpp
Print this page
*** 1560,1570 ****
Node* val,
const TypeOopPtr* val_type,
Node* pre_val,
BasicType bt) {
! BarrierSet* bs = Universe::heap()->barrier_set();
set_control(ctl);
switch (bs->kind()) {
case BarrierSet::G1BarrierSet:
g1_write_barrier_pre(do_load, obj, adr, adr_idx, val, val_type, pre_val, bt);
break;
--- 1560,1570 ----
Node* val,
const TypeOopPtr* val_type,
Node* pre_val,
BasicType bt) {
! BarrierSet* bs = BarrierSet::barrier_set();
set_control(ctl);
switch (bs->kind()) {
case BarrierSet::G1BarrierSet:
g1_write_barrier_pre(do_load, obj, adr, adr_idx, val, val_type, pre_val, bt);
break;
*** 1577,1587 ****
}
}
bool GraphKit::can_move_pre_barrier() const {
! BarrierSet* bs = Universe::heap()->barrier_set();
switch (bs->kind()) {
case BarrierSet::G1BarrierSet:
return true; // Can move it if no safepoint
case BarrierSet::CardTableBarrierSet:
--- 1577,1587 ----
}
}
bool GraphKit::can_move_pre_barrier() const {
! BarrierSet* bs = BarrierSet::barrier_set();
switch (bs->kind()) {
case BarrierSet::G1BarrierSet:
return true; // Can move it if no safepoint
case BarrierSet::CardTableBarrierSet:
*** 1599,1609 ****
Node* adr,
uint adr_idx,
Node* val,
BasicType bt,
bool use_precise) {
! BarrierSet* bs = Universe::heap()->barrier_set();
set_control(ctl);
switch (bs->kind()) {
case BarrierSet::G1BarrierSet:
g1_write_barrier_post(store, obj, adr, adr_idx, val, bt, use_precise);
break;
--- 1599,1609 ----
Node* adr,
uint adr_idx,
Node* val,
BasicType bt,
bool use_precise) {
! BarrierSet* bs = BarrierSet::barrier_set();
set_control(ctl);
switch (bs->kind()) {
case BarrierSet::G1BarrierSet:
g1_write_barrier_post(store, obj, adr, adr_idx, val, bt, use_precise);
break;
*** 3812,3822 ****
//----------------------------- store barriers ----------------------------
#define __ ideal.
bool GraphKit::use_ReduceInitialCardMarks() {
! BarrierSet *bs = Universe::heap()->barrier_set();
return bs->is_a(BarrierSet::CardTableBarrierSet)
&& barrier_set_cast<CardTableBarrierSet>(bs)->can_elide_tlab_store_barriers()
&& ReduceInitialCardMarks;
}
--- 3812,3822 ----
//----------------------------- store barriers ----------------------------
#define __ ideal.
bool GraphKit::use_ReduceInitialCardMarks() {
! BarrierSet *bs = BarrierSet::barrier_set();
return bs->is_a(BarrierSet::CardTableBarrierSet)
&& barrier_set_cast<CardTableBarrierSet>(bs)->can_elide_tlab_store_barriers()
&& ReduceInitialCardMarks;
}
*** 3883,3893 ****
// Convert the pointer to an int prior to doing math on it
Node* cast = __ CastPX(__ ctrl(), adr);
// Divide by card size
! assert(Universe::heap()->barrier_set()->is_a(BarrierSet::CardTableBarrierSet),
"Only one we handle so far.");
Node* card_offset = __ URShiftX( cast, __ ConI(CardTable::card_shift) );
// Combine card table base and card offset
Node* card_adr = __ AddP(__ top(), byte_map_base_node(), card_offset );
--- 3883,3893 ----
// Convert the pointer to an int prior to doing math on it
Node* cast = __ CastPX(__ ctrl(), adr);
// Divide by card size
! assert(BarrierSet::barrier_set()->is_a(BarrierSet::CardTableBarrierSet),
"Only one we handle so far.");
Node* card_offset = __ URShiftX( cast, __ ConI(CardTable::card_shift) );
// Combine card table base and card offset
Node* card_adr = __ AddP(__ top(), byte_map_base_node(), card_offset );
< prev index next >