comparison src/os/windows/vm/osThread_windows.hpp @ 6275:957c266d8bc5

Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Tue, 21 Aug 2012 10:39:19 +0200
parents 960a442eae91
children
comparison
equal deleted inserted replaced
5891:fd8832ae511d 6275:957c266d8bc5
1 /* 1 /*
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2012, 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.
23 */ 23 */
24 24
25 #ifndef OS_WINDOWS_VM_OSTHREAD_WINDOWS_HPP 25 #ifndef OS_WINDOWS_VM_OSTHREAD_WINDOWS_HPP
26 #define OS_WINDOWS_VM_OSTHREAD_WINDOWS_HPP 26 #define OS_WINDOWS_VM_OSTHREAD_WINDOWS_HPP
27 27
28 typedef void* HANDLE; 28 typedef void* HANDLE;
29 public:
30 typedef unsigned long thread_id_t;
29 31
30 private: 32 private:
31 // Win32-specific thread information 33 // Win32-specific thread information
32 HANDLE _thread_handle; // Win32 thread handle 34 HANDLE _thread_handle; // Win32 thread handle
33 unsigned long _thread_id; // Win32 thread id
34 HANDLE _interrupt_event; // Event signalled on thread interrupt 35 HANDLE _interrupt_event; // Event signalled on thread interrupt
35 ThreadState _last_state; 36 ThreadState _last_state;
36 37
37 public: 38 public:
38 // The following will only apply in the Win32 implementation, and should only 39 // The following will only apply in the Win32 implementation, and should only
40 HANDLE thread_handle() const { return _thread_handle; } 41 HANDLE thread_handle() const { return _thread_handle; }
41 void set_thread_handle(HANDLE handle) { _thread_handle = handle; } 42 void set_thread_handle(HANDLE handle) { _thread_handle = handle; }
42 HANDLE interrupt_event() const { return _interrupt_event; } 43 HANDLE interrupt_event() const { return _interrupt_event; }
43 void set_interrupt_event(HANDLE interrupt_event) { _interrupt_event = interrupt_event; } 44 void set_interrupt_event(HANDLE interrupt_event) { _interrupt_event = interrupt_event; }
44 45
45 unsigned long thread_id() const { return _thread_id; }
46 #ifndef PRODUCT 46 #ifndef PRODUCT
47 // Used for debugging, return a unique integer for each thread. 47 // Used for debugging, return a unique integer for each thread.
48 int thread_identifier() const { return _thread_id; } 48 int thread_identifier() const { return _thread_id; }
49 #endif 49 #endif
50 #ifdef ASSERT 50 #ifdef ASSERT
52 // 52 //
53 bool valid_reposition_failure() { 53 bool valid_reposition_failure() {
54 return false; 54 return false;
55 } 55 }
56 #endif // ASSERT 56 #endif // ASSERT
57 void set_thread_id(unsigned long thread_id) { _thread_id = thread_id; }
58
59 bool is_try_mutex_enter() { return false; } 57 bool is_try_mutex_enter() { return false; }
60 58
61 // This is a temporary fix for the thread states during 59 // This is a temporary fix for the thread states during
62 // suspend/resume until we throw away OSThread completely. 60 // suspend/resume until we throw away OSThread completely.
63 // NEEDS_CLEANUP 61 // NEEDS_CLEANUP