< 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 >