--- a/hotspot/agent/src/os/solaris/proc/salibproc.h Fri Apr 29 21:13:00 2011 +0400
+++ b/hotspot/agent/src/os/solaris/proc/salibproc.h Mon May 02 14:53:49 2011 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -101,7 +101,23 @@
/*
* Stack frame iteration interface.
*/
+#ifdef SOLARIS_11_B159_OR_LATER
+/* building on Nevada-B159 or later so define the new callback */
+typedef int proc_stack_f(
+ void *, /* the cookie given to Pstack_iter() */
+ const prgregset_t, /* the frame's registers */
+ uint_t, /* argc for the frame's function */
+ const long *, /* argv for the frame's function */
+ int, /* bitwise flags describing the frame (see below) */
+ int); /* a signal number */
+
+#define PR_SIGNAL_FRAME 1 /* called by a signal handler */
+#define PR_FOUND_SIGNAL 2 /* we found the corresponding signal number */
+#else
+/* building on Nevada-B158 or earlier so define the old callback */
typedef int proc_stack_f(void *, const prgregset_t, uint_t, const long *);
+#endif
+
extern int Pstack_iter(struct ps_prochandle *,
const prgregset_t, proc_stack_f *, void *);