< prev index next >
src/share/vm/jvmci/jvmciCompilerToVM.cpp
Print this page
rev 12906 : [mq]: gc_interface
@@ -30,10 +30,11 @@
#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,10 +46,11 @@
#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,30 +203,19 @@
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;
+ 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 = CardTableModRefBS::card_shift;
- break;
- }
- case BarrierSet::ModRef:
+ cardtable_shift = CardTable::card_shift;
+ } else {
+ // No card mark barriers
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) \
< prev index next >