< prev index next >

src/share/vm/c1/c1_LIRGenerator.cpp

Print this page
rev 10742 : Make fields used in lock-free algorithms volatile

@@ -1602,11 +1602,11 @@
 ////////////////////////////////////////////////////////////////////////
 
 void LIRGenerator::CardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val) {
   CardTableModRefBS* ct = barrier_set_cast<CardTableModRefBS>(_bs);
   assert(sizeof(*(ct->byte_map_base)) == sizeof(jbyte), "adjust this code");
-  LIR_Const* card_table_base = new LIR_Const(ct->byte_map_base);
+  LIR_Const* card_table_base = new LIR_Const((jbyte*)ct->byte_map_base);
   if (addr->is_address()) {
     LIR_Address* address = addr->as_address_ptr();
     // ptr cannot be an object because we use this barrier for array card marks
     // and addr can point in the middle of an array.
     LIR_Opr ptr = new_pointer_register();
< prev index next >