Merge
This commit is contained in:
commit
b15242a5a2
170
hotspot/.hgignore
Normal file
170
hotspot/.hgignore
Normal file
@ -0,0 +1,170 @@
|
||||
^build/solaris/solaris_sparc_compiler1/
|
||||
^build/solaris/solaris_sparc_compiler2/
|
||||
^build/solaris/solaris_sparc_core/
|
||||
^build/solaris/solaris_sparc_kernel/
|
||||
^build/solaris/solaris_sparc_docs/
|
||||
^build/solaris/jdk-solaris-sparc/
|
||||
^build/solaris/export-solaris-sparc/
|
||||
^build/solaris/solaris_sparcv9_compiler1/
|
||||
^build/solaris/solaris_sparcv9_compiler2/
|
||||
^build/solaris/solaris_sparcv9_core/
|
||||
^build/solaris/solaris_sparcv9_kernel/
|
||||
^build/solaris/solaris_sparcv9_docs/
|
||||
^build/solaris/jdk-solaris-sparcv9/
|
||||
^build/solaris/export-solaris-sparcv9/
|
||||
^build/solaris/solaris_sparc32_compiler1/
|
||||
^build/solaris/solaris_sparc32_compiler2/
|
||||
^build/solaris/solaris_sparc32_core/
|
||||
^build/solaris/solaris_sparc32_kernel/
|
||||
^build/solaris/solaris_sparc32_docs/
|
||||
^build/solaris/jdk-solaris-sparc32/
|
||||
^build/solaris/export-solaris-sparc32/
|
||||
^build/solaris/solaris_sparc64_compiler1/
|
||||
^build/solaris/solaris_sparc64_compiler2/
|
||||
^build/solaris/solaris_sparc64_core/
|
||||
^build/solaris/solaris_sparc64_kernel/
|
||||
^build/solaris/solaris_sparc64_docs/
|
||||
^build/solaris/jdk-solaris-sparc64/
|
||||
^build/solaris/export-solaris-sparc64/
|
||||
^build/solaris/solaris_i486_compiler1/
|
||||
^build/solaris/solaris_i486_compiler2/
|
||||
^build/solaris/solaris_i486_core/
|
||||
^build/solaris/solaris_i486_kernel/
|
||||
^build/solaris/solaris_i486_docs/
|
||||
^build/solaris/jdk-solaris-i486/
|
||||
^build/solaris/export-solaris-i486/
|
||||
^build/solaris/solaris_i386_compiler1/
|
||||
^build/solaris/solaris_i386_compiler2/
|
||||
^build/solaris/solaris_i386_core/
|
||||
^build/solaris/solaris_i386_kernel/
|
||||
^build/solaris/solaris_i386_docs/
|
||||
^build/solaris/jdk-solaris-i386/
|
||||
^build/solaris/export-solaris-i386/
|
||||
^build/solaris/solaris_amd64_compiler1/
|
||||
^build/solaris/solaris_amd64_compiler2/
|
||||
^build/solaris/solaris_amd64_core/
|
||||
^build/solaris/solaris_amd64_kernel/
|
||||
^build/solaris/solaris_amd64_docs/
|
||||
^build/solaris/jdk-solaris-amd64/
|
||||
^build/solaris/export-solaris-amd64/
|
||||
^build/solaris/solaris_x64_compiler1/
|
||||
^build/solaris/solaris_x64_compiler2/
|
||||
^build/solaris/solaris_x64_core/
|
||||
^build/solaris/solaris_x64_kernel/
|
||||
^build/solaris/solaris_x64_docs/
|
||||
^build/solaris/jdk-solaris-x64/
|
||||
^build/solaris/export-solaris-x64/
|
||||
^build/windows/windows_sparc_compiler1/
|
||||
^build/windows/windows_sparc_compiler2/
|
||||
^build/windows/windows_sparc_core/
|
||||
^build/windows/windows_sparc_kernel/
|
||||
^build/windows/windows_sparc_docs/
|
||||
^build/windows/jdk-windows-sparc/
|
||||
^build/windows/export-windows-sparc/
|
||||
^build/windows/windows_sparcv9_compiler1/
|
||||
^build/windows/windows_sparcv9_compiler2/
|
||||
^build/windows/windows_sparcv9_core/
|
||||
^build/windows/windows_sparcv9_kernel/
|
||||
^build/windows/windows_sparcv9_docs/
|
||||
^build/windows/jdk-windows-sparcv9/
|
||||
^build/windows/export-windows-sparcv9/
|
||||
^build/windows/windows_sparc32_compiler1/
|
||||
^build/windows/windows_sparc32_compiler2/
|
||||
^build/windows/windows_sparc32_core/
|
||||
^build/windows/windows_sparc32_kernel/
|
||||
^build/windows/windows_sparc32_docs/
|
||||
^build/windows/jdk-windows-sparc32/
|
||||
^build/windows/export-windows-sparc32/
|
||||
^build/windows/windows_sparc64_compiler1/
|
||||
^build/windows/windows_sparc64_compiler2/
|
||||
^build/windows/windows_sparc64_core/
|
||||
^build/windows/windows_sparc64_kernel/
|
||||
^build/windows/windows_sparc64_docs/
|
||||
^build/windows/jdk-windows-sparc64/
|
||||
^build/windows/export-windows-sparc64/
|
||||
^build/windows/windows_i486_compiler1/
|
||||
^build/windows/windows_i486_compiler2/
|
||||
^build/windows/windows_i486_core/
|
||||
^build/windows/windows_i486_kernel/
|
||||
^build/windows/windows_i486_docs/
|
||||
^build/windows/jdk-windows-i486/
|
||||
^build/windows/export-windows-i486/
|
||||
^build/windows/windows_i386_compiler1/
|
||||
^build/windows/windows_i386_compiler2/
|
||||
^build/windows/windows_i386_core/
|
||||
^build/windows/windows_i386_kernel/
|
||||
^build/windows/windows_i386_docs/
|
||||
^build/windows/jdk-windows-i386/
|
||||
^build/windows/export-windows-i386/
|
||||
^build/windows/windows_amd64_compiler1/
|
||||
^build/windows/windows_amd64_compiler2/
|
||||
^build/windows/windows_amd64_core/
|
||||
^build/windows/windows_amd64_kernel/
|
||||
^build/windows/windows_amd64_docs/
|
||||
^build/windows/jdk-windows-amd64/
|
||||
^build/windows/export-windows-amd64/
|
||||
^build/windows/windows_x64_compiler1/
|
||||
^build/windows/windows_x64_compiler2/
|
||||
^build/windows/windows_x64_core/
|
||||
^build/windows/windows_x64_kernel/
|
||||
^build/windows/windows_x64_docs/
|
||||
^build/windows/jdk-windows-x64/
|
||||
^build/windows/export-windows-x64/
|
||||
^build/linux/linux_sparc_compiler1/
|
||||
^build/linux/linux_sparc_compiler2/
|
||||
^build/linux/linux_sparc_core/
|
||||
^build/linux/linux_sparc_kernel/
|
||||
^build/linux/linux_sparc_docs/
|
||||
^build/linux/jdk-linux-sparc/
|
||||
^build/linux/export-linux-sparc/
|
||||
^build/linux/linux_sparcv9_compiler1/
|
||||
^build/linux/linux_sparcv9_compiler2/
|
||||
^build/linux/linux_sparcv9_core/
|
||||
^build/linux/linux_sparcv9_kernel/
|
||||
^build/linux/linux_sparcv9_docs/
|
||||
^build/linux/jdk-linux-sparcv9/
|
||||
^build/linux/export-linux-sparcv9/
|
||||
^build/linux/linux_sparc32_compiler1/
|
||||
^build/linux/linux_sparc32_compiler2/
|
||||
^build/linux/linux_sparc32_core/
|
||||
^build/linux/linux_sparc32_kernel/
|
||||
^build/linux/linux_sparc32_docs/
|
||||
^build/linux/jdk-linux-sparc32/
|
||||
^build/linux/export-linux-sparc32/
|
||||
^build/linux/linux_sparc64_compiler1/
|
||||
^build/linux/linux_sparc64_compiler2/
|
||||
^build/linux/linux_sparc64_core/
|
||||
^build/linux/linux_sparc64_kernel/
|
||||
^build/linux/linux_sparc64_docs/
|
||||
^build/linux/jdk-linux-sparc64/
|
||||
^build/linux/export-linux-sparc64/
|
||||
^build/linux/linux_i486_compiler1/
|
||||
^build/linux/linux_i486_compiler2/
|
||||
^build/linux/linux_i486_core/
|
||||
^build/linux/linux_i486_kernel/
|
||||
^build/linux/linux_i486_docs/
|
||||
^build/linux/jdk-linux-i486/
|
||||
^build/linux/export-linux-i486/
|
||||
^build/linux/linux_i386_compiler1/
|
||||
^build/linux/linux_i386_compiler2/
|
||||
^build/linux/linux_i386_core/
|
||||
^build/linux/linux_i386_kernel/
|
||||
^build/linux/linux_i386_docs/
|
||||
^build/linux/jdk-linux-i386/
|
||||
^build/linux/export-linux-i386/
|
||||
^build/linux/linux_amd64_compiler1/
|
||||
^build/linux/linux_amd64_compiler2/
|
||||
^build/linux/linux_amd64_core/
|
||||
^build/linux/linux_amd64_kernel/
|
||||
^build/linux/linux_amd64_docs/
|
||||
^build/linux/jdk-linux-amd64/
|
||||
^build/linux/export-linux-amd64/
|
||||
^build/linux/linux_x64_compiler1/
|
||||
^build/linux/linux_x64_compiler2/
|
||||
^build/linux/linux_x64_core/
|
||||
^build/linux/linux_x64_kernel/
|
||||
^build/linux/linux_x64_docs/
|
||||
^build/linux/jdk-linux-x64/
|
||||
^build/linux/export-linux-x64/
|
||||
^dist/
|
||||
^nbproject/private/
|
27
hotspot/ASSEMBLY_EXCEPTION
Normal file
27
hotspot/ASSEMBLY_EXCEPTION
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
OPENJDK ASSEMBLY EXCEPTION
|
||||
|
||||
The OpenJDK source code made available by Sun at openjdk.java.net and
|
||||
openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the
|
||||
GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
|
||||
only ("GPL2"), with the following clarification and special exception.
|
||||
|
||||
Linking this OpenJDK Code statically or dynamically with other code
|
||||
is making a combined work based on this library. Thus, the terms
|
||||
and conditions of GPL2 cover the whole combination.
|
||||
|
||||
As a special exception, Sun gives you permission to link this
|
||||
OpenJDK Code with certain code licensed by Sun as indicated at
|
||||
http://openjdk.java.net/legal/exception-modules-2007-05-08.html
|
||||
("Designated Exception Modules") to produce an executable,
|
||||
regardless of the license terms of the Designated Exception Modules,
|
||||
and to copy and distribute the resulting executable under GPL2,
|
||||
provided that the Designated Exception Modules continue to be
|
||||
governed by the licenses under which they were offered by Sun.
|
||||
|
||||
As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to
|
||||
build an executable that includes those portions of necessary code that Sun
|
||||
could not provide under GPL2 (or that Sun has provided under GPL2 with the
|
||||
Classpath exception). If you modify or add to the OpenJDK code, that new
|
||||
GPL2 code may still be combined with Designated Exception Modules if the
|
||||
new code is made subject to this exception by its copyright holder.
|
347
hotspot/LICENSE
Normal file
347
hotspot/LICENSE
Normal file
@ -0,0 +1,347 @@
|
||||
The GNU General Public License (GPL)
|
||||
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||
document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your freedom to share
|
||||
and change it. By contrast, the GNU General Public License is intended to
|
||||
guarantee your freedom to share and change free software--to make sure the
|
||||
software is free for all its users. This General Public License applies to
|
||||
most of the Free Software Foundation's software and to any other program whose
|
||||
authors commit to using it. (Some other Free Software Foundation software is
|
||||
covered by the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not price. Our
|
||||
General Public Licenses are designed to make sure that you have the freedom to
|
||||
distribute copies of free software (and charge for this service if you wish),
|
||||
that you receive source code or can get it if you want it, that you can change
|
||||
the software or use pieces of it in new free programs; and that you know you
|
||||
can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid anyone to deny
|
||||
you these rights or to ask you to surrender the rights. These restrictions
|
||||
translate to certain responsibilities for you if you distribute copies of the
|
||||
software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether gratis or for
|
||||
a fee, you must give the recipients all the rights that you have. You must
|
||||
make sure that they, too, receive or can get the source code. And you must
|
||||
show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and (2)
|
||||
offer you this license which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain that
|
||||
everyone understands that there is no warranty for this free software. If the
|
||||
software is modified by someone else and passed on, we want its recipients to
|
||||
know that what they have is not the original, so that any problems introduced
|
||||
by others will not reflect on the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software patents. We
|
||||
wish to avoid the danger that redistributors of a free program will
|
||||
individually obtain patent licenses, in effect making the program proprietary.
|
||||
To prevent this, we have made it clear that any patent must be licensed for
|
||||
everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and modification
|
||||
follow.
|
||||
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains a notice
|
||||
placed by the copyright holder saying it may be distributed under the terms of
|
||||
this General Public License. The "Program", below, refers to any such program
|
||||
or work, and a "work based on the Program" means either the Program or any
|
||||
derivative work under copyright law: that is to say, a work containing the
|
||||
Program or a portion of it, either verbatim or with modifications and/or
|
||||
translated into another language. (Hereinafter, translation is included
|
||||
without limitation in the term "modification".) Each licensee is addressed as
|
||||
"you".
|
||||
|
||||
Activities other than copying, distribution and modification are not covered by
|
||||
this License; they are outside its scope. The act of running the Program is
|
||||
not restricted, and the output from the Program is covered only if its contents
|
||||
constitute a work based on the Program (independent of having been made by
|
||||
running the Program). Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's source code as
|
||||
you receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice and
|
||||
disclaimer of warranty; keep intact all the notices that refer to this License
|
||||
and to the absence of any warranty; and give any other recipients of the
|
||||
Program a copy of this License along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and you may
|
||||
at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion of it, thus
|
||||
forming a work based on the Program, and copy and distribute such modifications
|
||||
or work under the terms of Section 1 above, provided that you also meet all of
|
||||
these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices stating
|
||||
that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in whole or
|
||||
in part contains or is derived from the Program or any part thereof, to be
|
||||
licensed as a whole at no charge to all third parties under the terms of
|
||||
this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively when run,
|
||||
you must cause it, when started running for such interactive use in the
|
||||
most ordinary way, to print or display an announcement including an
|
||||
appropriate copyright notice and a notice that there is no warranty (or
|
||||
else, saying that you provide a warranty) and that users may redistribute
|
||||
the program under these conditions, and telling the user how to view a copy
|
||||
of this License. (Exception: if the Program itself is interactive but does
|
||||
not normally print such an announcement, your work based on the Program is
|
||||
not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If identifiable
|
||||
sections of that work are not derived from the Program, and can be reasonably
|
||||
considered independent and separate works in themselves, then this License, and
|
||||
its terms, do not apply to those sections when you distribute them as separate
|
||||
works. But when you distribute the same sections as part of a whole which is a
|
||||
work based on the Program, the distribution of the whole must be on the terms
|
||||
of this License, whose permissions for other licensees extend to the entire
|
||||
whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest your
|
||||
rights to work written entirely by you; rather, the intent is to exercise the
|
||||
right to control the distribution of derivative or collective works based on
|
||||
the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program with the
|
||||
Program (or with a work based on the Program) on a volume of a storage or
|
||||
distribution medium does not bring the other work under the scope of this
|
||||
License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it, under
|
||||
Section 2) in object code or executable form under the terms of Sections 1 and
|
||||
2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable source
|
||||
code, which must be distributed under the terms of Sections 1 and 2 above
|
||||
on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three years, to
|
||||
give any third party, for a charge no more than your cost of physically
|
||||
performing source distribution, a complete machine-readable copy of the
|
||||
corresponding source code, to be distributed under the terms of Sections 1
|
||||
and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer to
|
||||
distribute corresponding source code. (This alternative is allowed only
|
||||
for noncommercial distribution and only if you received the program in
|
||||
object code or executable form with such an offer, in accord with
|
||||
Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for making
|
||||
modifications to it. For an executable work, complete source code means all
|
||||
the source code for all modules it contains, plus any associated interface
|
||||
definition files, plus the scripts used to control compilation and installation
|
||||
of the executable. However, as a special exception, the source code
|
||||
distributed need not include anything that is normally distributed (in either
|
||||
source or binary form) with the major components (compiler, kernel, and so on)
|
||||
of the operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the source
|
||||
code from the same place counts as distribution of the source code, even though
|
||||
third parties are not compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program except as
|
||||
expressly provided under this License. Any attempt otherwise to copy, modify,
|
||||
sublicense or distribute the Program is void, and will automatically terminate
|
||||
your rights under this License. However, parties who have received copies, or
|
||||
rights, from you under this License will not have their licenses terminated so
|
||||
long as such parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not signed it.
|
||||
However, nothing else grants you permission to modify or distribute the Program
|
||||
or its derivative works. These actions are prohibited by law if you do not
|
||||
accept this License. Therefore, by modifying or distributing the Program (or
|
||||
any work based on the Program), you indicate your acceptance of this License to
|
||||
do so, and all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the Program),
|
||||
the recipient automatically receives a license from the original licensor to
|
||||
copy, distribute or modify the Program subject to these terms and conditions.
|
||||
You may not impose any further restrictions on the recipients' exercise of the
|
||||
rights granted herein. You are not responsible for enforcing compliance by
|
||||
third parties to this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues), conditions
|
||||
are imposed on you (whether by court order, agreement or otherwise) that
|
||||
contradict the conditions of this License, they do not excuse you from the
|
||||
conditions of this License. If you cannot distribute so as to satisfy
|
||||
simultaneously your obligations under this License and any other pertinent
|
||||
obligations, then as a consequence you may not distribute the Program at all.
|
||||
For example, if a patent license would not permit royalty-free redistribution
|
||||
of the Program by all those who receive copies directly or indirectly through
|
||||
you, then the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply and
|
||||
the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any patents or
|
||||
other property right claims or to contest validity of any such claims; this
|
||||
section has the sole purpose of protecting the integrity of the free software
|
||||
distribution system, which is implemented by public license practices. Many
|
||||
people have made generous contributions to the wide range of software
|
||||
distributed through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing to
|
||||
distribute software through any other system and a licensee cannot impose that
|
||||
choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to be a
|
||||
consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in certain
|
||||
countries either by patents or by copyrighted interfaces, the original
|
||||
copyright holder who places the Program under this License may add an explicit
|
||||
geographical distribution limitation excluding those countries, so that
|
||||
distribution is permitted only in or among countries not thus excluded. In
|
||||
such case, this License incorporates the limitation as if written in the body
|
||||
of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions of the
|
||||
General Public License from time to time. Such new versions will be similar in
|
||||
spirit to the present version, but may differ in detail to address new problems
|
||||
or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any later
|
||||
version", you have the option of following the terms and conditions either of
|
||||
that version or of any later version published by the Free Software Foundation.
|
||||
If the Program does not specify a version number of this License, you may
|
||||
choose any version ever published by the Free Software Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free programs
|
||||
whose distribution conditions are different, write to the author to ask for
|
||||
permission. For software which is copyrighted by the Free Software Foundation,
|
||||
write to the Free Software Foundation; we sometimes make exceptions for this.
|
||||
Our decision will be guided by the two goals of preserving the free status of
|
||||
all derivatives of our free software and of promoting the sharing and reuse of
|
||||
software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
|
||||
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
|
||||
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
|
||||
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
||||
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
|
||||
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
||||
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
||||
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
|
||||
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest possible
|
||||
use to the public, the best way to achieve this is to make it free software
|
||||
which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to attach
|
||||
them to the start of each source file to most effectively convey the exclusion
|
||||
of warranty; and each file should have at least the "copyright" line and a
|
||||
pointer to where the full notice is found.
|
||||
|
||||
One line to give the program's name and a brief idea of what it does.
|
||||
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2 of the License, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc., 59
|
||||
Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this when it
|
||||
starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
|
||||
with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
|
||||
software, and you are welcome to redistribute it under certain conditions;
|
||||
type 'show c' for details.
|
||||
|
||||
The hypothetical commands 'show w' and 'show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may be
|
||||
called something other than 'show w' and 'show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
|
||||
is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
'Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
signature of Ty Coon, 1 April 1989
|
||||
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General Public
|
||||
License instead of this License.
|
||||
|
||||
|
||||
"CLASSPATH" EXCEPTION TO THE GPL
|
||||
|
||||
Certain source files distributed by Sun Microsystems, Inc. are subject to
|
||||
the following clarification and special exception to the GPL, but only where
|
||||
Sun has expressly included in the particular source file's header the words
|
||||
"Sun designates this particular file as subject to the "Classpath" exception
|
||||
as provided by Sun in the LICENSE file that accompanied this code."
|
||||
|
||||
Linking this library statically or dynamically with other modules is making
|
||||
a combined work based on this library. Thus, the terms and conditions of
|
||||
the GNU General Public License cover the whole combination.
|
||||
|
||||
As a special exception, the copyright holders of this library give you
|
||||
permission to link this library with independent modules to produce an
|
||||
executable, regardless of the license terms of these independent modules,
|
||||
and to copy and distribute the resulting executable under terms of your
|
||||
choice, provided that you also meet, for each linked independent module,
|
||||
the terms and conditions of the license of that module. An independent
|
||||
module is a module which is not derived from or based on this library. If
|
||||
you modify this library, you may extend this exception to your version of
|
||||
the library, but you are not obligated to do so. If you do not wish to do
|
||||
so, delete this exception statement from your version.
|
14
hotspot/README
Normal file
14
hotspot/README
Normal file
@ -0,0 +1,14 @@
|
||||
README:
|
||||
This file should be located at the top of the hotspot Mercurial repository.
|
||||
|
||||
See http://openjdk.java.net/ for more information about the OpenJDK.
|
||||
|
||||
See ../README-builds.html for complete details on build machine requirements.
|
||||
|
||||
Simple Build Instructions:
|
||||
|
||||
cd make && gnumake
|
||||
|
||||
The files that will be imported into the jdk build will be in the "build"
|
||||
directory.
|
||||
|
1616
hotspot/THIRD_PARTY_README
Normal file
1616
hotspot/THIRD_PARTY_README
Normal file
File diff suppressed because it is too large
Load Diff
38
hotspot/agent/doc/ReadMe-JavaScript.text
Normal file
38
hotspot/agent/doc/ReadMe-JavaScript.text
Normal file
@ -0,0 +1,38 @@
|
||||
The HotSpot Serviceability Agent (SA) is a debugger for hotspot core
|
||||
dumps and hung processes. There is a read-only JDI (Java Debugger
|
||||
Interface) implementation on top of SA. This is part of JDK product and
|
||||
the classes are in $JDK/tools/sa-jdi.jar.
|
||||
|
||||
In addition, there are few serviceability tools in $JDK/bin, namely,
|
||||
jstack (java stack trace tool), jmap (heap tool), jinfo (Java config
|
||||
tool) and jsadebugd. The classes for these are also in sa-jdi.jar
|
||||
file. sa-jdi.jar file is built along with hotspot (libjvm.so) on Solaris
|
||||
and Linux platforms. On Windows platform, SA-JDI is not included and
|
||||
serviceability tools do not use SA.
|
||||
|
||||
Apart from these, HotSpot SA consists of a number of tools that are
|
||||
*not* included in JDK product bits.
|
||||
|
||||
The sources and makefile for all-of-SA (including non-productized stuff)
|
||||
are under $HOTSPOT_WS/agent directory. The makefile $HOTSPOT/agent/make
|
||||
directory and shell scripts (and batch files) are used to build and run
|
||||
SA non-product tools. There is also documentation of SA under
|
||||
$HOTSPOT/agent/doc directory.
|
||||
|
||||
To build complete SA, you need to have Rhino Mozilla jar (js.jar)
|
||||
version 1.5R5 under $HOTSPOT/agent/src/share/lib directory. Rhino is
|
||||
JavaScript interpreter written in Java. Rhino is used to implement SA
|
||||
features such as
|
||||
|
||||
* SA command line debugger's JavaScript interface
|
||||
- refer to $HOTSPOT/agent/doc/clhsdb.html
|
||||
- refer to $HOTSPOT/agent/doc/jsdb.html
|
||||
* SA simple object query language (SOQL)
|
||||
- language to query Java heap.
|
||||
|
||||
Rhino's "js.jar" is not included in hotspot source bundles. You need to
|
||||
download it from http://www.mozilla.org/rhino/download.html.
|
||||
|
||||
Without js.jar, $HOTSPOT/agent/make/Makefile will fail to build. But,
|
||||
note that sa-jdi.jar containing the productized portions of SA will
|
||||
still be built when you build hotspot JVM.
|
118
hotspot/agent/doc/clhsdb.html
Normal file
118
hotspot/agent/doc/clhsdb.html
Normal file
@ -0,0 +1,118 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
Command line HSDB
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Command line HSDB</h1>
|
||||
<p>
|
||||
When debugging remote core dumps it is easier to work with command line tools instead of
|
||||
GUI tools. Command line HSDB (CLHSDB) tool is alternative to SA GUI tool HSDB.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There is also JavaScript based SA command line interface called <a href="jsdb.html">jsdb</a>.
|
||||
But, CLHSDB supports Unix shell-like (or dbx/gdb-like) command line interface with
|
||||
support for output redirection/appending (familiar >, >>), command history and so on.
|
||||
Each CLHSDB command can have zero or more arguments and optionally end with output redirection
|
||||
(or append) to a file. Commands may be stored in a file and run using <b>source</b> command.
|
||||
<b>help</b> command prints usage message for all supported commands (or a specific command)
|
||||
</p>
|
||||
|
||||
<h3>Shell/batch scripts to run command line HSDB</h3>
|
||||
|
||||
<ul>
|
||||
<li>clhsdbproc.sh
|
||||
<li>clhsdbproc64.sh
|
||||
<li>clhsdbwindbg.bat
|
||||
<li>clhsdbwindbg64.bat
|
||||
</ul>
|
||||
|
||||
<h3>Annotated output of CLHSDB help command</h3>
|
||||
|
||||
<pre>
|
||||
<code>
|
||||
Available commands:
|
||||
assert true | false <font color="red">turn on/off asserts in SA code</font>
|
||||
attach pid | exec core <font color="red">attach SA to a process or core</font>
|
||||
class name <font color="red">find a Java class from debuggee and print oop</font>
|
||||
classes <font color="red">print all loaded Java classes with klassOop</font>
|
||||
detach <font color="red">detach SA from current target</font>
|
||||
dis address [ length ] <font color="red">disassemble (sparc/x86) specified number of instructions from given address</font>
|
||||
dumpclass { address | name } [ directory ] <font color="red">dump .class file for given klassOop or class name</font>
|
||||
dumpheap [ file ] <font color="red">dump heap in hprof binary format</font>
|
||||
echo [ true | false ] <font color="red">turn on/off command echo mode</font>
|
||||
examine [ address/count ] | [ address,address] <font color="red">show contents of memory from given address</font>
|
||||
field [ type [ name fieldtype isStatic offset address ] ] <font color="red">print info about a field of HotSpot type</font>
|
||||
findpc address <font color="red">print info. about pointer location</font>
|
||||
flags [ flag ] <font color="red">show all -XX flag name value pairs. or just show given flag</font>
|
||||
help [ command ] <font color="red">print help message for all commands or just given command</font>
|
||||
history <font color="red">show command history. usual !command-number syntax works.</font>
|
||||
inspect expression <font color="red">inspect a given oop</font>
|
||||
jdis address <font color="red">show bytecode disassembly of a given methodOop</font>
|
||||
jhisto <font color="red">show Java heap histogram</font>
|
||||
jseval script <font color="red">evaluate a given string as JavaScript code</font>
|
||||
jsload file <font color="red">load and evaluate a JavaScript file</font>
|
||||
jstack [-v] <font color="red">show Java stack trace of all Java threads. -v is verbose mode</font>
|
||||
livenmethods <font color="red">show all live nmethods</font>
|
||||
mem address [ length ] <font color="red">show contents of memory -- also shows closest ELF/COFF symbol if found</font>
|
||||
pmap <font color="red">show Solaris pmap-like output</font>
|
||||
print expression <font color="red">print given klassOop, methodOop or arbitrary address</font>
|
||||
printas type expression <font color="red">print given address as given HotSpot type. eg. print JavaThread <address></font>
|
||||
printstatics [ type ] <font color="red">print static fields of given HotSpot type (or all types if none specified)</font>
|
||||
pstack [-v] <font color="red">show mixed mode stack trace for all Java, non-Java threads. -v is verbose mode</font>
|
||||
quit <font color="red">quit CLHSDB tool</font>
|
||||
reattach <font color="red">detach and re-attach SA to current target</font>
|
||||
scanoops start end [ type ] <font color="red">scan a Oop from given start to end address</font>
|
||||
search [ heap | codecache | threads ] value <font color="red">search a value in heap or codecache or threads</font>
|
||||
source filename <font color="red">load and execute CLHSDB commands from given file</font>
|
||||
symbol name <font color="red">show address of a given ELF/COFF symbol</font>
|
||||
sysprops <font color="red">show all Java System properties</font>
|
||||
threads <font color="red">show all Java threads</font>
|
||||
tokenize ...
|
||||
type [ type [ name super isOop isInteger isUnsigned size ] ] <font color="red">show info. on HotSpot type</font>
|
||||
universe <font color="red">print gc universe</font>
|
||||
verbose true | false <font color="red">turn on/off verbose mode</font>
|
||||
versioncheck [ true | false ] <font color="red">turn on/off debuggee VM version check</font>
|
||||
whatis address <font color="red">print info about any arbitrary address</font>
|
||||
where { -a | id } <font color="red">print Java stack trace of given Java thread or all Java threads (-a)</font>
|
||||
</code>
|
||||
</pre>
|
||||
|
||||
<h3>JavaScript integration</h3>
|
||||
|
||||
<p>Few CLHSDB commands are already implemented in JavaScript. It is possible to extend CLHSDB command set
|
||||
by implementing more commands in a JavaScript file and by loading it by <b>jsload</b> command. <b>jseval</b>
|
||||
command may be used to evaluate arbitrary JavaScript expression from a string. Any JavaScript function
|
||||
may be exposed as a CLHSDB command by registering it using JavaScript <b><code>registerCommand</code></b>
|
||||
function. This function accepts command name, usage and name of the JavaScript implementation function
|
||||
as arguments.
|
||||
</p>
|
||||
|
||||
<h3>Simple CLHSDB command implemented in JavaScript</h3>
|
||||
|
||||
<b>File: test.js</b>
|
||||
<pre>
|
||||
<code>
|
||||
function helloImpl(name) {
|
||||
println("hello, " + name);
|
||||
}
|
||||
|
||||
// register the above JavaScript function as CLHSDB command
|
||||
registerCommand("hello", "hello name", "helloImpl");
|
||||
</code>
|
||||
</pre>
|
||||
---------<br>
|
||||
|
||||
"test.js" can be loaded in CLHSDB prompt using <b>jsload</b> command using
|
||||
|
||||
<pre>
|
||||
<code>
|
||||
hsdb> jsload test.js
|
||||
</code>
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
44
hotspot/agent/doc/hsdb.html
Normal file
44
hotspot/agent/doc/hsdb.html
Normal file
@ -0,0 +1,44 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
SA HSDB GUI
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Once the HSDB debugger has been launched, the threads list is displayed
|
||||
if launched with debuggee options (pid or core) in command line. If
|
||||
HSDB was launched without debuggee, empty screen is shown.
|
||||
</p>
|
||||
<p>File menu sub-menu options to attach, detach debuggee and exit tool.</p>
|
||||
<p>Tools menu sub-menus include:</p>
|
||||
<ul>
|
||||
<li>browsing of the annotated stack memory ("Stack Memory" button). It
|
||||
is currently annotated with the following information:
|
||||
<ul>
|
||||
<li> method names of the Java frames and their extents (supporting
|
||||
inlined compiled methods)
|
||||
<li> locations and types of oops, found using the oop map information
|
||||
from compiled methods (interpreter oop maps coming soon)
|
||||
<li> if a Java frame was interrupted by a signal (e.g., because of a
|
||||
crash), annotates the frame with the signal name and number
|
||||
<li> interpreter codelet descriptions for interpreted frames
|
||||
</ul>
|
||||
<li> finding which thread or threads caused a crash (currently
|
||||
identified by the presence of a signal handler frame - solaris-only)
|
||||
<li> browsing of oops using the Oop Inspector.
|
||||
<li> browsing of the java.lang.Thread object's oop.
|
||||
<li> Object Histogram and inspection of objects and liveness analysis therein.
|
||||
<li> Class Browser - view Java classes, bytecode disassembly,
|
||||
or create .class files for selected classes
|
||||
<li> native disassembly (sparc, x86 only) and nmethod disassembly with annotations for safepoint details.
|
||||
<li> view -XX flags, System properties, VM version of debuggee
|
||||
</ul>
|
||||
<p>Windows sub-menu options include:</p>
|
||||
<ul>
|
||||
<li> Windows sub-menu: Console window to run "CLHSDB" commands in GUI
|
||||
<li> Windows sub-menu: Debugger console of underlying native debugger (MS Windbg or dbx (if used))
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
241
hotspot/agent/doc/index.html
Normal file
241
hotspot/agent/doc/index.html
Normal file
@ -0,0 +1,241 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
Using HotSpot Serviceability Agent (SA)
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Using HotSpot Serviceability Agent (SA)</h1>
|
||||
|
||||
<h3>HSDB GUI</h3>
|
||||
<p>
|
||||
The top-level GUI program using the HotSpot Serviceability Agent APIs is
|
||||
called <b>HSDB</b>, the "HotSpot Debugger". To run it, type "hsdbproc.sh"
|
||||
or "hsdbwindbg.bat" or 64-bit variants (on Unix, Windows platforms
|
||||
respectively). More info. on HSDB GUI are in <a href="hsdb.html">hsdb.html</a>.
|
||||
</p>
|
||||
|
||||
<h3>SA Modes</h3>
|
||||
<p>
|
||||
There are three modes for the SA debugger:
|
||||
<ul>
|
||||
<li>attaching to a local process,
|
||||
<li>opening a core file, and
|
||||
<li>attaching to a remote "debug server".
|
||||
</ul>
|
||||
<p>
|
||||
The remote case requires two programs to be running on the remote machine:
|
||||
the rmiregistry (see the script "start-rmiregistry.sh" in this directory;
|
||||
run this in the background) and the debug server (see the script
|
||||
"start-debug-server-proc.sh"), in that order. start-rmiregistry.sh takes no
|
||||
arguments; start-debug-server-proc.sh (or -windbg.bat) takes as argument
|
||||
the process ID or the executable and core file names to allow remote debugging
|
||||
of.
|
||||
</p>
|
||||
|
||||
<h3>Command line HSDB</h3>
|
||||
<p>
|
||||
There are also command line HSDB variants ("clhsdbproc.sh" or "clhsdbwindbg.bat"
|
||||
or 64-bit variants). There is also a JavaScript based command line interface
|
||||
called "jsdbproc.sh" [or "jsdbwindbg.bat" or 64-bit variants]. More details on
|
||||
command line interfaces can be found in
|
||||
<ul>
|
||||
<li><a href="clhsdb.html">clhsdb.html</a>
|
||||
<li><a href="jsdb.html">jsdb.html</a>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<h3>Other command line tools</h3>
|
||||
<p>
|
||||
The following table lists all SA command line tools. <xxx>windbg.bat
|
||||
files are for Windows. .sh files are for Solaris. <xxx>64.sh are for
|
||||
64 bit debugees.
|
||||
</p>
|
||||
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th>
|
||||
Tool
|
||||
</th>
|
||||
<th>
|
||||
Description
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
dumpflagsproc.sh,
|
||||
dumpflagsproc64.sh,
|
||||
dumpflagswindbg.bat
|
||||
dumpflagswindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
dumps name and value of all -XX JVM command line arguments passed
|
||||
to debuggee.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a name="dumpsysprops"></a>
|
||||
dumpsyspropsproc.sh,
|
||||
dumpsyspropsproc64.sh,
|
||||
dumpsyspropswindbg.bat
|
||||
dumpsyspropswindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
This prints name and value of Java level System properties.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a name="heapdump"></a>
|
||||
heapdumpproc.sh,
|
||||
heapdumpproc64.sh,
|
||||
heapdumpwindbg.bat
|
||||
heapdumpwindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
Dumps heap in a file in hprof binary format.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a name="heapsum"></a>
|
||||
heapsumproc.sh,
|
||||
heapsumproc64.sh,
|
||||
heapsumwindbg.bat
|
||||
heapsumwindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
Prints summary information on Java heap.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
jcoreproc.sh,
|
||||
jcoreproc64.sh,
|
||||
jcorewindbg.bat
|
||||
jcorewindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
This can retrieve .class files from the debuggee.
|
||||
set the environment variable <b>JCORE_PACKAGES</b> to comman separated list of
|
||||
packages whose classes have to be retrieved from the core file.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<tr>
|
||||
<td>
|
||||
jstackproc.sh,
|
||||
jstackproc64.sh,
|
||||
jstackwindbg.bat
|
||||
jstackwindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
used to get java stack trace for all java threads.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
jhistoproc.sh,
|
||||
jhistoproc64.sh,
|
||||
jhistowindbg.bat
|
||||
jhistowindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
used to get object histogram of java heap.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
permstatproc.sh,
|
||||
permstatproc64.sh,
|
||||
permstatwindbg.bat
|
||||
permstatwindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
To gather statistics on perm. generation.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<a name="mixed_pstack"></a>
|
||||
<tr>
|
||||
<tr>
|
||||
<td>
|
||||
pstackproc.sh,
|
||||
pstackproc64.sh,
|
||||
pstackwindbg.bat
|
||||
pstackwindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
This is cross platform mixed mode pstack utility. This works on any (non-java as well) process, core dump. For java process and core dumps, this prints both java and C/C++ frames.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
pmapproc.sh,
|
||||
pmapproc64.sh,
|
||||
pmapwindbg.bat
|
||||
pmapwindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
This is cross platform Solaris pmap-like utility.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
soqlproc.sh,
|
||||
soqlproc64.sh,
|
||||
soqlwindbg.bat
|
||||
soqlwindbg64.bat
|
||||
</td>
|
||||
<td>
|
||||
This is command line SOQL - Simple Object Query Language tool.
|
||||
SOQL is SQL-like query language to query Java heap.
|
||||
</td>
|
||||
<tr>
|
||||
<td>
|
||||
start-debug-server-proc.sh,
|
||||
start-debug-server-proc64.sh,
|
||||
start-debug-server-windbg.bat,
|
||||
start-debug-server-windbg64.bat,
|
||||
start-rmiregistry.bat,
|
||||
start-rmiregistry64.bat,
|
||||
start-rmiregistry.sh
|
||||
start-rmiregistry64.sh
|
||||
</td>
|
||||
<td>
|
||||
These scripts are used to run SA remotely.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>Debugging transported core dumps</h3>
|
||||
<p>
|
||||
When a core dump is moved from the machine where it was produced to a
|
||||
difference machine, it may not always be possible for SA to debug the same.
|
||||
More info. on debugging on transported core dumps is in
|
||||
<a href="transported_core.html">transported_core.html</a>.
|
||||
</p>
|
||||
|
||||
<h3>SA Bugs</h3>
|
||||
<p>
|
||||
Not all of the possible states of target VMs have been tested (or
|
||||
supportable) with SA. For example, the SA will probably not work at all
|
||||
if it freezes the target VM during certain phases of GC. When filing bugs
|
||||
a pointer to a core file (see gcore(1)) which the SA can not handle well
|
||||
is best.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
1369
hotspot/agent/doc/jsdb.html
Normal file
1369
hotspot/agent/doc/jsdb.html
Normal file
File diff suppressed because it is too large
Load Diff
110
hotspot/agent/doc/transported_core.html
Normal file
110
hotspot/agent/doc/transported_core.html
Normal file
@ -0,0 +1,110 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
Debugging transported core dumps
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Debugging transported core dumps</h1>
|
||||
|
||||
<p>
|
||||
When a core dump is moved to a machine different from the one where it was
|
||||
produced ("transported core dump"), debuggers (dbx, gdb, windbg or SA) do not
|
||||
always successfully open the dump. This is due to kernel, library (shared
|
||||
objects or DLLs) mismatch between core dump machine and debugger machine.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In most platforms, core dumps do not contain text (a.k.a) Code pages.
|
||||
There pages are to be read from executable and shared objects (or DLLs).
|
||||
Therefore it is important to have matching executable and shared object
|
||||
files in debugger machine.
|
||||
</p>
|
||||
|
||||
<h3>Solaris transported core dumps</h3>
|
||||
|
||||
<p>
|
||||
Debuggers on Solaris (and Linux) use two addtional shared objects
|
||||
<b>rtld_db.so</b> and <b>libthread_db.so</b>. rtld_db.so is used to
|
||||
read information on shared objects from the core dump. libthread_db.so
|
||||
is used to get information on threads from the core dump. rtld_db.so
|
||||
evolves along with rtld.so (the runtime linker library) and libthread_db.so
|
||||
evolves along with libthread.so (user land multithreading library).
|
||||
Hence, debugger machine should have right version of rtld_db.so and
|
||||
libthread_db.so to open the core dump successfully. More details on
|
||||
these debugger libraries can be found in
|
||||
<a href="http://docs.sun.com/app/docs/doc/817-1984/">
|
||||
Solaris Linkers and Libraries Guide - 817-1984</a>
|
||||
</p>
|
||||
|
||||
<h3>Solaris SA against transported core dumps</h3>
|
||||
|
||||
<p>
|
||||
With transported core dumps, you may get "rtld_db failures" or
|
||||
"libthread_db failures" or SA may just throw some other error
|
||||
(hotspot symbol is missing) when opening the core dump.
|
||||
Enviroment variable <b>LIBSAPROC_DEBUG</b> may be set to any value
|
||||
to debug such scenarios. With this env. var set, SA prints many
|
||||
messages in standard error which can be useful for further debugging.
|
||||
SA on Solaris uses <b>libproc.so</b> library. This library also
|
||||
prints debug messages with env. var <b>LIBPROC_DEBUG</b>. But,
|
||||
setting LIBSAPROC_DEBUG results in setting LIBPROC_DEBUG as well.
|
||||
</p>
|
||||
<p>
|
||||
The best possible way to debug a transported core dump is to match the
|
||||
debugger machine to that of core dump machine. i.e., have same Kernel
|
||||
and libthread patch level between the machines. mdb (Solaris modular
|
||||
debugger) may be used to find the Kernel patch level of core dump
|
||||
machine and debugger machine may be brought to the same level.
|
||||
</p>
|
||||
<p>
|
||||
If the matching machine is "far off" in your network, then
|
||||
<ul>
|
||||
<li>consider using rlogin and <a href="clhsdb.html">CLHSDB - SA command line HSDB interface</a> or
|
||||
<li>use SA remote debugging and debug the core from core machine remotely.
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
But, it may not be feasible to find matching machine to debug.
|
||||
If so, you can copy all application shared objects (and libthread_db.so, if needed) from the core dump
|
||||
machine into your debugger machine's directory, say, /export/applibs. Now, set <b>SA_ALTROOT</b>
|
||||
environment variable to point to /export/applibs directory. Note that /export/applibs should either
|
||||
contain matching 'full path' of libraries. i.e., /usr/lib/libthread_db.so from core
|
||||
machine should be under /export/applibs/use/lib directory and /use/java/jre/lib/sparc/client/libjvm.so
|
||||
from core machine should be under /export/applibs/use/java/jre/lib/sparc/client so on or /export/applibs
|
||||
should just contain libthread_db.so, libjvm.so etc. directly.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Support for transported core dumps is <b>not</b> built into the standard version of libproc.so. You need to
|
||||
set <b>LD_LIBRARY_PATH</b> env var to point to the path of a specially built version of libproc.so.
|
||||
Note that this version of libproc.so has a special symbol to support transported core dump debugging.
|
||||
In future, we may get this feature built into standard libproc.so -- if that happens, this step (of
|
||||
setting LD_LIBRARY_PATH) can be skipped.
|
||||
</p>
|
||||
|
||||
<h3>Ignoring libthread_db.so failures</h3>
|
||||
<p>
|
||||
If you are okay with missing thread related information, you can set
|
||||
<b>SA_IGNORE_THREADDB</b> environment variable to any value. With this
|
||||
set, SA ignores libthread_db failure, but you won't be able to get any
|
||||
thread related information. But, you would be able to use SA and get
|
||||
other information.
|
||||
</p>
|
||||
|
||||
<h3>Linux SA against transported core dumps</h3>
|
||||
<p>
|
||||
On Linux, SA parses core and shared library ELF files. SA <b>does not</b> use
|
||||
libthread_db.so or rtld_db.so for core dump debugging (although
|
||||
libthread_db.so is used for live process debugging). But, you
|
||||
may still face problems with transported core dumps, because matching shared
|
||||
objects may not be in the path(s) specified in core dump file. To
|
||||
workaround this, you can define environment variable <b>SA_ALTROOT</b>
|
||||
to be the directory where shared libraries are kept. The semantics of
|
||||
this env. variable is same as that for Solaris (please refer above).
|
||||
</p>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
254
hotspot/agent/make/ClosureFinder.java
Normal file
254
hotspot/agent/make/ClosureFinder.java
Normal file
@ -0,0 +1,254 @@
|
||||
/*
|
||||
* Copyright 2003-2004 Sun Microsystems, Inc. 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
* have any questions.
|
||||
*
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
/**
|
||||
<p> This class finds transitive closure of dependencies from a given
|
||||
root set of classes. If your project has lots of .class files and you
|
||||
want to ship only those .class files which are used (transitively)
|
||||
from a root set of classes, then you can use this utility. </p> <p>
|
||||
How does it work?</p>
|
||||
|
||||
<p> We walk through all constant pool entries of a given class and
|
||||
find all modified UTF-8 entries. Anything that looks like a class name is
|
||||
considered as a class and we search for that class in the given
|
||||
classpath. If we find a .class of that name, then we add that class to
|
||||
list.</p>
|
||||
|
||||
<p> We could have used CONSTANT_ClassInfo type constants only. But
|
||||
that will miss classes used through Class.forName or xyz.class
|
||||
construct. But, if you refer to a class name in some other string we
|
||||
would include it as dependency :(. But this is quite unlikely
|
||||
anyway. To look for exact Class.forName argument(s) would involve
|
||||
bytecode analysis. Also, we handle only simple reflection. If you
|
||||
accept name of a class from externally (for eg properties file or
|
||||
command line args for example, this utility will not be able to find
|
||||
that dependency. In such cases, include those classes in the root set.
|
||||
</p>
|
||||
*/
|
||||
|
||||
public class ClosureFinder {
|
||||
private Collection roots; // root class names Collection<String>
|
||||
private Map visitedClasses; // set of all dependencies as a Map
|
||||
private String classPath; // classpath to look for .class files
|
||||
private String[] pathComponents; // classpath components
|
||||
private static final boolean isWindows = File.separatorChar != '/';
|
||||
|
||||
public ClosureFinder(Collection roots, String classPath) {
|
||||
this.roots = roots;
|
||||
this.classPath = classPath;
|
||||
parseClassPath();
|
||||
}
|
||||
|
||||
// parse classPath into pathComponents array
|
||||
private void parseClassPath() {
|
||||
List paths = new ArrayList();
|
||||
StringTokenizer st = new StringTokenizer(classPath, File.pathSeparator);
|
||||
while (st.hasMoreTokens())
|
||||
paths.add(st.nextToken());
|
||||
|
||||
Object[] arr = paths.toArray();
|
||||
pathComponents = new String[arr.length];
|
||||
System.arraycopy(arr, 0, pathComponents, 0, arr.length);
|
||||
}
|
||||
|
||||
// if output is aleady not computed, compute it now
|
||||
// result is a map from class file name to base path where the .class was found
|
||||
public Map find() {
|
||||
if (visitedClasses == null) {
|
||||
visitedClasses = new HashMap();
|
||||
computeClosure();
|
||||
}
|
||||
return visitedClasses;
|
||||
}
|
||||
|
||||
// compute closure for all given root classes
|
||||
private void computeClosure() {
|
||||
for (Iterator rootsItr = roots.iterator(); rootsItr.hasNext();) {
|
||||
String name = (String) rootsItr.next();
|
||||
name = name.substring(0, name.indexOf(".class"));
|
||||
computeClosure(name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// looks up for .class in pathComponents and returns
|
||||
// base path if found, else returns null
|
||||
private String lookupClassFile(String classNameAsPath) {
|
||||
for (int i = 0; i < pathComponents.length; i++) {
|
||||
File f = new File(pathComponents[i] + File.separator +
|
||||
classNameAsPath + ".class");
|
||||
if (f.exists()) {
|
||||
if (isWindows) {
|
||||
String name = f.getName();
|
||||
// Windows reports special devices AUX,NUL,CON as files
|
||||
// under any directory. It does not care about file extention :-(
|
||||
if (name.compareToIgnoreCase("AUX.class") == 0 ||
|
||||
name.compareToIgnoreCase("NUL.class") == 0 ||
|
||||
name.compareToIgnoreCase("CON.class") == 0) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return pathComponents[i];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
// from JVM spec. 2'nd edition section 4.4
|
||||
private static final int CONSTANT_Class = 7;
|
||||
private static final int CONSTANT_FieldRef = 9;
|
||||
private static final int CONSTANT_MethodRef = 10;
|
||||
private static final int CONSTANT_InterfaceMethodRef = 11;
|
||||
private static final int CONSTANT_String = 8;
|
||||
private static final int CONSTANT_Integer = 3;
|
||||
private static final int CONSTANT_Float = 4;
|
||||
private static final int CONSTANT_Long = 5;
|
||||
private static final int CONSTANT_Double = 6;
|
||||
private static final int CONSTANT_NameAndType = 12;
|
||||
private static final int CONSTANT_Utf8 = 1;
|
||||
|
||||
// whether a given string may be a class name?
|
||||
private boolean mayBeClassName(String internalClassName) {
|
||||
int len = internalClassName.length();
|
||||
for (int s = 0; s < len; s++) {
|
||||
char c = internalClassName.charAt(s);
|
||||
if (!Character.isJavaIdentifierPart(c) && c != '/')
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// compute closure for a given class
|
||||
private void computeClosure(String className) {
|
||||
if (visitedClasses.get(className) != null) return;
|
||||
String basePath = lookupClassFile(className);
|
||||
if (basePath != null) {
|
||||
visitedClasses.put(className, basePath);
|
||||
try {
|
||||
File classFile = new File(basePath + File.separator + className + ".class");
|
||||
FileInputStream fis = new FileInputStream(classFile);
|
||||
DataInputStream dis = new DataInputStream(fis);
|
||||
// look for .class signature
|
||||
if (dis.readInt() != 0xcafebabe) {
|
||||
System.err.println(classFile.getAbsolutePath() + " is not a valid .class file");
|
||||
return;
|
||||
}
|
||||
|
||||
// ignore major and minor version numbers
|
||||
dis.readShort();
|
||||
dis.readShort();
|
||||
|
||||
// read number of constant pool constants
|
||||
int numConsts = (int) dis.readShort();
|
||||
String[] strings = new String[numConsts];
|
||||
|
||||
// zero'th entry is unused
|
||||
for (int cpIndex = 1; cpIndex < numConsts; cpIndex++) {
|
||||
int constType = (int) dis.readByte();
|
||||
switch (constType) {
|
||||
case CONSTANT_Class:
|
||||
case CONSTANT_String:
|
||||
dis.readShort(); // string name index;
|
||||
break;
|
||||
|
||||
case CONSTANT_FieldRef:
|
||||
case CONSTANT_MethodRef:
|
||||
case CONSTANT_InterfaceMethodRef:
|
||||
case CONSTANT_NameAndType:
|
||||
case CONSTANT_Integer:
|
||||
case CONSTANT_Float:
|
||||
// all these are 4 byte constants
|
||||
dis.readInt();
|
||||
break;
|
||||
|
||||
case CONSTANT_Long:
|
||||
case CONSTANT_Double:
|
||||
// 8 byte constants
|
||||
dis.readLong();
|
||||
// occupies 2 cp entries
|
||||
cpIndex++;
|
||||
break;
|
||||
|
||||
|
||||
case CONSTANT_Utf8: {
|
||||
strings[cpIndex] = dis.readUTF();
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
System.err.println("invalid constant pool entry");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// now walk thru the string constants and look for class names
|
||||
for (int s = 0; s < numConsts; s++) {
|
||||
if (strings[s] != null && mayBeClassName(strings[s]))
|
||||
computeClosure(strings[s].replace('/', File.separatorChar));
|
||||
}
|
||||
|
||||
} catch (IOException exp) {
|
||||
// ignore for now
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// a sample main that accepts roots classes in a file and classpath as args
|
||||
public static void main(String[] args) {
|
||||
if (args.length != 2) {
|
||||
System.err.println("Usage: ClosureFinder <root class file> <class path>");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
List roots = new ArrayList();
|
||||
try {
|
||||
FileInputStream fis = new FileInputStream(args[0]);
|
||||
DataInputStream dis = new DataInputStream(fis);
|
||||
String line = null;
|
||||
while ((line = dis.readLine()) != null) {
|
||||
if (isWindows) {
|
||||
line = line.replace('/', File.separatorChar);
|
||||
}
|
||||
roots.add(line);
|
||||
}
|
||||
} catch (IOException exp) {
|
||||
System.err.println(exp.getMessage());
|
||||
System.exit(2);
|
||||
}
|
||||
|
||||
ClosureFinder cf = new ClosureFinder(roots, args[1]);
|
||||
Map out = cf.find();
|
||||
Iterator res = out.keySet().iterator();
|
||||
for(; res.hasNext(); ) {
|
||||
String className = (String) res.next();
|
||||
System.out.println(className + ".class");
|
||||
}
|
||||
}
|
||||
}
|
312
hotspot/agent/make/Makefile
Normal file
312
hotspot/agent/make/Makefile
Normal file
@ -0,0 +1,312 @@
|
||||
#
|
||||
# Copyright 2000-2007 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
# This guards against adding broken .java files to the directory
|
||||
# hierarchy, but may be a pain to keep in sync
|
||||
|
||||
# Generated using the build-pkglist script
|
||||
ifeq "x$(GAMMADIR)" "x"
|
||||
include ../../make/defs.make
|
||||
else
|
||||
include $(GAMMADIR)/make/defs.make
|
||||
endif
|
||||
|
||||
PKGLIST = \
|
||||
sun.jvm.hotspot \
|
||||
sun.jvm.hotspot.asm \
|
||||
sun.jvm.hotspot.asm.amd64 \
|
||||
sun.jvm.hotspot.asm.ia64 \
|
||||
sun.jvm.hotspot.asm.sparc \
|
||||
sun.jvm.hotspot.asm.x86 \
|
||||
sun.jvm.hotspot.bugspot \
|
||||
sun.jvm.hotspot.bugspot.tree \
|
||||
sun.jvm.hotspot.c1 \
|
||||
sun.jvm.hotspot.code \
|
||||
sun.jvm.hotspot.compiler \
|
||||
sun.jvm.hotspot.debugger \
|
||||
sun.jvm.hotspot.debugger.amd64 \
|
||||
sun.jvm.hotspot.debugger.cdbg \
|
||||
sun.jvm.hotspot.debugger.cdbg.basic \
|
||||
sun.jvm.hotspot.debugger.cdbg.basic.amd64 \
|
||||
sun.jvm.hotspot.debugger.cdbg.basic.x86 \
|
||||
sun.jvm.hotspot.debugger.dbx \
|
||||
sun.jvm.hotspot.debugger.dbx.sparc \
|
||||
sun.jvm.hotspot.debugger.dbx.x86 \
|
||||
sun.jvm.hotspot.debugger.dummy \
|
||||
sun.jvm.hotspot.debugger.ia64 \
|
||||
sun.jvm.hotspot.debugger.linux \
|
||||
sun.jvm.hotspot.debugger.linux.amd64 \
|
||||
sun.jvm.hotspot.debugger.linux.ia64 \
|
||||
sun.jvm.hotspot.debugger.linux.x86 \
|
||||
sun.jvm.hotspot.debugger.posix \
|
||||
sun.jvm.hotspot.debugger.posix.elf \
|
||||
sun.jvm.hotspot.debugger.proc \
|
||||
sun.jvm.hotspot.debugger.proc.amd64 \
|
||||
sun.jvm.hotspot.debugger.proc.sparc \
|
||||
sun.jvm.hotspot.debugger.proc.x86 \
|
||||
sun.jvm.hotspot.debugger.remote \
|
||||
sun.jvm.hotspot.debugger.remote.amd64 \
|
||||
sun.jvm.hotspot.debugger.remote.sparc \
|
||||
sun.jvm.hotspot.debugger.remote.x86 \
|
||||
sun.jvm.hotspot.debugger.sparc \
|
||||
sun.jvm.hotspot.debugger.win32 \
|
||||
sun.jvm.hotspot.debugger.win32.coff \
|
||||
sun.jvm.hotspot.debugger.windbg \
|
||||
sun.jvm.hotspot.debugger.windbg.amd64 \
|
||||
sun.jvm.hotspot.debugger.windbg.ia64 \
|
||||
sun.jvm.hotspot.debugger.windbg.x86 \
|
||||
sun.jvm.hotspot.debugger.x86 \
|
||||
sun.jvm.hotspot.gc_implementation \
|
||||
sun.jvm.hotspot.gc_implementation.parallelScavenge \
|
||||
sun.jvm.hotspot.gc_implementation.shared \
|
||||
sun.jvm.hotspot.gc_interface \
|
||||
sun.jvm.hotspot.interpreter \
|
||||
sun.jvm.hotspot.jdi \
|
||||
sun.jvm.hotspot.livejvm \
|
||||
sun.jvm.hotspot.memory \
|
||||
sun.jvm.hotspot.oops \
|
||||
sun.jvm.hotspot.runtime \
|
||||
sun.jvm.hotspot.runtime.amd64 \
|
||||
sun.jvm.hotspot.runtime.ia64 \
|
||||
sun.jvm.hotspot.runtime.linux \
|
||||
sun.jvm.hotspot.runtime.linux_amd64 \
|
||||
sun.jvm.hotspot.runtime.linux_ia64 \
|
||||
sun.jvm.hotspot.runtime.linux_sparc \
|
||||
sun.jvm.hotspot.runtime.linux_x86 \
|
||||
sun.jvm.hotspot.runtime.posix \
|
||||
sun.jvm.hotspot.runtime.solaris_amd64 \
|
||||
sun.jvm.hotspot.runtime.solaris_sparc \
|
||||
sun.jvm.hotspot.runtime.solaris_x86 \
|
||||
sun.jvm.hotspot.runtime.sparc \
|
||||
sun.jvm.hotspot.runtime.win32_amd64 \
|
||||
sun.jvm.hotspot.runtime.win32_ia64 \
|
||||
sun.jvm.hotspot.runtime.win32_x86 \
|
||||
sun.jvm.hotspot.runtime.x86 \
|
||||
sun.jvm.hotspot.tools \
|
||||
sun.jvm.hotspot.tools.jcore \
|
||||
sun.jvm.hotspot.tools.soql \
|
||||
sun.jvm.hotspot.types \
|
||||
sun.jvm.hotspot.types.basic \
|
||||
sun.jvm.hotspot.ui \
|
||||
sun.jvm.hotspot.ui.action \
|
||||
sun.jvm.hotspot.ui.classbrowser \
|
||||
sun.jvm.hotspot.ui.resources \
|
||||
sun.jvm.hotspot.ui.table \
|
||||
sun.jvm.hotspot.ui.tree \
|
||||
sun.jvm.hotspot.ui.treetable \
|
||||
sun.jvm.hotspot.utilities \
|
||||
sun.jvm.hotspot.utilities.memo \
|
||||
sun.jvm.hotspot.utilities.soql
|
||||
#END PKGLIST
|
||||
|
||||
# Generated using the build-filelist script
|
||||
FILELIST = \
|
||||
sun/jvm/hotspot/*.java \
|
||||
sun/jvm/hotspot/asm/*.java \
|
||||
sun/jvm/hotspot/asm/amd64/*.java \
|
||||
sun/jvm/hotspot/asm/ia64/*.java \
|
||||
sun/jvm/hotspot/asm/sparc/*.java \
|
||||
sun/jvm/hotspot/asm/x86/*.java \
|
||||
sun/jvm/hotspot/bugspot/*.java \
|
||||
sun/jvm/hotspot/bugspot/tree/*.java \
|
||||
sun/jvm/hotspot/c1/*.java \
|
||||
sun/jvm/hotspot/code/*.java \
|
||||
sun/jvm/hotspot/compiler/*.java \
|
||||
sun/jvm/hotspot/debugger/*.java \
|
||||
sun/jvm/hotspot/debugger/amd64/*.java \
|
||||
sun/jvm/hotspot/debugger/cdbg/*.java \
|
||||
sun/jvm/hotspot/debugger/cdbg/basic/*.java \
|
||||
sun/jvm/hotspot/debugger/cdbg/basic/amd64/*.java \
|
||||
sun/jvm/hotspot/debugger/cdbg/basic/x86/*.java \
|
||||
sun/jvm/hotspot/debugger/dbx/*.java \
|
||||
sun/jvm/hotspot/debugger/dbx/sparc/*.java \
|
||||
sun/jvm/hotspot/debugger/dbx/x86/*.java \
|
||||
sun/jvm/hotspot/debugger/dummy/*.java \
|
||||
sun/jvm/hotspot/debugger/ia64/*.java \
|
||||
sun/jvm/hotspot/debugger/linux/*.java \
|
||||
sun/jvm/hotspot/debugger/linux/x86/*.java \
|
||||
sun/jvm/hotspot/debugger/posix/*.java \
|
||||
sun/jvm/hotspot/debugger/posix/elf/*.java \
|
||||
sun/jvm/hotspot/debugger/proc/*.java \
|
||||
sun/jvm/hotspot/debugger/proc/amd64/*.java \
|
||||
sun/jvm/hotspot/debugger/proc/sparc/*.java \
|
||||
sun/jvm/hotspot/debugger/proc/x86/*.java \
|
||||
sun/jvm/hotspot/debugger/remote/*.java \
|
||||
sun/jvm/hotspot/debugger/remote/amd64/*.java \
|
||||
sun/jvm/hotspot/debugger/remote/sparc/*.java \
|
||||
sun/jvm/hotspot/debugger/remote/x86/*.java \
|
||||
sun/jvm/hotspot/debugger/sparc/*.java \
|
||||
sun/jvm/hotspot/debugger/win32/*.java \
|
||||
sun/jvm/hotspot/debugger/win32/coff/*.java \
|
||||
sun/jvm/hotspot/debugger/windbg/*.java \
|
||||
sun/jvm/hotspot/debugger/windbg/ia64/*.java \
|
||||
sun/jvm/hotspot/debugger/windbg/x86/*.java \
|
||||
sun/jvm/hotspot/debugger/x86/*.java \
|
||||
sun/jvm/hotspot/interpreter/*.java \
|
||||
sun/jvm/hotspot/jdi/*.java \
|
||||
sun/jvm/hotspot/livejvm/*.java \
|
||||
sun/jvm/hotspot/memory/*.java \
|
||||
sun/jvm/hotspot/oops/*.java \
|
||||
sun/jvm/hotspot/runtime/*.java \
|
||||
sun/jvm/hotspot/runtime/amd64/*.java \
|
||||
sun/jvm/hotspot/runtime/ia64/*.java \
|
||||
sun/jvm/hotspot/runtime/linux/*.java \
|
||||
sun/jvm/hotspot/runtime/linux_amd64/*.java \
|
||||
sun/jvm/hotspot/runtime/linux_ia64/*.java \
|
||||
sun/jvm/hotspot/runtime/linux_sparc/*.java \
|
||||
sun/jvm/hotspot/runtime/linux_x86/*.java \
|
||||
sun/jvm/hotspot/runtime/posix/*.java \
|
||||
sun/jvm/hotspot/runtime/solaris_amd64/*.java \
|
||||
sun/jvm/hotspot/runtime/solaris_sparc/*.java \
|
||||
sun/jvm/hotspot/runtime/solaris_x86/*.java \
|
||||
sun/jvm/hotspot/runtime/sparc/*.java \
|
||||
sun/jvm/hotspot/runtime/win32_amd64/*.java \
|
||||
sun/jvm/hotspot/runtime/win32_ia64/*.java \
|
||||
sun/jvm/hotspot/runtime/win32_x86/*.java \
|
||||
sun/jvm/hotspot/runtime/x86/*.java \
|
||||
sun/jvm/hotspot/tools/*.java \
|
||||
sun/jvm/hotspot/tools/jcore/*.java \
|
||||
sun/jvm/hotspot/tools/soql/*.java \
|
||||
sun/jvm/hotspot/types/*.java \
|
||||
sun/jvm/hotspot/types/basic/*.java \
|
||||
sun/jvm/hotspot/ui/*.java \
|
||||
sun/jvm/hotspot/ui/action/*.java \
|
||||
sun/jvm/hotspot/ui/classbrowser/*.java \
|
||||
sun/jvm/hotspot/ui/table/*.java \
|
||||
sun/jvm/hotspot/ui/tree/*.java \
|
||||
sun/jvm/hotspot/ui/treetable/*.java \
|
||||
sun/jvm/hotspot/utilities/*.java \
|
||||
sun/jvm/hotspot/utilities/memo/*.java \
|
||||
sun/jvm/hotspot/utilities/soql/*.java
|
||||
#END FILELIST
|
||||
|
||||
ifneq "x$(ALT_BOOTDIR)" "x"
|
||||
BOOTDIR := $(ALT_BOOTDIR)
|
||||
endif
|
||||
|
||||
ifeq "x$(BOOTDIR)" "x"
|
||||
JDK_HOME := $(shell dirname $(shell which java))/..
|
||||
else
|
||||
JDK_HOME := $(BOOTDIR)
|
||||
endif
|
||||
|
||||
isUnix := $(shell test -r c:/; echo $$?)
|
||||
|
||||
ifeq "$(isUnix)" "1"
|
||||
CPS := :
|
||||
else
|
||||
CPS := ";"
|
||||
endif
|
||||
|
||||
SRC_DIR = ../src/share/classes
|
||||
LIB_DIR = ../src/share/lib
|
||||
CLOSED_LIB_DIR = ../closed/src/share/lib
|
||||
BUILD_DIR = ../build
|
||||
OUTPUT_DIR = $(BUILD_DIR)/classes
|
||||
DOC_DIR = $(BUILD_DIR)/doc
|
||||
|
||||
# gnumake 3.78.1 does not accept the *s,
|
||||
# so use the shell to expand them
|
||||
ALLFILES := $(patsubst %,$(SRC_DIR)/%,$(FILELIST))
|
||||
ALLFILES := $(shell /bin/ls $(ALLFILES))
|
||||
|
||||
|
||||
# tools.jar is needed by the JDI - SA binding
|
||||
CLASSPATH = $(LIB_DIR)/maf-1_0.jar$(CPS)$(JDK_HOME)/lib/tools.jar
|
||||
CLASSPATH := $(subst \,/,$(CLASSPATH))
|
||||
|
||||
# FIXME: autogenerate call to rmic
|
||||
|
||||
SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
|
||||
|
||||
SA_PROPERTIES = $(OUTPUT_DIR)/sa.properties
|
||||
|
||||
# Tagging it on because there's no reason not to run it
|
||||
all: filelist
|
||||
@mkdir -p $(OUTPUT_DIR)
|
||||
@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
|
||||
@javac -source 1.4 -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
|
||||
@rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
||||
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
|
||||
cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
|
||||
|
||||
allprof: filelist
|
||||
@mkdir -p $(OUTPUT_DIR)
|
||||
@echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
|
||||
@javac -source 1.4 -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
|
||||
@rmic -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
||||
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
|
||||
cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
|
||||
|
||||
filelist: $(ALLFILES)
|
||||
@if [ ! -f $(JDK_HOME)/lib/tools.jar ] ; then \
|
||||
echo "Missing $(JDK_HOME)/lib/tools.jar file. Use 1.6.0 or later version jdk to build SA."; \
|
||||
echo ""; \
|
||||
exit 1; \
|
||||
fi
|
||||
@rm -f $@
|
||||
@echo $(ALLFILES) > $@
|
||||
|
||||
.PHONY: natives
|
||||
natives:
|
||||
cd ../src/os/`java -classpath $(OUTPUT_DIR) sun.jvm.hotspot.utilities.PlatformInfo`; $(MAKE) all
|
||||
|
||||
.PHONY: sa-jdi.jar
|
||||
sa-jdi.jar:
|
||||
if [ ! -f $(JDK_HOME)/lib/tools.jar ] ; then \
|
||||
echo "Missing $(JDK_HOME)/lib/tools.jar file. Use 1.6.0 or later version jdk to build SA.";\
|
||||
exit 1; \
|
||||
fi
|
||||
rm -f $(BUILD_DIR)/sa-jdi.jar
|
||||
rm -f $(OUTPUT_DIR)/jdi_class_files
|
||||
javac -source 1.4 ClosureFinder.java -d $(OUTPUT_DIR)
|
||||
cd $(OUTPUT_DIR) ; find sun/jvm/hotspot/jdi -name "*.class" > jdi_class_files
|
||||
cd $(OUTPUT_DIR) ; jar cvf ../sa-jdi.jar `java ClosureFinder jdi_class_files .`
|
||||
cd $(BUILD_DIR) ; jar uvf sa-jdi.jar -C $(SRC_DIR) META-INF/services/com.sun.jdi.connect.Connector
|
||||
cd $(BUILD_DIR) ; jar uvf sa-jdi.jar -C $(OUTPUT_DIR) sa.properties
|
||||
rm -f $(OUTPUT_DIR)/ClosureFinder.class
|
||||
rm -f $(OUTPUT_DIR)/jdi_class_files
|
||||
|
||||
docs:
|
||||
@javadoc -private -classpath $(CLASSPATH) -sourcepath $(SRC_DIR) -d $(DOC_DIR) $(PKGLIST)
|
||||
|
||||
sizes: $(ALLFILES)
|
||||
wc -l $(ALLFILES)
|
||||
|
||||
cscope: $(ALLFILES)
|
||||
echo $(ALLFILES) > java.files
|
||||
cscope -b -i java.files -f java.out
|
||||
|
||||
.PHONY: sa.jar
|
||||
sa.jar:
|
||||
rm -f $(BUILD_DIR)/sa.jar
|
||||
mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources
|
||||
rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/*
|
||||
cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/
|
||||
cd $(OUTPUT_DIR) ; jar cvf ../sa.jar *
|
||||
|
||||
clean::
|
||||
rm -rf filelist
|
||||
cd ../src/os/`java -classpath $(OUTPUT_DIR) sun.jvm.hotspot.utilities.PlatformInfo`; $(MAKE) clean
|
||||
rm -rf $(BUILD_DIR)/*
|
5
hotspot/agent/make/README.txt
Normal file
5
hotspot/agent/make/README.txt
Normal file
@ -0,0 +1,5 @@
|
||||
These are the Java-level sources for the Serviceability Agent (SA).
|
||||
|
||||
To build, type "gnumake all".
|
||||
|
||||
For usage documentation, please refer to ../doc/index.html.
|
25
hotspot/agent/make/bugspot.bat
Normal file
25
hotspot/agent/make/bugspot.bat
Normal file
@ -0,0 +1,25 @@
|
||||
REM
|
||||
REM Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
java -showversion -cp ..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar sun.jvm.hotspot.bugspot.Main
|
10
hotspot/agent/make/build-filelist
Normal file
10
hotspot/agent/make/build-filelist
Normal file
@ -0,0 +1,10 @@
|
||||
#!/bin/sh -f
|
||||
|
||||
SH=`which sh`
|
||||
MKS_HOME=`dirname $SH`
|
||||
|
||||
CD=cd
|
||||
FIND=$MKS_HOME/find
|
||||
SORT=$MKS_HOME/sort
|
||||
|
||||
$CD ../src/share/classes; $FIND sun \( -name SCCS -prune \) -o \( -name "*.java" \) -print | $SORT > ../../../make/filelist.txt
|
11
hotspot/agent/make/build-pkglist
Normal file
11
hotspot/agent/make/build-pkglist
Normal file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh -f
|
||||
|
||||
SH=`which sh`
|
||||
MKS_HOME=`dirname $SH`
|
||||
|
||||
CD=cd
|
||||
FIND=$MKS_HOME/find
|
||||
SED=$MKS_HOME/sed
|
||||
SORT=$MKS_HOME/sort
|
||||
|
||||
$CD ../src/share/classes; $FIND sun/jvm/hotspot \( -name SCCS -prune \) -o -type d -print | $SED -e 's/\//./g' | $SORT > ../../../make/pkglist.txt
|
120
hotspot/agent/make/build.xml
Normal file
120
hotspot/agent/make/build.xml
Normal file
@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright 2002-2007 Sun Microsystems, Inc. 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
|
||||
under the terms of the GNU General Public License version 2 only, as
|
||||
published by the Free Software Foundation.
|
||||
|
||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
version 2 for more details (a copy is included in the LICENSE file that
|
||||
accompanied this code).
|
||||
|
||||
You should have received a copy of the GNU General Public License version
|
||||
2 along with this work; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
have any questions.
|
||||
|
||||
-->
|
||||
|
||||
<!-- This is an Ant project file. Ant is a build tool like make or gnumake which is not
|
||||
dependent on the underlying OS shell. For more information on Ant, please see
|
||||
http://ant.apache.org/ -->
|
||||
|
||||
<!-- A "project" describes a set of targets that may be requested
|
||||
when Ant is executed. The "default" attribute defines the
|
||||
target which is executed if no specific target is requested,
|
||||
and the "basedir" attribute defines the current working directory
|
||||
from which Ant executes the requested task. This is normally
|
||||
set to the current working directory.
|
||||
-->
|
||||
|
||||
|
||||
<project name="HotSpot Serviceability Agent" default="all" basedir=".">
|
||||
|
||||
<!-- Property Definitions -->
|
||||
|
||||
<property name="app.name" value="sa"/>
|
||||
<property name="dist.jar" value="${app.name}.jar"/>
|
||||
<property name="libs" value="../src/share/lib"/>
|
||||
<property name="classes" value="../build/classes"/>
|
||||
|
||||
<!-- The "prepare" target is used to construct the deployment home
|
||||
directory structure (if necessary), and to copy in static files
|
||||
as required. In the example below, Ant is instructed to create
|
||||
the deployment directory, copy the contents of the "web/" source
|
||||
hierarchy, and set up the WEB-INF subdirectory appropriately.
|
||||
-->
|
||||
|
||||
<target name="prepare">
|
||||
<mkdir dir="${classes}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- The "clean" target removes the deployment home directory structure,
|
||||
so that the next time the "compile" target is requested, it will need
|
||||
to compile everything from scratch.
|
||||
-->
|
||||
|
||||
<target name="clean">
|
||||
<delete dir="${classes}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- The "compile" target is used to compile (or recompile) the Java classes
|
||||
that make up this web application. The recommended source code directory
|
||||
structure makes this very easy because the <javac> task automatically
|
||||
works its way down a source code hierarchy and compiles any class that
|
||||
has not yet been compiled, or where the source file is newer than the
|
||||
class file.
|
||||
|
||||
Feel free to adjust the compilation option parameters (debug,
|
||||
optimize, and deprecation) to suit your requirements. It is also
|
||||
possible to base them on properties, so that you can adjust this
|
||||
behavior at runtime.
|
||||
|
||||
The "compile" task depends on the "prepare" task, so the deployment
|
||||
home directory structure will be created if needed the first time.
|
||||
-->
|
||||
|
||||
<path id="javac.classpath">
|
||||
<pathelement path="${libs}/maf-1_0.jar" />
|
||||
<pathelement path="${libs}/jlfgr-1_0.jar" />
|
||||
</path>
|
||||
|
||||
<target name="compile" depends="prepare" description="Compiles the sources">
|
||||
<javac srcdir="../src/share/classes"
|
||||
destdir="${classes}"
|
||||
debug="on" deprecation="on"
|
||||
source="1.4">
|
||||
<classpath refid="javac.classpath" />
|
||||
</javac>
|
||||
|
||||
<rmic classname="sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer"
|
||||
base="${classes}"/>
|
||||
</target>
|
||||
|
||||
<target name="deploy" depends="compile" description="Creates a deployment bundle">
|
||||
<delete file="${classes}/${dist.jar}" />
|
||||
<copy todir="${classes}/sun/jvm/hotspot/utilities/soql/">
|
||||
<fileset dir="../src/share/classes/sun/jvm/hotspot/utilities/soql" includes="*.js" />
|
||||
</copy>
|
||||
|
||||
<mkdir dir="${classes}/sun/jvm/hotspot/ui/resources" />
|
||||
<copy todir="${classes}/sun/jvm/hotspot/ui/resources">
|
||||
<fileset dir="../src/share/classes/sun/jvm/hotspot/ui/resources" includes="*.png" />
|
||||
</copy>
|
||||
|
||||
<jar jarfile="${classes}/${dist.jar}"
|
||||
basedir="${classes}"/>
|
||||
</target>
|
||||
|
||||
<target name="all" depends="deploy" description="Builds sources and deployment jar"/>
|
||||
|
||||
</project>
|
30
hotspot/agent/make/clhsdbproc.sh
Normal file
30
hotspot/agent/make/clhsdbproc.sh
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.CLHSDB $*
|
30
hotspot/agent/make/clhsdbproc64.sh
Normal file
30
hotspot/agent/make/clhsdbproc64.sh
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.CLHSDB $*
|
29
hotspot/agent/make/clhsdbwindbg.bat
Normal file
29
hotspot/agent/make/clhsdbwindbg.bat
Normal file
@ -0,0 +1,29 @@
|
||||
@echo off
|
||||
|
||||
REM
|
||||
REM Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.CLHSDB %1 %2
|
29
hotspot/agent/make/clhsdbwindbg64.bat
Normal file
29
hotspot/agent/make/clhsdbwindbg64.bat
Normal file
@ -0,0 +1,29 @@
|
||||
@echo off
|
||||
|
||||
REM
|
||||
REM Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.CLHSDB %1 %2
|
28
hotspot/agent/make/dumpflagsproc.sh
Normal file
28
hotspot/agent/make/dumpflagsproc.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.FlagDumper $*
|
28
hotspot/agent/make/dumpflagsproc64.sh
Normal file
28
hotspot/agent/make/dumpflagsproc64.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.FlagDumper $*
|
28
hotspot/agent/make/dumpflagswindbg.bat
Normal file
28
hotspot/agent/make/dumpflagswindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.FlagDumper %1 %2
|
28
hotspot/agent/make/dumpflagswindbg64.bat
Normal file
28
hotspot/agent/make/dumpflagswindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.FlagDumper %1 %2
|
29
hotspot/agent/make/dumpsyspropsproc.sh
Normal file
29
hotspot/agent/make/dumpsyspropsproc.sh
Normal file
@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.SysPropsDumper $*
|
||||
|
28
hotspot/agent/make/dumpsyspropsproc64.sh
Normal file
28
hotspot/agent/make/dumpsyspropsproc64.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.SysPropsDumper $*
|
28
hotspot/agent/make/dumpsyspropswindbg.bat
Normal file
28
hotspot/agent/make/dumpsyspropswindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.SysPropsDumper %1 %2
|
28
hotspot/agent/make/dumpsyspropswindbg64.bat
Normal file
28
hotspot/agent/make/dumpsyspropswindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.SysPropsDumper %1 %2
|
28
hotspot/agent/make/finalizerinfoproc.sh
Normal file
28
hotspot/agent/make/finalizerinfoproc.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2004 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.FinalizerInfo $*
|
28
hotspot/agent/make/finalizerinfoproc64.sh
Normal file
28
hotspot/agent/make/finalizerinfoproc64.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2004 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.FinalizerInfo $*
|
28
hotspot/agent/make/finalizerinfowindbg.bat
Normal file
28
hotspot/agent/make/finalizerinfowindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.FinalizerInfo %1 %2
|
28
hotspot/agent/make/finalizerinfowindbg64.bat
Normal file
28
hotspot/agent/make/finalizerinfowindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.FinalizerInfo %1 %2
|
30
hotspot/agent/make/grantAll.policy
Normal file
30
hotspot/agent/make/grantAll.policy
Normal file
@ -0,0 +1,30 @@
|
||||
//
|
||||
// Copyright 2000 Sun Microsystems, Inc. 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
|
||||
// under the terms of the GNU General Public License version 2 only, as
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
// version 2 for more details (a copy is included in the LICENSE file that
|
||||
// accompanied this code).
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License version
|
||||
// 2 along with this work; if not, write to the Free Software Foundation,
|
||||
// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
//
|
||||
// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
// CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
// have any questions.
|
||||
//
|
||||
//
|
||||
|
||||
// Do NOT use this policy file in a production system!
|
||||
|
||||
grant {
|
||||
// Allow everything for now
|
||||
permission java.security.AllPermission;
|
||||
};
|
30
hotspot/agent/make/heapdumpproc.sh
Normal file
30
hotspot/agent/make/heapdumpproc.sh
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright 2004-2005 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.HeapDumper $*
|
31
hotspot/agent/make/heapdumpproc64.sh
Normal file
31
hotspot/agent/make/heapdumpproc64.sh
Normal file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright 2004-2005 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.HeapDumper $*
|
||||
|
29
hotspot/agent/make/heapdumpwindbg.bat
Normal file
29
hotspot/agent/make/heapdumpwindbg.bat
Normal file
@ -0,0 +1,29 @@
|
||||
@echo off
|
||||
|
||||
REM
|
||||
REM Copyright 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.HeapDumper %1 %2 %3 %4
|
29
hotspot/agent/make/heapdumpwindbg64.bat
Normal file
29
hotspot/agent/make/heapdumpwindbg64.bat
Normal file
@ -0,0 +1,29 @@
|
||||
@echo off
|
||||
|
||||
REM
|
||||
REM Copyright 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.HeapDumper %1 %2 %3 %4
|
28
hotspot/agent/make/heapsumproc.sh
Normal file
28
hotspot/agent/make/heapsumproc.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.HeapSummary $*
|
28
hotspot/agent/make/heapsumproc64.sh
Normal file
28
hotspot/agent/make/heapsumproc64.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.HeapSummary $*
|
28
hotspot/agent/make/heapsumwindbg.bat
Normal file
28
hotspot/agent/make/heapsumwindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.HeapSummary %1 %2
|
28
hotspot/agent/make/heapsumwindbg64.bat
Normal file
28
hotspot/agent/make/heapsumwindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.HeapSummary %1 %2
|
25
hotspot/agent/make/hsdb.bat
Normal file
25
hotspot/agent/make/hsdb.bat
Normal file
@ -0,0 +1,25 @@
|
||||
REM
|
||||
REM Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
java -showversion -cp ..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar sun.jvm.hotspot.HSDB %1 %2
|
32
hotspot/agent/make/hsdb.sh
Normal file
32
hotspot/agent/make/hsdb.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
STARTDIR=`dirname $0`
|
||||
|
||||
if [ "x$SA_JAVA" = "x" ]; then
|
||||
SA_JAVA=java
|
||||
fi
|
||||
|
||||
$SA_JAVA -showversion -cp $STARTDIR/../build/classes:$STARTDIR/../src/share/lib/maf-1_0.jar:$STARTDIR/../src/share/lib/jlfgr-1_0.jar:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/maf-1_0.jar:$STARTDIR/lib/jlfgr-1_0.jar:$STARTDIR/lib/js.jar sun.jvm.hotspot.HSDB $*
|
28
hotspot/agent/make/hsdbproc.sh
Normal file
28
hotspot/agent/make/hsdbproc.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.HSDB $*
|
28
hotspot/agent/make/hsdbproc64.sh
Normal file
28
hotspot/agent/make/hsdbproc64.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.HSDB $*
|
28
hotspot/agent/make/hsdbwindbg.bat
Normal file
28
hotspot/agent/make/hsdbwindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.HSDB %1 %2
|
28
hotspot/agent/make/hsdbwindbg64.bat
Normal file
28
hotspot/agent/make/hsdbwindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.HSDB %1 %2
|
262
hotspot/agent/make/index.html
Normal file
262
hotspot/agent/make/index.html
Normal file
@ -0,0 +1,262 @@
|
||||
<HTML>
|
||||
|
||||
|
||||
<HEAD>
|
||||
<TITLE>
|
||||
Using The HotSpot Serviceability Agent
|
||||
</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF">
|
||||
<H1>
|
||||
Using The HotSpot Serviceability Agent
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
<H2>
|
||||
Contents
|
||||
</H2>
|
||||
</P>
|
||||
|
||||
<UL>
|
||||
<LI> <A HREF = "#INTRODUCTION">Introduction</A>
|
||||
<LI> <A HREF = "#SOURCES">Organization of the sources</A>
|
||||
<LI> <A HREF = "#RUNNING">Running HSDB</A>
|
||||
<LI> <A HREF = "#NOTES">Notes</A>
|
||||
</UL>
|
||||
|
||||
<H2>
|
||||
<A NAME="INTRODUCTION">
|
||||
Introduction
|
||||
</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
The HotSpot Serviceability Agent (SA) is a set of Java APIs which
|
||||
mirror the internal APIs of the HotSpot VM and which can be used to
|
||||
examine the state of a HotSpot VM.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
The system understands the layout of certain VM data structures and is
|
||||
able to traverse these structures in an examination-only fashion; that
|
||||
is, it does not rely on being able to run code in the target VM. For
|
||||
this reason it transparently works with either a running VM or a core
|
||||
file.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
The system can reconstruct information about Java frames on the stack
|
||||
and objects in the heap. Many of the important data structures in the
|
||||
VM like the CodeCache, Universe, StubQueue, Frames, and VFrames have
|
||||
been exposed and have relatively complete (or at least useful)
|
||||
implementations.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
A small graphical debugger called HSDB (the "HotSpot Debugger") has
|
||||
been written using these APIs. It provides stack memory dumps
|
||||
annotated with method invocations, compiled-code inlining (if
|
||||
present), interpreted vs. compiled code, interpreter codelets (if
|
||||
interpreted), and live oops from oop-map information. It also provides
|
||||
a tree-based oop inspector. More information will be added as
|
||||
necessary; please <A HREF = "mailto:kenneth.russell@eng">send
|
||||
email</A> with suggestions on what would be useful.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
The SA currently only works on Solaris. It uses dbx to connect to the
|
||||
remote process or core file and communicates with a small piece of
|
||||
code (an "import module") loaded into the debugger.
|
||||
</P>
|
||||
|
||||
<H2>
|
||||
<A NAME="SOURCES">
|
||||
Organization of the sources
|
||||
</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
The Java-side source code, which is the bulk of the SA, is in
|
||||
src/share/vm/agent. The organization of the sun.jvm.hotspot package
|
||||
hierarchy mirrors the organization in the VM. This should allow
|
||||
engineers familiar with the HotSpot sources to quickly understand how
|
||||
the SA works and to make modifications if necessary. To build these
|
||||
sources, cd to src/share/vm/agent and type "make".
|
||||
</P>
|
||||
|
||||
<P>
|
||||
|
||||
The SA on Solaris works by communicating with a small piece of code
|
||||
(an "import module") loaded into dbx. The source code for this import
|
||||
module is in src/os/solaris/agent. To build this library, cd to
|
||||
src/os/solaris/agent and type "make 32bit" or "make 64bit". The
|
||||
distinction is necessary because the SPARC version of dbx ships with
|
||||
two versions of its executable, and depending on which architecture
|
||||
(v8 or v9) the debugger is running on selects the appropriate
|
||||
executable. The SA tries the v8 version first, but if you are running
|
||||
on a v9 machine you must provide both versions to the SA.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
|
||||
The system is currently hardwired to look on jano for its dbx
|
||||
executable and import module. The relevant directory structure looks
|
||||
like this:
|
||||
|
||||
<UL>
|
||||
<LI> .../hotspot/sa/
|
||||
<UL>
|
||||
<LI> solaris/
|
||||
<UL>
|
||||
<LI> sparc/
|
||||
<UL>
|
||||
<LI> bin/
|
||||
<UL>
|
||||
<LI> dbx: symlink to (v8) dbx 7.0 executable
|
||||
</UL>
|
||||
</UL>
|
||||
<UL>
|
||||
<LI> lib/
|
||||
<UL>
|
||||
<LI> libsvc_agent_dbx.so: 32-bit version of import module
|
||||
</UL>
|
||||
</UL>
|
||||
<LI> sparcv9/
|
||||
<UL>
|
||||
<LI> lib/
|
||||
<UL>
|
||||
<LI> libsvc_agent_dbx.so: 32-bit version of import module
|
||||
</UL>
|
||||
</UL>
|
||||
</UL>
|
||||
</UL>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
The code which builds up path names to these executables is contained
|
||||
in sun.jvm.hotspot.HotSpotAgent.java. There are hardcoded paths in
|
||||
this file to jano, but the rest of the system is isolated from this.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
(It would be nice to have a panel in the debugger allowing
|
||||
configuration of all of the known operating systems' options; right
|
||||
now Solaris is the only supported OS, making that easier.)
|
||||
</P>
|
||||
|
||||
<H2>
|
||||
<A NAME="RUNNING">
|
||||
Running HSDB
|
||||
</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
An installation of HSDB has been placed on jano. To access it, add the
|
||||
following directory to your PATH:
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
/net/jano/export/disk05/hotspot/sa/bin/common
|
||||
</PRE>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
To start the debugger, type "hsdb".
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Alternatively, you can start a local build of the debugger by building
|
||||
the sources in src/share/vm/agent, cd'ing to that directory, and
|
||||
typing "java sun.jvm.hotspot.HSDB".
|
||||
</P>
|
||||
|
||||
<P>
|
||||
There are three modes for the debugger: attaching to a local process,
|
||||
opening a core file, and attaching to a remote "debug server". The
|
||||
remote case requires two programs to be running on the remote machine:
|
||||
the rmiregistry (see the script "start-rmiregistry" in this directory;
|
||||
run this in the background) and the debug server (see the script
|
||||
"start-debug-server"), in that order. start-rmiregistry takes no
|
||||
arguments; start-debug-server takes as argument the process ID or the
|
||||
executable and core file names to allow remote debugging of. Make sure
|
||||
you do NOT have a CLASSPATH environment variable set when you run
|
||||
these scripts. (The classes put into the rmiregistry are in sun.*, and
|
||||
there are permissions problems if they aren't placed on the boot
|
||||
classpath.)
|
||||
</P>
|
||||
|
||||
<P>
|
||||
NOTE that the SA currently only works against VMs on Solaris/SPARC.
|
||||
Remote debugging of Solaris/SPARC VMs on arbitrary platforms is
|
||||
possible using the debug server; select "Connect to debug server..."
|
||||
in HSDB.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Once the debugger has been launched, the threads list is displayed.
|
||||
The current set of functionality allows:
|
||||
</P>
|
||||
|
||||
<UL>
|
||||
<LI> Browsing of the annotated stack memory ("Stack Memory" button). It
|
||||
is currently annotated with the following information:
|
||||
<UL>
|
||||
<LI> Method names of the Java frames and their extents (supporting
|
||||
inlined compiled methods)
|
||||
<LI> Locations and types of oops, found using the oop map information
|
||||
from compiled methods (interpreter oop maps coming soon)
|
||||
<LI> If a Java frame was interrupted by a signal (e.g., because of a
|
||||
crash), annotates the frame with the signal name and number
|
||||
<LI> Interpreter codelet descriptions for interpreted frames
|
||||
</UL>
|
||||
<LI> Finding which thread or threads caused a crash (currently
|
||||
identified by the presence of a signal handler frame)
|
||||
<LI> Browsing of oops using the Oop Inspector.
|
||||
<LI> Browsing of the java.lang.Thread object's oop.
|
||||
<LI> Object histogram and inspection of objects therein.
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
More functionality is planned. Please <A HREF =
|
||||
"mailto:kenneth.russell@eng">send email</A> with suggestions on what
|
||||
would be useful, with any questions or comments, or if the debugger
|
||||
crashes.
|
||||
</P>
|
||||
|
||||
<H2>
|
||||
<A NAME="NOTES">
|
||||
Notes
|
||||
</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
HSDB does not suspend the system at a safepoint, but at an arbitrary
|
||||
point. This means that many of the invariants in the VM's code are not
|
||||
followed.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
As it happens, most of the places where the code ported over from the
|
||||
VM has failed involve the topmost frame on the stack. Some
|
||||
modifications have been made to allow the system to recognize
|
||||
problematic situations.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Certainly, not all of the failure modes of the debugger have been
|
||||
found. Please <A HREF = "mailto:kenneth.russell@eng">send email</A> if
|
||||
HSDB throws an exception. The best debugging aid in these situations
|
||||
is a core file since it is a static view of the VM to which we can
|
||||
then adapt the debugger code, as opposed to having to try to suspend
|
||||
the VM over and over to reproduce the failure. gcore (1) is a useful
|
||||
tool. (NOTE: do not try gcore with any application using the DGA X
|
||||
server extension (example: Java2Demo); the kernel will panic. See bug
|
||||
4343237.)
|
||||
</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
31
hotspot/agent/make/jcoreproc.sh
Normal file
31
hotspot/agent/make/jcoreproc.sh
Normal file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
# set the environment variable JCORE_PACKAGES to a comma separated list of
|
||||
# packages whose classes have to be retrieved from the core file.
|
||||
|
||||
$SA_JAVA_CMD -Dsun.jvm.hotspot.tools.jcore.filter=sun.jvm.hotspot.tools.jcore.PackageNameFilter -Dsun.jvm.hotspot.tools.jcore.PackageNameFilter.pkgList=$JCORE_PACKAGES sun.jvm.hotspot.tools.jcore.ClassDump $*
|
31
hotspot/agent/make/jcoreproc64.sh
Normal file
31
hotspot/agent/make/jcoreproc64.sh
Normal file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
# set the environment variable JCORE_PACKAGES to a comma separated list of
|
||||
# packages whose classes have to be retrieved from the core file.
|
||||
|
||||
$SA_JAVA_CMD -Dsun.jvm.hotspot.tools.jcore.filter=sun.jvm.hotspot.tools.jcore.PackageNameFilter -Dsun.jvm.hotspot.tools.jcore.PackageNameFilter.pkgList=$JCORE_PACKAGES sun.jvm.hotspot.tools.jcore.ClassDump $*
|
33
hotspot/agent/make/jcorewindbg.bat
Normal file
33
hotspot/agent/make/jcorewindbg.bat
Normal file
@ -0,0 +1,33 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
REM set the environment variable JCORE_PACKAGES to comman separated list of
|
||||
REM packages whose classes have to be retrieved from the core file.
|
||||
|
||||
%SA_JAVA_CMD% -Dsun.jvm.hotspot.tools.jcore.filter=sun.jvm.hotspot.tools.jcore.PackageNameFilter -Dsun.jvm.hotspot.tools.jcore.PackageNameFilter.pkgList=%JCORE_PACKAGES% sun.jvm.hotspot.tools.jcore.ClassDump %1 %2
|
||||
|
||||
|
33
hotspot/agent/make/jcorewindbg64.bat
Normal file
33
hotspot/agent/make/jcorewindbg64.bat
Normal file
@ -0,0 +1,33 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
REM set the environment variable JCORE_PACKAGES to comman separated list of
|
||||
REM packages whose classes have to be retrieved from the core file.
|
||||
|
||||
%SA_JAVA_CMD% -Dsun.jvm.hotspot.tools.jcore.filter=sun.jvm.hotspot.tools.jcore.PackageNameFilter -Dsun.jvm.hotspot.tools.jcore.PackageNameFilter.pkgList=%JCORE_PACKAGES% sun.jvm.hotspot.tools.jcore.ClassDump %1 %2
|
||||
|
||||
|
45
hotspot/agent/make/jdbcore.sh
Normal file
45
hotspot/agent/make/jdbcore.sh
Normal file
@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "usage: $0 <java executable> <core file>"
|
||||
exit 1
|
||||
}
|
||||
#
|
||||
if [ $# -lt 2 ]; then
|
||||
usage
|
||||
else
|
||||
EXEC_FILE="${1}"
|
||||
CORE_FILE="${2}"
|
||||
echo "$0 attaching to core=${CORE_FILE}"
|
||||
fi
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$JAVA_HOME/bin/jdb -J-Xbootclasspath/a:$SA_CLASSPATH:$JAVA_HOME/lib/tools.jar \
|
||||
-J-Dsun.boot.library.path=$JAVA_HOME/jre/lib/$CPU:$SA_LIBPATH \
|
||||
-connect sun.jvm.hotspot.jdi.SACoreAttachingConnector:core=${CORE_FILE},javaExecutable=${EXEC_FILE}
|
45
hotspot/agent/make/jdbcore64.sh
Normal file
45
hotspot/agent/make/jdbcore64.sh
Normal file
@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "usage: $0 <java executable> <core file>"
|
||||
exit 1
|
||||
}
|
||||
#
|
||||
if [ $# -lt 2 ]; then
|
||||
usage
|
||||
else
|
||||
EXEC_FILE="${1}"
|
||||
CORE_FILE="${2}"
|
||||
echo "$0 attaching to core=${CORE_FILE}"
|
||||
fi
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$JAVA_HOME/bin/jdb -J-d64 -J-Xbootclasspath/a:$SA_CLASSPATH:$JAVA_HOME/lib/tools.jar \
|
||||
-J-Dsun.boot.library.path=$JAVA_HOME/jre/lib/$CPU:$SA_LIBPATH \
|
||||
-connect sun.jvm.hotspot.jdi.SACoreAttachingConnector:core=${CORE_FILE},javaExecutable=${EXEC_FILE}
|
44
hotspot/agent/make/jdbproc.sh
Normal file
44
hotspot/agent/make/jdbproc.sh
Normal file
@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "usage: $0 <java process ID>"
|
||||
exit 1
|
||||
}
|
||||
#
|
||||
if [ $# -lt 1 ]; then
|
||||
usage
|
||||
else
|
||||
PID="${1}"
|
||||
echo "$0 attaching to PID=${PID}"
|
||||
fi
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$JAVA_HOME/bin/jdb -J-Xbootclasspath/a:$SA_CLASSPATH:$JAVA_HOME/lib/tools.jar \
|
||||
-J-Dsun.boot.library.path=$JAVA_HOME/jre/lib/$CPU:$SA_LIBPATH \
|
||||
-connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector:pid=${PID}
|
44
hotspot/agent/make/jdbproc64.sh
Normal file
44
hotspot/agent/make/jdbproc64.sh
Normal file
@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "usage: $0 <java process ID>"
|
||||
exit 1
|
||||
}
|
||||
#
|
||||
if [ $# -lt 1 ]; then
|
||||
usage
|
||||
else
|
||||
PID="${1}"
|
||||
echo "$0 attaching to PID=${PID}"
|
||||
fi
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$JAVA_HOME/bin/jdb -J-d64 -J-Xbootclasspath/a:$SA_CLASSPATH:$JAVA_HOME/lib/tools.jar \
|
||||
-J-Dsun.boot.library.path=$JAVA_HOME/jre/lib/$CPU:$SA_LIBPATH \
|
||||
-connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector:pid=${PID}
|
||||
|
28
hotspot/agent/make/jhistoproc.sh
Normal file
28
hotspot/agent/make/jhistoproc.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.ObjectHistogram $*
|
28
hotspot/agent/make/jhistoproc64.sh
Normal file
28
hotspot/agent/make/jhistoproc64.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.ObjectHistogram $*
|
28
hotspot/agent/make/jhistowindbg.bat
Normal file
28
hotspot/agent/make/jhistowindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.ObjectHistogram %1 %2
|
28
hotspot/agent/make/jhistowindbg64.bat
Normal file
28
hotspot/agent/make/jhistowindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.ObjectHistogram %1 %2
|
30
hotspot/agent/make/jsdbproc.sh
Normal file
30
hotspot/agent/make/jsdbproc.sh
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright 2004 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.soql.JSDB $*
|
30
hotspot/agent/make/jsdbproc64.sh
Normal file
30
hotspot/agent/make/jsdbproc64.sh
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright 2004 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.JSDB $*
|
29
hotspot/agent/make/jsdbwindbg.bat
Normal file
29
hotspot/agent/make/jsdbwindbg.bat
Normal file
@ -0,0 +1,29 @@
|
||||
@echo off
|
||||
|
||||
REM
|
||||
REM Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.soql.JSDB %1 %2
|
29
hotspot/agent/make/jsdbwindbg64.bat
Normal file
29
hotspot/agent/make/jsdbwindbg64.bat
Normal file
@ -0,0 +1,29 @@
|
||||
@echo off
|
||||
|
||||
REM
|
||||
REM Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.soql.JSDB %1 %2
|
28
hotspot/agent/make/jstackproc.sh
Normal file
28
hotspot/agent/make/jstackproc.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.StackTrace $*
|
28
hotspot/agent/make/jstackproc64.sh
Normal file
28
hotspot/agent/make/jstackproc64.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.StackTrace $*
|
28
hotspot/agent/make/jstackwindbg.bat
Normal file
28
hotspot/agent/make/jstackwindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.StackTrace %1 %2
|
28
hotspot/agent/make/jstackwindbg64.bat
Normal file
28
hotspot/agent/make/jstackwindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.StackTrace %1 %2
|
99
hotspot/agent/make/marks_notes.html
Normal file
99
hotspot/agent/make/marks_notes.html
Normal file
@ -0,0 +1,99 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Hotspot SA User Interface Notes</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Hotspot SA User Interface Notes</h1>
|
||||
|
||||
<h2>Workspace and Building</h2>
|
||||
|
||||
<p>
|
||||
All the source code for the Serviceability Agent is in
|
||||
<code>src/share/vm/agent</code> in the HotSport workspace
|
||||
<code>/net/jano.sfbay/export/disk05/hotspot/ws/1.4/sa_baseline</code>
|
||||
<p>
|
||||
You can build the project by typing <code>gnumake</code> in the
|
||||
<code>src/share/vm/agent</code> directory.
|
||||
<p>
|
||||
You can also use the default build target using the Ant build file (build.xml). You can download Ant from
|
||||
<a href="http://jakarta.apache.org/ant">http://jakarta.apache.org/ant</a>. Documentation for Ant can be
|
||||
found at <a href="http://jakarta.apache.org/ant/manual/index.html">http://jakarta.apache.org/ant/manual/index.html</a>
|
||||
|
||||
|
||||
<h2>Running the project</h2>
|
||||
|
||||
<ul>
|
||||
<li><code>java -cp classes sun.jvm.hotspot.HSDB</code>
|
||||
<li><code>java -cp classes sun.jvm.hotspot.bugspot.Main</code>
|
||||
</ul>
|
||||
|
||||
<h2>Feedback</h2>
|
||||
<p>
|
||||
Refactoring of package hierarchy. All user interface components should be in
|
||||
the ui package. Perhaps: sun.jvm.hotspot.ui.hsdb.Main for the HSDB and
|
||||
sun.jvm.hotspot.ui.bugspot.Main for BugSpot.
|
||||
<p>
|
||||
The src\share\vm\agent area seems like a workspace so it should be organized like
|
||||
one. In particular, I'd like to suggest the following directory layout:<br>
|
||||
|
||||
<ul>
|
||||
<li>src: All sources that are curently under the sun directory.
|
||||
<li>classes: compiled class files.
|
||||
<li>lib: Resources like images, icons and jar files.
|
||||
<li>docs: Documentation
|
||||
<li>deploy: distribution bundles for Java Web Start.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Seems like there is a lot of redundant functionality. Between the HSDB and BugSpot. Perhaps
|
||||
this can be consolidated with a <code>javax.swing.Actions</code> architecture.
|
||||
|
||||
<h2>Tasklist</h2>
|
||||
|
||||
<p>
|
||||
<b>Stack memory pane</b>:
|
||||
It's one of the more useful JVM debugging tools in the SA. However, it
|
||||
doesn't support any interaction with the text; the Memory Panel in BugSpot
|
||||
was written afterward (with help from Shannon) and implements proper
|
||||
selection, scrolling, and drag-and-drop, but no annotations. I'm not sure how
|
||||
to integrate the annotations with the JTable that's being used for the memory
|
||||
view; if you have suggestions here please let me know.
|
||||
<p>
|
||||
<b>Integrations with the NetBeans architecture (plug in).</b> See the
|
||||
<a href="http://openide.netbeans.org">Netbeans Open APIs homepage</a>
|
||||
|
||||
|
||||
<p>
|
||||
HSDB: Object Histogram. Column sizes should be sized according the the
|
||||
contents. i.e, The size and count columns should be narrow enought to
|
||||
handle the largest window. Since there is a lot of data, sorting
|
||||
and searching should be implemented.
|
||||
<p>
|
||||
|
||||
<h2>Log</h2>
|
||||
|
||||
<i>Last modified: Tue Feb 05 19:15:12 Pacific Standard Time 2002</i>
|
||||
<p>
|
||||
sun.jvm.hotspot.oops.ObjectHistogram should be the underlying data
|
||||
structure for the TableModels. It shouldnt bother with sorting the data -
|
||||
the table model should do that. It should implement these methods:
|
||||
|
||||
<pre>
|
||||
public int getSize()
|
||||
public ObjectHistogramElement getElementAt(int row);
|
||||
</pre>
|
||||
<p>
|
||||
ObjectHistogramElement should return the String that represents
|
||||
the third column
|
||||
|
||||
|
||||
<hr>
|
||||
<address><a href="mailto:mark.davidson@sun.com">Mark Davidson</a></address>
|
||||
<!-- Created: Mon Jan 28 14:33:47 Pacific Standard Time 2002 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: Tue Feb 05 20:05:13 Pacific Standard Time 2002
|
||||
<!-- hhmts end -->
|
||||
</body>
|
||||
</html>
|
146
hotspot/agent/make/mkinstall
Normal file
146
hotspot/agent/make/mkinstall
Normal file
@ -0,0 +1,146 @@
|
||||
|
||||
# make the directories
|
||||
|
||||
SA_NAME=sa17
|
||||
SA_TEST=$SA_NAME/test
|
||||
|
||||
mkdir $SA_NAME
|
||||
mkdir $SA_NAME/solaris
|
||||
mkdir $SA_NAME/solaris/amd64
|
||||
mkdir $SA_NAME/solaris/sparc
|
||||
mkdir $SA_NAME/solaris/sparcv9
|
||||
mkdir $SA_NAME/solaris/i386
|
||||
mkdir $SA_NAME/linux
|
||||
mkdir $SA_NAME/linux/i386
|
||||
mkdir $SA_NAME/linux/ia64
|
||||
mkdir $SA_NAME/linux/amd64
|
||||
mkdir $SA_NAME/win32
|
||||
mkdir $SA_NAME/win32/i386
|
||||
mkdir $SA_NAME/win32/ia64
|
||||
mkdir $SA_NAME/win32/amd64
|
||||
mkdir $SA_TEST
|
||||
|
||||
# make sa.jar
|
||||
jar -cvf $SA_NAME/sa.jar -C ../build/classes .
|
||||
|
||||
# copy the native libraries
|
||||
|
||||
cp ../src/os/solaris/proc/amd64/libsaproc.so $SA_NAME/solaris/amd64
|
||||
cp ../src/os/solaris/proc/sparc/libsaproc.so $SA_NAME/solaris/sparc
|
||||
cp ../src/os/solaris/proc/sparcv9/libsaproc.so $SA_NAME/solaris/sparcv9
|
||||
cp ../src/os/solaris/proc/i386/libsaproc.so $SA_NAME/solaris/i386
|
||||
cp ../src/os/linux/i386/libsaproc.so $SA_NAME/linux/i386
|
||||
cp ../src/os/linux/ia64/libsaproc.so $SA_NAME/linux/ia64
|
||||
cp ../src/os/linux/amd64/libsaproc.so $SA_NAME/linux/amd64
|
||||
cp ../src/os/win32/windbg/i386/sawindbg.dll $SA_NAME/win32/i386
|
||||
cp ../src/os/win32/windbg/ia64/sawindbg.dll $SA_NAME/win32/ia64
|
||||
cp ../src/os/win32/windbg/amd64/sawindbg.dll $SA_NAME/win32/amd64
|
||||
|
||||
# copy Unix (Solaris and Linux) shell scripts
|
||||
cp saenv.sh $SA_NAME ; chmod 755 $SA_NAME/saenv.sh
|
||||
cp saenv64.sh $SA_NAME ; chmod 755 $SA_NAME/saenv64.sh
|
||||
cp clhsdbproc.sh $SA_NAME ; chmod 755 $SA_NAME/clhsdbproc.sh
|
||||
cp clhsdbproc64.sh $SA_NAME ; chmod 755 $SA_NAME/clhsdbproc64.sh
|
||||
cp dumpflagsproc.sh $SA_NAME ; chmod 755 $SA_NAME/dumpflagsproc.sh
|
||||
cp dumpflagsproc64.sh $SA_NAME ; chmod 755 $SA_NAME/dumpflagsproc64.sh
|
||||
cp dumpsyspropsproc.sh $SA_NAME ; chmod 755 $SA_NAME/dumpsyspropsproc.sh
|
||||
cp dumpsyspropsproc64.sh $SA_NAME ; chmod 755 $SA_NAME/dumpsyspropsproc64.sh
|
||||
cp finalizerinfoproc.sh $SA_NAME ; chmod 755 $SA_NAME/finalizerinfoproc.sh
|
||||
cp finalizerinfoproc64.sh $SA_NAME ; chmod 755 $SA_NAME/finalizerinfoproc64.sh
|
||||
cp heapdumpproc.sh $SA_NAME ; chmod 755 $SA_NAME/heapdumpproc.sh
|
||||
cp heapdumpproc64.sh $SA_NAME ; chmod 755 $SA_NAME/heapdumpproc64.sh
|
||||
cp heapsumproc.sh $SA_NAME ; chmod 755 $SA_NAME/heapsumproc.sh
|
||||
cp heapsumproc64.sh $SA_NAME ; chmod 755 $SA_NAME/heapsumproc64.sh
|
||||
cp hsdbproc.sh $SA_NAME ; chmod 755 $SA_NAME/hsdbproc.sh
|
||||
cp hsdbproc64.sh $SA_NAME ; chmod 755 $SA_NAME/hsdbproc64.sh
|
||||
cp jcoreproc.sh $SA_NAME ; chmod 755 $SA_NAME/jcoreproc.sh
|
||||
cp jcoreproc64.sh $SA_NAME ; chmod 755 $SA_NAME/jcoreproc64.sh
|
||||
cp jdbcore.sh $SA_NAME ; chmod 755 $SA_NAME/jdbcore.sh
|
||||
cp jdbcore64.sh $SA_NAME ; chmod 755 $SA_NAME/jdbcore64.sh
|
||||
cp jdbproc.sh $SA_NAME ; chmod 755 $SA_NAME/jdbproc.sh
|
||||
cp jdbproc64.sh $SA_NAME ; chmod 755 $SA_NAME/jdbproc64.sh
|
||||
cp jhistoproc.sh $SA_NAME ; chmod 755 $SA_NAME/jhistoproc.sh
|
||||
cp jhistoproc64.sh $SA_NAME ; chmod 755 $SA_NAME/jhistoproc64.sh
|
||||
cp jsdbproc.sh $SA_NAME ; chmod 755 $SA_NAME/jsdbproc.sh
|
||||
cp jsdbproc64.sh $SA_NAME ; chmod 755 $SA_NAME/jsdbproc64.sh
|
||||
cp jstackproc.sh $SA_NAME ; chmod 755 $SA_NAME/jstackproc.sh
|
||||
cp jstackproc64.sh $SA_NAME ; chmod 755 $SA_NAME/jstackproc64.sh
|
||||
cp permstatproc.sh $SA_NAME ; chmod 755 $SA_NAME/permstatproc.sh
|
||||
cp permstatproc64.sh $SA_NAME ; chmod 755 $SA_NAME/permstatproc64.sh
|
||||
cp pmapproc.sh $SA_NAME ; chmod 755 $SA_NAME/pmapproc.sh
|
||||
cp pmapproc64.sh $SA_NAME ; chmod 755 $SA_NAME/pmapproc64.sh
|
||||
cp pstackproc.sh $SA_NAME ; chmod 755 $SA_NAME/pstackproc.sh
|
||||
cp pstackproc64.sh $SA_NAME ; chmod 755 $SA_NAME/pstackproc64.sh
|
||||
cp soqlproc.sh $SA_NAME ; chmod 755 $SA_NAME/soqlproc.sh
|
||||
cp soqlproc64.sh $SA_NAME ; chmod 755 $SA_NAME/soqlproc64.sh
|
||||
cp start-debug-server $SA_NAME ; chmod 755 $SA_NAME/start-debug-server
|
||||
cp start-debug-server-proc.sh $SA_NAME ; chmod 755 $SA_NAME/start-debug-server-proc.sh
|
||||
cp start-debug-server-proc64.sh $SA_NAME ; chmod 755 $SA_NAME/start-debug-server-proc64.sh
|
||||
cp start-rmiregistry.sh $SA_NAME ; chmod 755 $SA_NAME/start-rmiregistry.sh
|
||||
|
||||
# copy Windows batch files
|
||||
cp saenv.bat $SA_NAME ; chmod 755 $SA_NAME/saenv.bat
|
||||
cp saenv64.bat $SA_NAME ; chmod 755 $SA_NAME/saenv64.bat
|
||||
cp clhsdbwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/clhsdbwindbg.bat
|
||||
cp clhsdbwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/clhsdbwindbg64.bat
|
||||
cp dumpflagswindbg.bat $SA_NAME ; chmod 755 $SA_NAME/dumpflagswindbg.bat
|
||||
cp dumpflagswindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/dumpflagswindbg64.bat
|
||||
cp dumpsyspropswindbg.bat $SA_NAME ; chmod 755 $SA_NAME/dumpsyspropswindbg.bat
|
||||
cp dumpsyspropswindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/dumpsyspropswindbg64.bat
|
||||
cp finalizerinfowindbg.bat $SA_NAME ; chmod 755 $SA_NAME/finalizerinfowindbg.bat
|
||||
cp finalizerinfowindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/finalizerinfowindbg64.bat
|
||||
cp heapdumpwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/heapdumpwindbg.bat
|
||||
cp heapdumpwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/heapdumpwindbg64.bat
|
||||
cp heapsumwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/heapsumwindbg.bat
|
||||
cp heapsumwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/heapsumwindbg64.bat
|
||||
cp hsdbwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/hsdbwindbg.bat
|
||||
cp hsdbwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/hsdbwindbg64.bat
|
||||
cp jcorewindbg.bat $SA_NAME ; chmod 755 $SA_NAME/jcorewindbg.bat
|
||||
cp jcorewindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/jcorewindbg64.bat
|
||||
cp jhistowindbg.bat $SA_NAME ; chmod 755 $SA_NAME/jhistowindbg.bat
|
||||
cp jhistowindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/jhistowindbg64.bat
|
||||
cp jsdbwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/jsdbwindbg.bat
|
||||
cp jsdbwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/jsdbwindbg64.bat
|
||||
cp jstackwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/jstackwindbg.bat
|
||||
cp jstackwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/jstackwindbg64.bat
|
||||
cp permstatwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/permstatwindbg.bat
|
||||
cp permstatwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/permstatwindbg64.bat
|
||||
cp pmapwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/pmapwindbg.bat
|
||||
cp pmapwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/pmapwindbg64.bat
|
||||
cp pstackwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/pstackwindbg.bat
|
||||
cp pstackwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/pstackwindbg64.bat
|
||||
cp soqlwindbg.bat $SA_NAME ; chmod 755 $SA_NAME/soqlwindbg.bat
|
||||
cp soqlwindbg64.bat $SA_NAME ; chmod 755 $SA_NAME/soqlwindbg64.bat
|
||||
cp start-debug-server-windbg.bat $SA_NAME ; chmod 755 $SA_NAME/start-debug-server-windbg.bat
|
||||
cp start-debug-server-windbg64.bat $SA_NAME ; chmod 755 $SA_NAME/start-debug-server-windbg64.bat
|
||||
cp start-rmiregistry.bat $SA_NAME ; chmod 755 $SA_NAME/start-rmiregistry.bat
|
||||
|
||||
|
||||
# make the libproc test
|
||||
cd ../test/libproc ; make; cd ../../make
|
||||
|
||||
# copy libproc test suite
|
||||
|
||||
cp ../test/libproc/README $SA_TEST/README-libproc
|
||||
cp ../test/libproc/libproctest.sh $SA_TEST ; chmod 755 $SA_TEST/libproctest.sh
|
||||
cp ../test/libproc/libproctest64.sh $SA_TEST ; chmod 755 $SA_TEST/libproctest64.sh
|
||||
cp ../test/libproc/*.class $SA_TEST
|
||||
|
||||
# copy RMI security policy file
|
||||
cp grantAll.policy $SA_NAME
|
||||
|
||||
# copy documentation
|
||||
mkdir $SA_NAME/doc
|
||||
cp ../doc/*.html $SA_NAME/doc
|
||||
chmod 644 $SA_NAME/doc/*.html
|
||||
|
||||
# make lib dir and copy other jar files
|
||||
mkdir $SA_NAME/lib
|
||||
cp ../src/share/lib/*.jar $SA_NAME/lib
|
||||
|
||||
# tar and gzip
|
||||
tar -cvf $SA_NAME.tar $SA_NAME
|
||||
gzip $SA_NAME.tar
|
||||
|
||||
# cleanup
|
||||
\rm -rf $SA_NAME
|
28
hotspot/agent/make/permstatproc.sh
Normal file
28
hotspot/agent/make/permstatproc.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003-2004 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.PermStat $*
|
28
hotspot/agent/make/permstatproc64.sh
Normal file
28
hotspot/agent/make/permstatproc64.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003-2004 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.PermStat $*
|
28
hotspot/agent/make/permstatwindbg.bat
Normal file
28
hotspot/agent/make/permstatwindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.PermStat %1 %2
|
28
hotspot/agent/make/permstatwindbg64.bat
Normal file
28
hotspot/agent/make/permstatwindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.PermStat %1 %2
|
28
hotspot/agent/make/pmapproc.sh
Normal file
28
hotspot/agent/make/pmapproc.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.PMap $*
|
29
hotspot/agent/make/pmapproc64.sh
Normal file
29
hotspot/agent/make/pmapproc64.sh
Normal file
@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.PMap $*
|
||||
|
28
hotspot/agent/make/pmapwindbg.bat
Normal file
28
hotspot/agent/make/pmapwindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.PMap %1 %2
|
28
hotspot/agent/make/pmapwindbg64.bat
Normal file
28
hotspot/agent/make/pmapwindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.PMap %1 %2
|
34
hotspot/agent/make/pstackproc.sh
Normal file
34
hotspot/agent/make/pstackproc.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
type c++filt 1>/dev/null 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.PStack $* | c++filt
|
||||
else
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.PStack $*
|
||||
fi
|
||||
|
34
hotspot/agent/make/pstackproc64.sh
Normal file
34
hotspot/agent/make/pstackproc64.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
type c++filt 1>/dev/null 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.PStack $* | c++filt
|
||||
else
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.PStack $*
|
||||
fi
|
||||
|
28
hotspot/agent/make/pstackwindbg.bat
Normal file
28
hotspot/agent/make/pstackwindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.PStack %1 %2
|
28
hotspot/agent/make/pstackwindbg64.bat
Normal file
28
hotspot/agent/make/pstackwindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.PStack %1 %2
|
54
hotspot/agent/make/saenv.bat
Normal file
54
hotspot/agent/make/saenv.bat
Normal file
@ -0,0 +1,54 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
REM This is common environment settings for all SA
|
||||
REM windows batch scripts
|
||||
|
||||
REM set jre\bin and jre\bin\client (or server) in PATH
|
||||
REM WINDBG_HOME must point to the Windows Debugging Tools
|
||||
REM installation directory
|
||||
|
||||
if "%SA_JAVA%" == "" goto no_sa_java
|
||||
|
||||
goto sa_java_set
|
||||
|
||||
:no_sa_java
|
||||
set SA_JAVA=java
|
||||
|
||||
:sa_java_set
|
||||
|
||||
set SA_CLASSPATH=..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar
|
||||
|
||||
set SA_LIBPATH=..\src\os\win32\windbg\i386;.\win32\i386
|
||||
|
||||
set OPTIONS=-Dsun.jvm.hotspot.debugger.useWindbgDebugger
|
||||
set OPTIONS=-Dsun.jvm.hotspot.debugger.windbg.imagePath="%PATH%" %OPTIONS%
|
||||
set OPTIONS=-Dsun.jvm.hotspot.debugger.windbg.sdkHome="%WINDBG_HOME%" %OPTIONS%
|
||||
|
||||
if "%SA_DISABLE_VERS_CHK%" == "" goto vers_chk
|
||||
set OPTIONS="-Dsun.jvm.hotspot.runtime.VM.disableVersionCheck %OPTIONS%"
|
||||
|
||||
:vers_chk
|
||||
set SA_JAVA_CMD=%SA_JAVA% -showversion -cp %SA_CLASSPATH% -Djava.library.path=%SA_LIBPATH% %OPTIONS%
|
65
hotspot/agent/make/saenv.sh
Normal file
65
hotspot/agent/make/saenv.sh
Normal file
@ -0,0 +1,65 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
# This file sets common environment variables for all SA scripts
|
||||
|
||||
OS=`uname`
|
||||
STARTDIR=`dirname $0`
|
||||
ARCH=`uname -m`
|
||||
|
||||
if [ "x$SA_JAVA" = "x" ]; then
|
||||
SA_JAVA=java
|
||||
fi
|
||||
|
||||
if [ "$OS" = "Linux" ]; then
|
||||
if [ "$ARCH" = "ia64" ] ; then
|
||||
SA_LIBPATH=$STARTDIR/../src/os/linux/ia64:$STARTDIR/linux/ia64
|
||||
OPTIONS="-Dsa.library.path=$SA_LIBPATH"
|
||||
CPU=ia64
|
||||
elif [ "$ARCH" = "x86_64" ] ; then
|
||||
SA_LIBPATH=$STARTDIR/../src/os/linux/amd64:$STARTDIR/linux/amd64
|
||||
OPTIONS="-Dsa.library.path=$SA_LIBPATH"
|
||||
CPU=amd64
|
||||
else
|
||||
SA_LIBPATH=$STARTDIR/../src/os/linux/i386:$STARTDIR/linux/i386
|
||||
OPTIONS="-Dsa.library.path=$SA_LIBPATH"
|
||||
CPU=i386
|
||||
fi
|
||||
else
|
||||
SA_LIBPATH=$STARTDIR/../src/os/solaris/proc/`uname -p`:$STARTDIR/solaris/`uname -p`
|
||||
OPTIONS="-Dsa.library.path=$SA_LIBPATH -Dsun.jvm.hotspot.debugger.useProcDebugger"
|
||||
CPU=sparc
|
||||
fi
|
||||
|
||||
if [ "x$SA_DISABLE_VERS_CHK" != "x" ]; then
|
||||
OPTIONS="-Dsun.jvm.hotspot.runtime.VM.disableVersionCheck ${OPTIONS}"
|
||||
fi
|
||||
|
||||
|
||||
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/maf-1_0.jar:$STARTDIR/../src/share/lib/jlfgr-1_0.jar:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/maf-1_0.jar:$STARTDIR/lib/jlfgr-1_0.jar:$STARTDIR/lib/js.jar
|
||||
|
||||
OPTIONS="-Djava.system.class.loader=sun.jvm.hotspot.SALauncherLoader ${OPTIONS}"
|
||||
|
||||
SA_JAVA_CMD="$SA_PREFIX_CMD $SA_JAVA -showversion ${OPTIONS} -cp $SA_CLASSPATH $SA_OPTIONS"
|
60
hotspot/agent/make/saenv64.bat
Normal file
60
hotspot/agent/make/saenv64.bat
Normal file
@ -0,0 +1,60 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
REM FIXME: How do I detect processor on Windows so that
|
||||
REM AMD-64/IA-64 could be detected? Should I assume
|
||||
REM MKS/Cygwin here?
|
||||
|
||||
REM This is common environment settings for all SA
|
||||
REM windows batch scripts
|
||||
|
||||
REM set jre\bin and jre\bin\client (or server) in PATH
|
||||
REM WINDBG_HOME must point to the Windows Debugging Tools
|
||||
REM installation directory.
|
||||
|
||||
if "%SA_JAVA%" == "" goto no_sa_java
|
||||
|
||||
goto sa_java_set
|
||||
|
||||
:no_sa_java
|
||||
set SA_JAVA=java
|
||||
|
||||
:sa_java_set
|
||||
|
||||
set SA_CLASSPATH=..\build\classes;..\src\share\lib\maf-1_0.jar;..\src\share\lib\jlfgr-1_0.jar;..\src\share\lib\js.jar;sa.jar;lib\maf-1_0.jar;lib\jlfgr-1_0.jar;lib\js.jar
|
||||
|
||||
REM For now, only AMD-64, IA-64 stack walking is not working anyway
|
||||
set SA_LIBPATH=.\src\os\win32\windbg\amd64;.\win32\amd64
|
||||
|
||||
set OPTIONS=-Dsun.jvm.hotspot.debugger.useWindbgDebugger
|
||||
set OPTIONS=-Dsun.jvm.hotspot.debugger.windbg.imagePath="%PATH%" %OPTIONS%
|
||||
set OPTIONS=-Dsun.jvm.hotspot.debugger.windbg.sdkHome="%WINDBG_HOME%" %OPTIONS%
|
||||
|
||||
if "%SA_DISABLE_VERS_CHK%" == "" goto vers_chk
|
||||
set OPTIONS="-Dsun.jvm.hotspot.runtime.VM.disableVersionCheck %OPTIONS%"
|
||||
|
||||
:vers_chk
|
||||
|
||||
set SA_JAVA_CMD=%SA_JAVA% -showversion -cp %SA_CLASSPATH% -Djava.library.path=.%SA_LIBPATH% %OPTIONS%
|
62
hotspot/agent/make/saenv64.sh
Normal file
62
hotspot/agent/make/saenv64.sh
Normal file
@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003-2005 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
# This file sets common environment variables for all 64-bit Solaris [sparcv9,
|
||||
# amd64] SA scripts. Please note that for 64-bit Linux use saenv.sh.
|
||||
|
||||
OS=`uname`
|
||||
STARTDIR=`dirname $0`
|
||||
|
||||
CPU=`isainfo | grep sparcv9`
|
||||
|
||||
if [ "x$CPU" != "x" ]; then
|
||||
CPU=sparcv9
|
||||
else
|
||||
CPU=`isainfo | grep amd64`
|
||||
if [ "x$CPU" != "x" ]; then
|
||||
CPU=amd64
|
||||
else
|
||||
echo "unknown CPU, only sparcv9, amd64 are supported!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
SA_LIBPATH=$STARTDIR/../src/os/solaris/proc/$CPU:$STARTDIR/solaris/$CPU
|
||||
|
||||
OPTIONS="-Dsa.library.path=$SA_LIBPATH -Dsun.jvm.hotspot.debugger.useProcDebugger"
|
||||
|
||||
if [ "x$SA_JAVA" = "x" ]; then
|
||||
SA_JAVA=java
|
||||
fi
|
||||
|
||||
if [ "x$SA_DISABLE_VERS_CHK" != "x" ]; then
|
||||
OPTIONS="-Dsun.jvm.hotspot.runtime.VM.disableVersionCheck ${OPTIONS}"
|
||||
fi
|
||||
|
||||
SA_CLASSPATH=$STARTDIR/../build/classes:$STARTDIR/../src/share/lib/maf-1_0.jar:$STARTDIR/../src/share/lib/jlfgr-1_0.jar:$STARTDIR/../src/share/lib/js.jar:$STARTDIR/sa.jar:$STARTDIR/lib/maf-1_0.jar:$STARTDIR/lib/jlfgr-1_0.jar:$STARTDIR/lib/js.jar
|
||||
|
||||
OPTIONS="-Djava.system.class.loader=sun.jvm.hotspot.SALauncherLoader ${OPTIONS}"
|
||||
|
||||
SA_JAVA_CMD="$SA_PREFIX_CMD $SA_JAVA -d64 -showversion ${OPTIONS} -cp $SA_CLASSPATH $SA_OPTIONS"
|
28
hotspot/agent/make/soqlproc.sh
Normal file
28
hotspot/agent/make/soqlproc.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.soql.SOQL $*
|
28
hotspot/agent/make/soqlproc64.sh
Normal file
28
hotspot/agent/make/soqlproc64.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
$SA_JAVA_CMD sun.jvm.hotspot.tools.soql.SOQL $*
|
28
hotspot/agent/make/soqlwindbg.bat
Normal file
28
hotspot/agent/make/soqlwindbg.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.soql.SOQL %1 %2
|
28
hotspot/agent/make/soqlwindbg64.bat
Normal file
28
hotspot/agent/make/soqlwindbg64.bat
Normal file
@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
%SA_JAVA_CMD% sun.jvm.hotspot.tools.soql.SOQL %1 %2
|
18
hotspot/agent/make/start-debug-server
Normal file
18
hotspot/agent/make/start-debug-server
Normal file
@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
STARTDIR=`dirname $0`
|
||||
|
||||
if [ "x$SA_JAVA" = "x" ]; then
|
||||
SA_JAVA=java
|
||||
fi
|
||||
|
||||
if [ -f $STARTDIR/sa.jar ] ; then
|
||||
CP=$STARTDIR/sa.jar
|
||||
else
|
||||
CP=$STARTDIR/../build/classes
|
||||
fi
|
||||
|
||||
# License file for development version of dbx
|
||||
setenv LM_LICENSE_FILE 7588@extend.eng:/usr/dist/local/config/sparcworks/license.dat:7588@setlicense
|
||||
|
||||
$SA_JAVA -Xbootclasspath/p:$CP -Djava.rmi.server.codebase=file:/$CP -Djava.security.policy=$STARTDIR\/grantAll.policy sun.jvm.hotspot.DebugServer $*
|
34
hotspot/agent/make/start-debug-server-proc.sh
Normal file
34
hotspot/agent/make/start-debug-server-proc.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv.sh
|
||||
|
||||
if [ -f $STARTDIR/sa.jar ] ; then
|
||||
CP=$STARTDIR/sa.jar
|
||||
else
|
||||
CP=$STARTDIR/../build/classes
|
||||
fi
|
||||
|
||||
$SA_JAVA -classpath $CP ${OPTIONS} -Djava.rmi.server.codebase=file:/$CP -Djava.security.policy=$STARTDIR\/grantAll.policy sun.jvm.hotspot.DebugServer $*
|
34
hotspot/agent/make/start-debug-server-proc64.sh
Normal file
34
hotspot/agent/make/start-debug-server-proc64.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2002-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
. `dirname $0`/saenv64.sh
|
||||
|
||||
if [ -f $STARTDIR/sa.jar ] ; then
|
||||
CP=$STARTDIR/sa.jar
|
||||
else
|
||||
CP=$STARTDIR/../build/classes
|
||||
fi
|
||||
|
||||
$SA_JAVA -d64 -classpath $CP ${OPTIONS} -Djava.rmi.server.codebase=file:/$CP -Djava.security.policy=$STARTDIR\/grantAll.policy sun.jvm.hotspot.DebugServer $*
|
39
hotspot/agent/make/start-debug-server-windbg.bat
Normal file
39
hotspot/agent/make/start-debug-server-windbg.bat
Normal file
@ -0,0 +1,39 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv.bat
|
||||
|
||||
REM check for .\sa.jar, if it does not exist
|
||||
REM assume that we are in build configuration.
|
||||
|
||||
if not exist .\sa.jar goto IN_BUILD_CONF
|
||||
set SA_CLASSPATH=.\sa.jar
|
||||
goto EXEC_CMD
|
||||
|
||||
:IN_BUILD_CONF
|
||||
set SA_CLASSPATH=..\build\classes
|
||||
|
||||
:EXEC_CMD
|
||||
%SA_JAVA% -classpath %SA_CLASSPATH% -Djava.rmi.server.codebase=file:/%SA_CLASSPATH% -Djava.security.policy=grantAll.policy -Djava.library.path=%SA_LIBPATH% %OPTIONS% sun.jvm.hotspot.DebugServer %1 %2 %3 %4 %5 %6 %7 %8 %9
|
39
hotspot/agent/make/start-debug-server-windbg64.bat
Normal file
39
hotspot/agent/make/start-debug-server-windbg64.bat
Normal file
@ -0,0 +1,39 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
call saenv64.bat
|
||||
|
||||
REM check for .\sa.jar, if it does not exist
|
||||
REM assume that we are in build configuration.
|
||||
|
||||
if not exist .\sa.jar goto IN_BUILD_CONF
|
||||
set SA_CLASSPATH=.\sa.jar
|
||||
goto EXEC_CMD
|
||||
|
||||
:IN_BUILD_CONF
|
||||
set SA_CLASSPATH=..\build\classes
|
||||
|
||||
:EXEC_CMD
|
||||
%SA_JAVA% -classpath %SA_CLASSPATH% -Djava.rmi.server.codebase=file:/%SA_CLASSPATH% -Djava.security.policy=grantAll.policy -Djava.library.path=%SA_LIBPATH% %OPTIONS% sun.jvm.hotspot.DebugServer %1 %2 %3 %4 %5 %6 %7 %8 %9
|
37
hotspot/agent/make/start-rmiregistry.bat
Normal file
37
hotspot/agent/make/start-rmiregistry.bat
Normal file
@ -0,0 +1,37 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
|
||||
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
REM
|
||||
REM This code is free software; you can redistribute it and/or modify it
|
||||
REM under the terms of the GNU General Public License version 2 only, as
|
||||
REM published by the Free Software Foundation.
|
||||
REM
|
||||
REM This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
REM version 2 for more details (a copy is included in the LICENSE file that
|
||||
REM accompanied this code).
|
||||
REM
|
||||
REM You should have received a copy of the GNU General Public License version
|
||||
REM 2 along with this work; if not, write to the Free Software Foundation,
|
||||
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
REM
|
||||
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
REM CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
REM have any questions.
|
||||
REM
|
||||
REM
|
||||
|
||||
REM check for .\sa.jar, if it does not exist
|
||||
REM assume that we are in build configuration.
|
||||
|
||||
if not exist .\sa.jar goto IN_BUILD_CONF
|
||||
set CLASSPATH=.\sa.jar
|
||||
goto EXEC_CMD
|
||||
|
||||
:IN_BUILD_CONF
|
||||
set CLASSPATH=..\build\classes
|
||||
|
||||
:EXEC_CMD
|
||||
start rmiregistry -J-Xbootclasspath/p:%CLASSPATH%
|
34
hotspot/agent/make/start-rmiregistry.sh
Normal file
34
hotspot/agent/make/start-rmiregistry.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2000-2003 Sun Microsystems, Inc. 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
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
# CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
# have any questions.
|
||||
#
|
||||
#
|
||||
|
||||
STARTDIR=`dirname $0`
|
||||
|
||||
if [ -f $STARTDIR/sa.jar ] ; then
|
||||
CP=$STARTDIR/sa.jar
|
||||
else
|
||||
CP=$STARTDIR/../build/classes
|
||||
fi
|
||||
|
||||
rmiregistry -J-Xbootclasspath/p:$CP
|
412
hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
Normal file
412
hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
Normal file
@ -0,0 +1,412 @@
|
||||
/*
|
||||
* Copyright 2002-2007 Sun Microsystems, Inc. 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
* have any questions.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <jni.h>
|
||||
#include "libproc.h"
|
||||
|
||||
#if defined(x86_64) && !defined(amd64)
|
||||
#define amd64 1
|
||||
#endif
|
||||
|
||||
#ifdef i386
|
||||
#include "sun_jvm_hotspot_debugger_x86_X86ThreadContext.h"
|
||||
#endif
|
||||
|
||||
#ifdef amd64
|
||||
#include "sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext.h"
|
||||
#endif
|
||||
|
||||
#if defined(sparc) || defined(sparcv9)
|
||||
#include "sun_jvm_hotspot_debugger_sparc_SPARCThreadContext.h"
|
||||
#endif
|
||||
|
||||
static jfieldID p_ps_prochandle_ID = 0;
|
||||
static jfieldID threadList_ID = 0;
|
||||
static jfieldID loadObjectList_ID = 0;
|
||||
|
||||
static jmethodID createClosestSymbol_ID = 0;
|
||||
static jmethodID createLoadObject_ID = 0;
|
||||
static jmethodID getThreadForThreadId_ID = 0;
|
||||
static jmethodID listAdd_ID = 0;
|
||||
|
||||
#define CHECK_EXCEPTION_(value) if ((*env)->ExceptionOccurred(env)) { return value; }
|
||||
#define CHECK_EXCEPTION if ((*env)->ExceptionOccurred(env)) { return;}
|
||||
#define THROW_NEW_DEBUGGER_EXCEPTION_(str, value) { throw_new_debugger_exception(env, str); return value; }
|
||||
#define THROW_NEW_DEBUGGER_EXCEPTION(str) { throw_new_debugger_exception(env, str); return;}
|
||||
|
||||
static void throw_new_debugger_exception(JNIEnv* env, const char* errMsg) {
|
||||
(*env)->ThrowNew(env, (*env)->FindClass(env, "sun/jvm/hotspot/debugger/DebuggerException"), errMsg);
|
||||
}
|
||||
|
||||
static struct ps_prochandle* get_proc_handle(JNIEnv* env, jobject this_obj) {
|
||||
jlong ptr = (*env)->GetLongField(env, this_obj, p_ps_prochandle_ID);
|
||||
return (struct ps_prochandle*)(intptr_t)ptr;
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal
|
||||
* Method: init0
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_init0
|
||||
(JNIEnv *env, jclass cls) {
|
||||
jclass listClass;
|
||||
|
||||
if (init_libproc(getenv("LIBSAPROC_DEBUG")) != true) {
|
||||
THROW_NEW_DEBUGGER_EXCEPTION("can't initialize libproc");
|
||||
}
|
||||
|
||||
// fields we use
|
||||
p_ps_prochandle_ID = (*env)->GetFieldID(env, cls, "p_ps_prochandle", "J");
|
||||
CHECK_EXCEPTION;
|
||||
threadList_ID = (*env)->GetFieldID(env, cls, "threadList", "Ljava/util/List;");
|
||||
CHECK_EXCEPTION;
|
||||
loadObjectList_ID = (*env)->GetFieldID(env, cls, "loadObjectList", "Ljava/util/List;");
|
||||
CHECK_EXCEPTION;
|
||||
|
||||
// methods we use
|
||||
createClosestSymbol_ID = (*env)->GetMethodID(env, cls, "createClosestSymbol",
|
||||
"(Ljava/lang/String;J)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;");
|
||||
CHECK_EXCEPTION;
|
||||
createLoadObject_ID = (*env)->GetMethodID(env, cls, "createLoadObject",
|
||||
"(Ljava/lang/String;JJ)Lsun/jvm/hotspot/debugger/cdbg/LoadObject;");
|
||||
CHECK_EXCEPTION;
|
||||
getThreadForThreadId_ID = (*env)->GetMethodID(env, cls, "getThreadForThreadId",
|
||||
"(J)Lsun/jvm/hotspot/debugger/ThreadProxy;");
|
||||
CHECK_EXCEPTION;
|
||||
// java.util.List method we call
|
||||
listClass = (*env)->FindClass(env, "java/util/List");
|
||||
CHECK_EXCEPTION;
|
||||
listAdd_ID = (*env)->GetMethodID(env, listClass, "add", "(Ljava/lang/Object;)Z");
|
||||
CHECK_EXCEPTION;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_getAddressSize
|
||||
(JNIEnv *env, jclass cls)
|
||||
{
|
||||
#ifdef _LP64
|
||||
return 8;
|
||||
#else
|
||||
return 4;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void fillThreadsAndLoadObjects(JNIEnv* env, jobject this_obj, struct ps_prochandle* ph) {
|
||||
int n = 0, i = 0;
|
||||
|
||||
// add threads
|
||||
n = get_num_threads(ph);
|
||||
for (i = 0; i < n; i++) {
|
||||
jobject thread;
|
||||
jobject threadList;
|
||||
lwpid_t lwpid;
|
||||
|
||||
lwpid = get_lwp_id(ph, i);
|
||||
thread = (*env)->CallObjectMethod(env, this_obj, getThreadForThreadId_ID,
|
||||
(jlong)lwpid);
|
||||
CHECK_EXCEPTION;
|
||||
threadList = (*env)->GetObjectField(env, this_obj, threadList_ID);
|
||||
CHECK_EXCEPTION;
|
||||
(*env)->CallBooleanMethod(env, threadList, listAdd_ID, thread);
|
||||
CHECK_EXCEPTION;
|
||||
}
|
||||
|
||||
// add load objects
|
||||
n = get_num_libs(ph);
|
||||
for (i = 0; i < n; i++) {
|
||||
uintptr_t base;
|
||||
const char* name;
|
||||
jobject loadObject;
|
||||
jobject loadObjectList;
|
||||
|
||||
base = get_lib_base(ph, i);
|
||||
name = get_lib_name(ph, i);
|
||||
loadObject = (*env)->CallObjectMethod(env, this_obj, createLoadObject_ID,
|
||||
(*env)->NewStringUTF(env, name), (jlong)0, (jlong)base);
|
||||
CHECK_EXCEPTION;
|
||||
loadObjectList = (*env)->GetObjectField(env, this_obj, loadObjectList_ID);
|
||||
CHECK_EXCEPTION;
|
||||
(*env)->CallBooleanMethod(env, loadObjectList, listAdd_ID, loadObject);
|
||||
CHECK_EXCEPTION;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal
|
||||
* Method: attach0
|
||||
* Signature: (I)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_attach0__I
|
||||
(JNIEnv *env, jobject this_obj, jint jpid) {
|
||||
|
||||
struct ps_prochandle* ph;
|
||||
if ( (ph = Pgrab(jpid)) == NULL) {
|
||||
THROW_NEW_DEBUGGER_EXCEPTION("Can't attach to the process");
|
||||
}
|
||||
(*env)->SetLongField(env, this_obj, p_ps_prochandle_ID, (jlong)(intptr_t)ph);
|
||||
fillThreadsAndLoadObjects(env, this_obj, ph);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal
|
||||
* Method: attach0
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/String;)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_attach0__Ljava_lang_String_2Ljava_lang_String_2
|
||||
(JNIEnv *env, jobject this_obj, jstring execName, jstring coreName) {
|
||||
const char *execName_cstr;
|
||||
const char *coreName_cstr;
|
||||
jboolean isCopy;
|
||||
struct ps_prochandle* ph;
|
||||
|
||||
execName_cstr = (*env)->GetStringUTFChars(env, execName, &isCopy);
|
||||
CHECK_EXCEPTION;
|
||||
coreName_cstr = (*env)->GetStringUTFChars(env, coreName, &isCopy);
|
||||
CHECK_EXCEPTION;
|
||||
|
||||
if ( (ph = Pgrab_core(execName_cstr, coreName_cstr)) == NULL) {
|
||||
(*env)->ReleaseStringUTFChars(env, execName, execName_cstr);
|
||||
(*env)->ReleaseStringUTFChars(env, coreName, coreName_cstr);
|
||||
THROW_NEW_DEBUGGER_EXCEPTION("Can't attach to the core file");
|
||||
}
|
||||
(*env)->SetLongField(env, this_obj, p_ps_prochandle_ID, (jlong)(intptr_t)ph);
|
||||
(*env)->ReleaseStringUTFChars(env, execName, execName_cstr);
|
||||
(*env)->ReleaseStringUTFChars(env, coreName, coreName_cstr);
|
||||
fillThreadsAndLoadObjects(env, this_obj, ph);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal
|
||||
* Method: detach0
|
||||
* Signature: ()V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_detach0
|
||||
(JNIEnv *env, jobject this_obj) {
|
||||
struct ps_prochandle* ph = get_proc_handle(env, this_obj);
|
||||
if (ph != NULL) {
|
||||
Prelease(ph);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal
|
||||
* Method: lookupByName0
|
||||
* Signature: (Ljava/lang/String;Ljava/lang/String;)J
|
||||
*/
|
||||
JNIEXPORT jlong JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_lookupByName0
|
||||
(JNIEnv *env, jobject this_obj, jstring objectName, jstring symbolName) {
|
||||
const char *objectName_cstr, *symbolName_cstr;
|
||||
jlong addr;
|
||||
jboolean isCopy;
|
||||
struct ps_prochandle* ph = get_proc_handle(env, this_obj);
|
||||
|
||||
objectName_cstr = NULL;
|
||||
if (objectName != NULL) {
|
||||
objectName_cstr = (*env)->GetStringUTFChars(env, objectName, &isCopy);
|
||||
CHECK_EXCEPTION_(0);
|
||||
}
|
||||
symbolName_cstr = (*env)->GetStringUTFChars(env, symbolName, &isCopy);
|
||||
CHECK_EXCEPTION_(0);
|
||||
|
||||
addr = (jlong) lookup_symbol(ph, objectName_cstr, symbolName_cstr);
|
||||
|
||||
if (objectName_cstr != NULL) {
|
||||
(*env)->ReleaseStringUTFChars(env, objectName, objectName_cstr);
|
||||
}
|
||||
(*env)->ReleaseStringUTFChars(env, symbolName, symbolName_cstr);
|
||||
return addr;
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal
|
||||
* Method: lookupByAddress0
|
||||
* Signature: (J)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;
|
||||
*/
|
||||
JNIEXPORT jobject JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_lookupByAddress0
|
||||
(JNIEnv *env, jobject this_obj, jlong addr) {
|
||||
uintptr_t offset;
|
||||
const char* sym = NULL;
|
||||
|
||||
struct ps_prochandle* ph = get_proc_handle(env, this_obj);
|
||||
sym = symbol_for_pc(ph, (uintptr_t) addr, &offset);
|
||||
if (sym == NULL) return 0;
|
||||
return (*env)->CallObjectMethod(env, this_obj, createClosestSymbol_ID,
|
||||
(*env)->NewStringUTF(env, sym), (jlong)offset);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal
|
||||
* Method: readBytesFromProcess0
|
||||
* Signature: (JJ)Lsun/jvm/hotspot/debugger/ReadResult;
|
||||
*/
|
||||
JNIEXPORT jbyteArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_readBytesFromProcess0
|
||||
(JNIEnv *env, jobject this_obj, jlong addr, jlong numBytes) {
|
||||
|
||||
jboolean isCopy;
|
||||
jbyteArray array;
|
||||
jbyte *bufPtr;
|
||||
ps_err_e err;
|
||||
|
||||
array = (*env)->NewByteArray(env, numBytes);
|
||||
CHECK_EXCEPTION_(0);
|
||||
bufPtr = (*env)->GetByteArrayElements(env, array, &isCopy);
|
||||
CHECK_EXCEPTION_(0);
|
||||
|
||||
err = ps_pdread(get_proc_handle(env, this_obj), (psaddr_t) (uintptr_t)addr, bufPtr, numBytes);
|
||||
(*env)->ReleaseByteArrayElements(env, array, bufPtr, 0);
|
||||
return (err == PS_OK)? array : 0;
|
||||
}
|
||||
|
||||
JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_getThreadIntegerRegisterSet0
|
||||
(JNIEnv *env, jobject this_obj, jint lwp_id) {
|
||||
|
||||
struct user_regs_struct gregs;
|
||||
jboolean isCopy;
|
||||
jlongArray array;
|
||||
jlong *regs;
|
||||
int i;
|
||||
|
||||
struct ps_prochandle* ph = get_proc_handle(env, this_obj);
|
||||
if (get_lwp_regs(ph, lwp_id, &gregs) != true) {
|
||||
THROW_NEW_DEBUGGER_EXCEPTION_("get_thread_regs failed for a lwp", 0);
|
||||
}
|
||||
|
||||
#undef NPRGREG
|
||||
#ifdef i386
|
||||
#define NPRGREG sun_jvm_hotspot_debugger_x86_X86ThreadContext_NPRGREG
|
||||
#endif
|
||||
#ifdef ia64
|
||||
#define NPRGREG IA64_REG_COUNT
|
||||
#endif
|
||||
#ifdef amd64
|
||||
#define NPRGREG sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext_NPRGREG
|
||||
#endif
|
||||
#if defined(sparc) || defined(sparcv9)
|
||||
#define NPRGREG sun_jvm_hotspot_debugger_sparc_SPARCThreadContext_NPRGREG
|
||||
#endif
|
||||
|
||||
array = (*env)->NewLongArray(env, NPRGREG);
|
||||
CHECK_EXCEPTION_(0);
|
||||
regs = (*env)->GetLongArrayElements(env, array, &isCopy);
|
||||
|
||||
#undef REG_INDEX
|
||||
|
||||
#ifdef i386
|
||||
#define REG_INDEX(reg) sun_jvm_hotspot_debugger_x86_X86ThreadContext_##reg
|
||||
|
||||
regs[REG_INDEX(GS)] = (uintptr_t) gregs.xgs;
|
||||
regs[REG_INDEX(FS)] = (uintptr_t) gregs.xfs;
|
||||
regs[REG_INDEX(ES)] = (uintptr_t) gregs.xes;
|
||||
regs[REG_INDEX(DS)] = (uintptr_t) gregs.xds;
|
||||
regs[REG_INDEX(EDI)] = (uintptr_t) gregs.edi;
|
||||
regs[REG_INDEX(ESI)] = (uintptr_t) gregs.esi;
|
||||
regs[REG_INDEX(FP)] = (uintptr_t) gregs.ebp;
|
||||
regs[REG_INDEX(SP)] = (uintptr_t) gregs.esp;
|
||||
regs[REG_INDEX(EBX)] = (uintptr_t) gregs.ebx;
|
||||
regs[REG_INDEX(EDX)] = (uintptr_t) gregs.edx;
|
||||
regs[REG_INDEX(ECX)] = (uintptr_t) gregs.ecx;
|
||||
regs[REG_INDEX(EAX)] = (uintptr_t) gregs.eax;
|
||||
regs[REG_INDEX(PC)] = (uintptr_t) gregs.eip;
|
||||
regs[REG_INDEX(CS)] = (uintptr_t) gregs.xcs;
|
||||
regs[REG_INDEX(SS)] = (uintptr_t) gregs.xss;
|
||||
|
||||
#endif /* i386 */
|
||||
|
||||
#if ia64
|
||||
regs = (*env)->GetLongArrayElements(env, array, &isCopy);
|
||||
for (i = 0; i < NPRGREG; i++ ) {
|
||||
regs[i] = 0xDEADDEAD;
|
||||
}
|
||||
#endif /* ia64 */
|
||||
|
||||
#ifdef amd64
|
||||
#define REG_INDEX(reg) sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext_##reg
|
||||
|
||||
regs[REG_INDEX(R15)] = gregs.r15;
|
||||
regs[REG_INDEX(R14)] = gregs.r14;
|
||||
regs[REG_INDEX(R13)] = gregs.r13;
|
||||
regs[REG_INDEX(R12)] = gregs.r12;
|
||||
regs[REG_INDEX(RBP)] = gregs.rbp;
|
||||
regs[REG_INDEX(RBX)] = gregs.rbx;
|
||||
regs[REG_INDEX(R11)] = gregs.r11;
|
||||
regs[REG_INDEX(R10)] = gregs.r10;
|
||||
regs[REG_INDEX(R9)] = gregs.r9;
|
||||
regs[REG_INDEX(R8)] = gregs.r8;
|
||||
regs[REG_INDEX(RAX)] = gregs.rax;
|
||||
regs[REG_INDEX(RCX)] = gregs.rcx;
|
||||
regs[REG_INDEX(RDX)] = gregs.rdx;
|
||||
regs[REG_INDEX(RSI)] = gregs.rsi;
|
||||
regs[REG_INDEX(RDI)] = gregs.rdi;
|
||||
regs[REG_INDEX(RIP)] = gregs.rip;
|
||||
regs[REG_INDEX(CS)] = gregs.cs;
|
||||
regs[REG_INDEX(RSP)] = gregs.rsp;
|
||||
regs[REG_INDEX(SS)] = gregs.ss;
|
||||
regs[REG_INDEX(FSBASE)] = gregs.fs_base;
|
||||
regs[REG_INDEX(GSBASE)] = gregs.gs_base;
|
||||
regs[REG_INDEX(DS)] = gregs.ds;
|
||||
regs[REG_INDEX(ES)] = gregs.es;
|
||||
regs[REG_INDEX(FS)] = gregs.fs;
|
||||
regs[REG_INDEX(GS)] = gregs.gs;
|
||||
|
||||
#endif /* amd64 */
|
||||
|
||||
#if defined(sparc) || defined(sparcv9)
|
||||
|
||||
#define REG_INDEX(reg) sun_jvm_hotspot_debugger_sparc_SPARCThreadContext_##reg
|
||||
|
||||
#ifdef _LP64
|
||||
regs[REG_INDEX(R_PSR)] = gregs.tstate;
|
||||
regs[REG_INDEX(R_PC)] = gregs.tpc;
|
||||
regs[REG_INDEX(R_nPC)] = gregs.tnpc;
|
||||
regs[REG_INDEX(R_Y)] = gregs.y;
|
||||
#else
|
||||
regs[REG_INDEX(R_PSR)] = gregs.psr;
|
||||
regs[REG_INDEX(R_PC)] = gregs.pc;
|
||||
regs[REG_INDEX(R_nPC)] = gregs.npc;
|
||||
regs[REG_INDEX(R_Y)] = gregs.y;
|
||||
#endif
|
||||
regs[REG_INDEX(R_G0)] = 0 ;
|
||||
regs[REG_INDEX(R_G1)] = gregs.u_regs[0];
|
||||
regs[REG_INDEX(R_G2)] = gregs.u_regs[1];
|
||||
regs[REG_INDEX(R_G3)] = gregs.u_regs[2];
|
||||
regs[REG_INDEX(R_G4)] = gregs.u_regs[3];
|
||||
regs[REG_INDEX(R_G5)] = gregs.u_regs[4];
|
||||
regs[REG_INDEX(R_G6)] = gregs.u_regs[5];
|
||||
regs[REG_INDEX(R_G7)] = gregs.u_regs[6];
|
||||
regs[REG_INDEX(R_O0)] = gregs.u_regs[7];
|
||||
regs[REG_INDEX(R_O1)] = gregs.u_regs[8];
|
||||
regs[REG_INDEX(R_O2)] = gregs.u_regs[ 9];
|
||||
regs[REG_INDEX(R_O3)] = gregs.u_regs[10];
|
||||
regs[REG_INDEX(R_O4)] = gregs.u_regs[11];
|
||||
regs[REG_INDEX(R_O5)] = gregs.u_regs[12];
|
||||
regs[REG_INDEX(R_O6)] = gregs.u_regs[13];
|
||||
regs[REG_INDEX(R_O7)] = gregs.u_regs[14];
|
||||
#endif /* sparc */
|
||||
|
||||
|
||||
(*env)->ReleaseLongArrayElements(env, array, regs, JNI_COMMIT);
|
||||
return array;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user