hotspot/src/share/vm/runtime/synchronizer.cpp
changeset 15233 c06b129cf6c7
parent 14583 d70ee55535f4
child 15475 73896d91270c
--- a/hotspot/src/share/vm/runtime/synchronizer.cpp	Mon Jan 21 16:11:24 2013 -0500
+++ b/hotspot/src/share/vm/runtime/synchronizer.cpp	Tue Jan 22 05:55:04 2013 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -333,7 +333,9 @@
 void ObjectSynchronizer::jni_exit(oop obj, Thread* THREAD) {
   TEVENT (jni_exit) ;
   if (UseBiasedLocking) {
-    BiasedLocking::revoke_and_rebias(obj, false, THREAD);
+    Handle h_obj(THREAD, obj);
+    BiasedLocking::revoke_and_rebias(h_obj, false, THREAD);
+    obj = h_obj();
   }
   assert(!obj->mark()->has_bias_pattern(), "biases should be revoked by now");