--- old/src/share/vm/jvmci/jvmciCompilerToVM.cpp 2016-04-06 17:17:39.698383848 +0200 +++ new/src/share/vm/jvmci/jvmciCompilerToVM.cpp 2016-04-06 17:17:39.570383846 +0200 @@ -147,9 +147,9 @@ bool CompilerToVM::Data::_supports_inline_contig_alloc; HeapWord** CompilerToVM::Data::_heap_end_addr; -HeapWord** CompilerToVM::Data::_heap_top_addr; +HeapWord* volatile* CompilerToVM::Data::_heap_top_addr; -jbyte* CompilerToVM::Data::cardtable_start_address; +volatile jbyte* CompilerToVM::Data::cardtable_start_address; int CompilerToVM::Data::cardtable_shift; int CompilerToVM::Data::vm_page_size; @@ -179,7 +179,7 @@ _supports_inline_contig_alloc = Universe::heap()->supports_inline_contig_alloc(); _heap_end_addr = _supports_inline_contig_alloc ? Universe::heap()->end_addr() : (HeapWord**) -1; - _heap_top_addr = _supports_inline_contig_alloc ? Universe::heap()->top_addr() : (HeapWord**) -1; + _heap_top_addr = _supports_inline_contig_alloc ? Universe::heap()->top_addr() : (HeapWord* volatile*) -1; BarrierSet* bs = Universe::heap()->barrier_set(); switch (bs->kind()) { @@ -188,7 +188,7 @@ case BarrierSet::CardTableExtension: case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { - jbyte* base = barrier_set_cast(bs)->byte_map_base; + volatile jbyte* base = barrier_set_cast(bs)->byte_map_base; assert(base != 0, "unexpected byte_map_base"); cardtable_start_address = base; cardtable_shift = CardTableModRefBS::card_shift; @@ -1340,7 +1340,7 @@ THROW(vmSymbols::java_lang_ArrayIndexOutOfBoundsException()); } while (length > 0) { - jbyte* start = array->byte_at_addr(offset); + volatile jbyte* start = array->byte_at_addr(offset); tty->write((char*) start, MIN2(length, O_BUFLEN)); length -= O_BUFLEN; offset += O_BUFLEN; @@ -1492,4 +1492,3 @@ int CompilerToVM::methods_count() { return sizeof(methods) / sizeof(JNINativeMethod); } -