comparison src/share/vm/runtime/vmThread.cpp @ 18041:52b4284cb496

Merge with jdk8u20-b26
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 15 Oct 2014 16:02:50 +0200
parents 4ca6dc0799b6 78bbf4d43a14
children 7848fc12602b
comparison
equal deleted inserted replaced
17606:45d7b2c7029d 18041:52b4284cb496
1 /* 1 /*
2 * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
44 HS_DTRACE_PROBE_DECL3(hotspot, vmops__request, char *, uintptr_t, int); 44 HS_DTRACE_PROBE_DECL3(hotspot, vmops__request, char *, uintptr_t, int);
45 HS_DTRACE_PROBE_DECL3(hotspot, vmops__begin, char *, uintptr_t, int); 45 HS_DTRACE_PROBE_DECL3(hotspot, vmops__begin, char *, uintptr_t, int);
46 HS_DTRACE_PROBE_DECL3(hotspot, vmops__end, char *, uintptr_t, int); 46 HS_DTRACE_PROBE_DECL3(hotspot, vmops__end, char *, uintptr_t, int);
47 #endif /* !USDT2 */ 47 #endif /* !USDT2 */
48 48
49 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
50
49 // Dummy VM operation to act as first element in our circular double-linked list 51 // Dummy VM operation to act as first element in our circular double-linked list
50 class VM_Dummy: public VM_Operation { 52 class VM_Dummy: public VM_Operation {
51 VMOp_Type type() const { return VMOp_Dummy; } 53 VMOp_Type type() const { return VMOp_Dummy; }
52 void doit() {}; 54 void doit() {};
53 }; 55 };
313 // Mutex::lock_without_safepoint_check(). 315 // Mutex::lock_without_safepoint_check().
314 MutexLockerEx ml(_terminate_lock, Mutex::_no_safepoint_check_flag); 316 MutexLockerEx ml(_terminate_lock, Mutex::_no_safepoint_check_flag);
315 _terminated = true; 317 _terminated = true;
316 _terminate_lock->notify(); 318 _terminate_lock->notify();
317 } 319 }
320
321 // Thread destructor usually does this.
322 ThreadLocalStorage::set_thread(NULL);
318 323
319 // Deletion must be done synchronously by the JNI DestroyJavaVM thread 324 // Deletion must be done synchronously by the JNI DestroyJavaVM thread
320 // so that the VMThread deletion completes before the main thread frees 325 // so that the VMThread deletion completes before the main thread frees
321 // up the CodeHeap. 326 // up the CodeHeap.
322 327