< prev index next >
src/share/vm/jvmci/jvmciCompilerToVM.cpp
Print this page
rev 12906 : [mq]: gc_interface
*** 30,39 ****
--- 30,40 ----
#include "memory/resourceArea.hpp"
#include "oops/generateOopMap.hpp"
#include "oops/fieldStreams.hpp"
#include "oops/oop.inline.hpp"
#include "oops/objArrayOop.inline.hpp"
+ #include "oops/typeArrayOop.inline.hpp"
#include "runtime/fieldDescriptor.hpp"
#include "runtime/javaCalls.hpp"
#include "jvmci/jvmciRuntime.hpp"
#include "compiler/abstractCompiler.hpp"
#include "compiler/compileBroker.hpp"
*** 45,54 ****
--- 46,56 ----
#include "jvmci/jvmciEnv.hpp"
#include "jvmci/jvmciJavaClasses.hpp"
#include "jvmci/jvmciCodeInstaller.hpp"
#include "jvmci/vmStructs_jvmci.hpp"
#include "gc/g1/heapRegion.hpp"
+ #include "gc/shared/cardTable.hpp"
#include "runtime/javaCalls.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/timerTrace.hpp"
#include "runtime/vframe.hpp"
#include "runtime/vframe_hp.hpp"
*** 201,230 ****
symbol_init = (address) vmSymbols::object_initializer_name();
symbol_clinit = (address) vmSymbols::class_initializer_name();
BarrierSet* bs = Universe::heap()->barrier_set();
! switch (bs->kind()) {
! case BarrierSet::CardTableModRef:
! case BarrierSet::CardTableForRS:
! case BarrierSet::CardTableExtension:
! case BarrierSet::G1SATBCT:
! case BarrierSet::G1SATBCTLogging: {
! jbyte* base = barrier_set_cast<CardTableModRefBS>(bs)->byte_map_base;
assert(base != 0, "unexpected byte_map_base");
cardtable_start_address = base;
! cardtable_shift = CardTableModRefBS::card_shift;
! break;
! }
! case BarrierSet::ModRef:
cardtable_start_address = 0;
cardtable_shift = 0;
- // No post barriers
- break;
- default:
- JVMCI_ERROR("Unsupported BarrierSet kind %d", bs->kind());
- break;
}
vm_page_size = os::vm_page_size();
#define SET_TRIGFUNC(name) \
--- 203,221 ----
symbol_init = (address) vmSymbols::object_initializer_name();
symbol_clinit = (address) vmSymbols::class_initializer_name();
BarrierSet* bs = Universe::heap()->barrier_set();
! if (bs->is_a(BarrierSet::CardTableModRef)) {
! jbyte* base = barrier_set_cast<CardTableModRefBS>(bs)->card_table()->byte_map_base();
assert(base != 0, "unexpected byte_map_base");
cardtable_start_address = base;
! cardtable_shift = CardTable::card_shift;
! } else {
! // No card mark barriers
cardtable_start_address = 0;
cardtable_shift = 0;
}
vm_page_size = os::vm_page_size();
#define SET_TRIGFUNC(name) \
< prev index next >