comparison src/share/vm/runtime/synchronizer.cpp @ 10408:836a62f43af9

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Wed, 19 Jun 2013 10:45:56 +0200
parents 89e4d67fdd2a f2110083203d
children cefad50507d8
comparison
equal deleted inserted replaced
10086:e0fb8a213650 10408:836a62f43af9
211 TEVENT (fast_exit: release stacklock) ; 211 TEVENT (fast_exit: release stacklock) ;
212 return; 212 return;
213 } 213 }
214 } 214 }
215 215
216 ObjectSynchronizer::inflate(THREAD, object)->exit (THREAD) ; 216 ObjectSynchronizer::inflate(THREAD, object)->exit (true, THREAD) ;
217 } 217 }
218 218
219 // ----------------------------------------------------------------------------- 219 // -----------------------------------------------------------------------------
220 // Interpreter/Compiler Slow Case 220 // Interpreter/Compiler Slow Case
221 // This routine is used to handle interpreter/compiler slow case 221 // This routine is used to handle interpreter/compiler slow case
341 341
342 ObjectMonitor* monitor = ObjectSynchronizer::inflate(THREAD, obj); 342 ObjectMonitor* monitor = ObjectSynchronizer::inflate(THREAD, obj);
343 // If this thread has locked the object, exit the monitor. Note: can't use 343 // If this thread has locked the object, exit the monitor. Note: can't use
344 // monitor->check(CHECK); must exit even if an exception is pending. 344 // monitor->check(CHECK); must exit even if an exception is pending.
345 if (monitor->check(THREAD)) { 345 if (monitor->check(THREAD)) {
346 monitor->exit(THREAD); 346 monitor->exit(true, THREAD);
347 } 347 }
348 } 348 }
349 349
350 // ----------------------------------------------------------------------------- 350 // -----------------------------------------------------------------------------
351 // Internal VM locks on java objects 351 // Internal VM locks on java objects
1016 1016
1017 // NOTE: (almost) no way to recover if allocation failed. 1017 // NOTE: (almost) no way to recover if allocation failed.
1018 // We might be able to induce a STW safepoint and scavenge enough 1018 // We might be able to induce a STW safepoint and scavenge enough
1019 // objectMonitors to permit progress. 1019 // objectMonitors to permit progress.
1020 if (temp == NULL) { 1020 if (temp == NULL) {
1021 vm_exit_out_of_memory (sizeof (ObjectMonitor[_BLOCKSIZE]), "Allocate ObjectMonitors") ; 1021 vm_exit_out_of_memory (sizeof (ObjectMonitor[_BLOCKSIZE]), OOM_MALLOC_ERROR,
1022 "Allocate ObjectMonitors");
1022 } 1023 }
1023 1024
1024 // Format the block. 1025 // Format the block.
1025 // initialize the linked list, each monitor points to its next 1026 // initialize the linked list, each monitor points to its next
1026 // forming the single linked free list, the very first monitor 1027 // forming the single linked free list, the very first monitor