Mercurial > hg > graal-jvmci-8
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 |