251 static int lgrp_resources(lgrp_cookie_t cookie, lgrp_id_t lgrp,
252 lgrp_id_t *lgrp_array, uint_t lgrp_array_size,
253 lgrp_rsrc_t type) {
254 return _lgrp_resources != NULL ? _lgrp_resources(cookie, lgrp, lgrp_array, lgrp_array_size, type) : -1;
255 }
256
257 static int lgrp_nlgrps(lgrp_cookie_t cookie) { return _lgrp_nlgrps != NULL ? _lgrp_nlgrps(cookie) : -1; }
258 static int lgrp_cookie_stale(lgrp_cookie_t cookie) {
259 return _lgrp_cookie_stale != NULL ? _lgrp_cookie_stale(cookie) : -1;
260 }
261 static lgrp_cookie_t lgrp_cookie() { return _lgrp_cookie; }
262
263 static sigset_t* unblocked_signals();
264 static sigset_t* vm_signals();
265
266 // %%% Following should be promoted to os.hpp:
267 // Trace number of created threads
268 static jint _os_thread_limit;
269 static volatile jint _os_thread_count;
270
271
272 // Stack overflow handling
273
274 static int max_register_window_saves_before_flushing();
275
276 // Stack repair handling
277
278 // none present
279
280 };
281
282 class PlatformEvent : public CHeapObj<mtInternal> {
283 private:
284 double CachePad[4]; // increase odds that _mutex is sole occupant of cache line
285 volatile int _Event;
286 int _nParked;
287 int _pipev[2];
288 mutex_t _mutex[1];
289 cond_t _cond[1];
290 double PostPad[2];
|
251 static int lgrp_resources(lgrp_cookie_t cookie, lgrp_id_t lgrp,
252 lgrp_id_t *lgrp_array, uint_t lgrp_array_size,
253 lgrp_rsrc_t type) {
254 return _lgrp_resources != NULL ? _lgrp_resources(cookie, lgrp, lgrp_array, lgrp_array_size, type) : -1;
255 }
256
257 static int lgrp_nlgrps(lgrp_cookie_t cookie) { return _lgrp_nlgrps != NULL ? _lgrp_nlgrps(cookie) : -1; }
258 static int lgrp_cookie_stale(lgrp_cookie_t cookie) {
259 return _lgrp_cookie_stale != NULL ? _lgrp_cookie_stale(cookie) : -1;
260 }
261 static lgrp_cookie_t lgrp_cookie() { return _lgrp_cookie; }
262
263 static sigset_t* unblocked_signals();
264 static sigset_t* vm_signals();
265
266 // %%% Following should be promoted to os.hpp:
267 // Trace number of created threads
268 static jint _os_thread_limit;
269 static volatile jint _os_thread_count;
270
271 static void correct_stack_boundaries_for_primordial_thread(Thread* thr);
272
273 // Stack overflow handling
274
275 static int max_register_window_saves_before_flushing();
276
277 // Stack repair handling
278
279 // none present
280
281 };
282
283 class PlatformEvent : public CHeapObj<mtInternal> {
284 private:
285 double CachePad[4]; // increase odds that _mutex is sole occupant of cache line
286 volatile int _Event;
287 int _nParked;
288 int _pipev[2];
289 mutex_t _mutex[1];
290 cond_t _cond[1];
291 double PostPad[2];
|