comparison src/os/solaris/vm/os_solaris.hpp @ 10405:f2110083203d

8005849: JEP 167: Event-Based JVM Tracing Reviewed-by: acorn, coleenp, sla Contributed-by: Karen Kinnear <karen.kinnear@oracle.com>, Bengt Rutisson <bengt.rutisson@oracle.com>, Calvin Cheung <calvin.cheung@oracle.com>, Erik Gahlin <erik.gahlin@oracle.com>, Erik Helin <erik.helin@oracle.com>, Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>, Keith McGuigan <keith.mcguigan@oracle.com>, Mattias Tobiasson <mattias.tobiasson@oracle.com>, Markus Gronlund <markus.gronlund@oracle.com>, Mikael Auno <mikael.auno@oracle.com>, Nils Eliasson <nils.eliasson@oracle.com>, Nils Loodin <nils.loodin@oracle.com>, Rickard Backman <rickard.backman@oracle.com>, Staffan Larsen <staffan.larsen@oracle.com>, Stefan Karlsson <stefan.karlsson@oracle.com>, Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
author sla
date Mon, 10 Jun 2013 11:30:51 +0200
parents b9a9ed0f8eeb
children a837fa3d3f86
comparison
equal deleted inserted replaced
10404:d0add7016434 10405:f2110083203d
1 /* 1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2013, 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.
125 static int _SIGinterrupt; // user-overridable INTERRUPT_SIGNAL 125 static int _SIGinterrupt; // user-overridable INTERRUPT_SIGNAL
126 static int _SIGasync; // user-overridable ASYNC_SIGNAL 126 static int _SIGasync; // user-overridable ASYNC_SIGNAL
127 static void set_SIGinterrupt(int newsig) { _SIGinterrupt = newsig; } 127 static void set_SIGinterrupt(int newsig) { _SIGinterrupt = newsig; }
128 static void set_SIGasync(int newsig) { _SIGasync = newsig; } 128 static void set_SIGasync(int newsig) { _SIGasync = newsig; }
129 129
130
131 public: 130 public:
132 // Large Page Support--ISM. 131 // Large Page Support--ISM.
133 static bool largepage_range(char* addr, size_t size); 132 static bool largepage_range(char* addr, size_t size);
134 133
135 static int SIGinterrupt() { return _SIGinterrupt; } 134 static int SIGinterrupt() { return _SIGinterrupt; }
143 142
144 static ExtendedPC ucontext_get_ExtendedPC(ucontext_t* uc); 143 static ExtendedPC ucontext_get_ExtendedPC(ucontext_t* uc);
145 static intptr_t* ucontext_get_sp(ucontext_t* uc); 144 static intptr_t* ucontext_get_sp(ucontext_t* uc);
146 // ucontext_get_fp() is only used by Solaris X86 (see note below) 145 // ucontext_get_fp() is only used by Solaris X86 (see note below)
147 static intptr_t* ucontext_get_fp(ucontext_t* uc); 146 static intptr_t* ucontext_get_fp(ucontext_t* uc);
147 static address ucontext_get_pc(ucontext_t* uc);
148 148
149 // For Analyzer Forte AsyncGetCallTrace profiling support: 149 // For Analyzer Forte AsyncGetCallTrace profiling support:
150 // Parameter ret_fp is only used by Solaris X86. 150 // Parameter ret_fp is only used by Solaris X86.
151 // 151 //
152 // We should have different declarations of this interface in 152 // We should have different declarations of this interface in
155 static ExtendedPC fetch_frame_from_ucontext(Thread* thread, ucontext_t* uc, 155 static ExtendedPC fetch_frame_from_ucontext(Thread* thread, ucontext_t* uc,
156 intptr_t** ret_sp, intptr_t** ret_fp); 156 intptr_t** ret_sp, intptr_t** ret_fp);
157 157
158 static void hotspot_sigmask(Thread* thread); 158 static void hotspot_sigmask(Thread* thread);
159 159
160 // SR_handler
161 static void SR_handler(Thread* thread, ucontext_t* uc);
160 protected: 162 protected:
161 // Solaris-specific interface goes here 163 // Solaris-specific interface goes here
162 static julong available_memory(); 164 static julong available_memory();
163 static julong physical_memory() { return _physical_memory; } 165 static julong physical_memory() { return _physical_memory; }
164 static julong _physical_memory; 166 static julong _physical_memory;