diff src/share/vm/runtime/thread.cpp @ 10135:5a9fa2ba85f0

8012907: anti-delta fix for 8010992 Summary: anti-delta fix for 8010992 until 8012902 can be fixed Reviewed-by: acorn, minqi, rdurbin
author dcubed
date Sun, 21 Apr 2013 20:41:04 -0700
parents 6f817ce50129
children caac22686b17
line wrap: on
line diff
--- a/src/share/vm/runtime/thread.cpp	Fri Apr 19 11:08:52 2013 -0700
+++ b/src/share/vm/runtime/thread.cpp	Sun Apr 21 20:41:04 2013 -0700
@@ -228,8 +228,8 @@
   _oops_do_parity = 0;
 
   // the handle mark links itself to last_handle_mark
-  HandleMark *hm = NEW_C_HEAP_OBJ(HandleMark, mtThread);
-  hm->initialize(this);
+  new HandleMark(this);
+
   // plain initialization
   debug_only(_owned_locks = NULL;)
   debug_only(_allow_allocation_count = 0;)
@@ -352,8 +352,8 @@
   // since the handle marks are using the handle area, we have to deallocated the root
   // handle mark before deallocating the thread's handle area,
   assert(last_handle_mark() != NULL, "check we have an element");
-  FREE_C_HEAP_OBJECT(HandleMark, last_handle_mark(), mtThread);
-  set_last_handle_mark(NULL);
+  delete last_handle_mark();
+  assert(last_handle_mark() == NULL, "check we have reached the end");
 
   // It's possible we can encounter a null _ParkEvent, etc., in stillborn threads.
   // We NULL out the fields for good hygiene.