hotspot/src/share/vm/prims/unsafe.cpp
changeset 3262 30d1c247fc25
parent 1550 be2fc37a817f
child 5089 0cce506a0158
--- a/hotspot/src/share/vm/prims/unsafe.cpp	Fri Jul 10 16:01:20 2009 -0700
+++ b/hotspot/src/share/vm/prims/unsafe.cpp	Tue Jul 14 15:40:39 2009 -0700
@@ -1048,7 +1048,11 @@
   oop e = JNIHandles::resolve(e_h);
   oop p = JNIHandles::resolve(obj);
   HeapWord* addr = (HeapWord *)index_oop_from_field_offset_long(p, offset);
-  update_barrier_set_pre((void*)addr, e);
+  if (UseCompressedOops) {
+    update_barrier_set_pre((narrowOop*)addr, e);
+  } else {
+    update_barrier_set_pre((oop*)addr, e);
+  }
   oop res = oopDesc::atomic_compare_exchange_oop(x, addr, e);
   jboolean success  = (res == e);
   if (success)