mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 12:09:14 +00:00
Fix JVMCI by answering proper things
This commit is contained in:
parent
2aef3a9866
commit
b293378157
@ -607,10 +607,21 @@ void decode_env::print_address(address adr) {
|
||||
return;
|
||||
}
|
||||
|
||||
address card_table_base = nullptr;
|
||||
BarrierSet* bs = BarrierSet::barrier_set();
|
||||
if (bs->is_a(BarrierSet::CardTableBarrierSet) &&
|
||||
adr == ci_card_table_address_as<address>()) {
|
||||
st->print("word_map_base");
|
||||
if (bs->is_a(BarrierSet::G1BarrierSet)) {
|
||||
G1BarrierSet* g1bs = barrier_set_cast<G1BarrierSet>(bs);
|
||||
card_table_base = g1bs->card_table()->byte_map_base();
|
||||
#if INCLUDE_SHENANDOAHGC
|
||||
} else if (bs->is_a(BarrierSet::ShenandoahBarrierSet)) {
|
||||
ShenandoahBarrierSet* sbs = barrier_set_cast<ShenandoahBarrierSet>(bs);
|
||||
card_table_base = sbs->card_table()->byte_map_base();
|
||||
#endif
|
||||
} else if (bs->is_a(BarrierSet::CardTableBarrierSet)) {
|
||||
card_table_base = ci_card_table_address_as<address>();
|
||||
}
|
||||
if (card_table_base != nullptr && adr == card_table_base) {
|
||||
st->print("card_table_base");
|
||||
if (WizardMode) st->print(" " INTPTR_FORMAT, p2i(adr));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -99,11 +99,9 @@ public:
|
||||
data(thread)->_byte_map_base = new_byte_map_base;
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
static G1CardTable::CardValue* get_byte_map_base(Thread* thread) {
|
||||
return data(thread)->_byte_map_base;
|
||||
}
|
||||
#endif
|
||||
|
||||
static G1RegionPinCache& pin_count_cache(Thread* thread) {
|
||||
return data(thread)->_pin_cache;
|
||||
|
||||
@ -236,16 +236,19 @@ void CompilerToVM::Data::initialize(JVMCI_TRAPS) {
|
||||
JVMTI_ONLY( _should_notify_object_alloc = &JvmtiExport::_should_notify_object_alloc; )
|
||||
|
||||
BarrierSet* bs = BarrierSet::barrier_set();
|
||||
if (bs->is_a(BarrierSet::CardTableBarrierSet)) {
|
||||
CardTable::CardValue* base = ci_card_table_address();
|
||||
assert(base != nullptr, "unexpected byte_map_base");
|
||||
cardtable_start_address = base;
|
||||
if (bs->is_a(BarrierSet::G1BarrierSet)) {
|
||||
cardtable_start_address = nullptr;
|
||||
cardtable_shift = CardTable::card_shift();
|
||||
#if INCLUDE_SHENANDOAHGC
|
||||
} else if (bs->is_a(BarrierSet::ShenandoahBarrierSet)) {
|
||||
cardtable_start_address = nullptr;
|
||||
cardtable_shift = CardTable::card_shift();
|
||||
#endif
|
||||
} else if (bs->is_a(BarrierSet::CardTableBarrierSet)) {
|
||||
CardTable::CardValue* base = ci_card_table_address();
|
||||
assert(base != nullptr, "unexpected byte_map_base");
|
||||
cardtable_start_address = base;
|
||||
cardtable_shift = CardTable::card_shift();
|
||||
} else {
|
||||
// No card mark barriers
|
||||
cardtable_start_address = nullptr;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user