Mercurial > hg > graal-compiler
annotate make/windows/README @ 1660:083fde3b838e
6964498: JSR 292 invokedynamic sites need local bootstrap methods
Summary: Add JVM_CONSTANT_InvokeDynamic records to constant pool to determine per-instruction BSMs.
Reviewed-by: twisti
author | jrose |
---|---|
date | Thu, 15 Jul 2010 18:40:45 -0700 |
parents | c18cbe5936b8 |
children |
rev | line source |
---|---|
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
91
diff
changeset
|
1 Copyright (c) 2007 Oracle and/or its affiliates. All rights reserved. |
0 | 2 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 | |
4 This code is free software; you can redistribute it and/or modify it | |
5 under the terms of the GNU General Public License version 2 only, as | |
6 published by the Free Software Foundation. | |
7 | |
8 This code is distributed in the hope that it will be useful, but WITHOUT | |
9 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
10 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
11 version 2 for more details (a copy is included in the LICENSE file that | |
12 accompanied this code). | |
13 | |
14 You should have received a copy of the GNU General Public License version | |
15 2 along with this work; if not, write to the Free Software Foundation, | |
16 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
17 | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
91
diff
changeset
|
18 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
91
diff
changeset
|
19 or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
91
diff
changeset
|
20 questions. |
0 | 21 |
22 ________________________________________________________________________________ | |
23 | |
24 __Introduction__________________________________________________________________ | |
25 | |
26 This readme file should provide all the information needed to build | |
27 the HotSpot VM for Windows 95/Windows NT from its teamware workspace. | |
28 It is intended as a starting point for people who want to learn how | |
29 to work with the current HotSpot source workspace and who need to | |
30 build the VM locally. It is not intended as a tutorial for licensees. | |
31 | |
32 Last update: 03/28/05 | |
33 | |
34 | |
35 __Platform______________________________________________________________________ | |
36 | |
37 The VM builds under the following platforms: | |
38 - Windows NT 4.0 on Intel x486 or greater | |
39 - x486 PC (or greater), 32MByte or more | |
40 | |
41 | |
42 __Tools_________________________________________________________________________ | |
43 | |
44 For building/testing the following tools need to be available: | |
45 - Microsoft Visual C++ 6.0 (with nmake version 1.62.7022 or greater) | |
46 - MKS Toolkit 6.1 or greater | |
47 see: /net/reinstall/export/vol0/pc-archive/software/mks6.1 (NFS) | |
48 or: \\reinstall\pc-archive\software\mks6.1 (NT) | |
49 | |
50 | |
51 __JDK___________________________________________________________________________ | |
52 | |
53 The workspace works with the following version of the JDK: | |
54 (NOTE: these are out of date) | |
55 - JDK1.2FCS "V" build | |
56 see: /usr/local/java/jdk1.2/win32 | |
57 | |
58 and the following version(s) of HotJava: | |
59 - hjb1.1.4 | |
60 - hjb1.1.5 | |
61 see /usr/local/java/hjb1.1.x/win32 | |
62 | |
63 | |
64 __Environment variables_________________________________________________________ | |
65 | |
66 The following environment variables need to be set up for the IDE | |
67 build process. For batch builds these do not need to be set. | |
68 | |
69 HotSpotMksHome points to the (NFS or PC-local) directory where the MKS | |
70 executables (like sh.exe and grep.exe) are installed | |
71 | |
72 Optionally you may set the following variables in your environment and they | |
73 will be picked up by the create.bat script used to generate the vm.vcproj files. | |
74 See the section on building within MS Developer Studio for more details. | |
75 | |
76 HotSpotWorkSpace points to the (NFS) directory where the workspace is located | |
77 HotSpotBuildSpace points to the (PC-local) directory where the vm is built | |
78 HotSpotReleaseBinDest points to the (NFS or PC-local) directory where the product DLL is | |
79 written | |
80 HotSpotDebugBinDest points to the (NFS or PC-local) directory where the debug DLL is | |
81 written | |
82 | |
83 NOTE: For both batch and IDE builds, java and javac must be in your | |
84 PATH, and the versions found by default must work. (If this turns out | |
85 to be a problem, we can define HotSpotJava and HotSpotJavaC for | |
86 bootstrapping...) | |
87 | |
88 __Building the JVM from the command line________________________________________ | |
89 | |
90 1) choose a directory in which you want to build the vm | |
91 (the build process will create a subdirectory) | |
92 | |
93 2) To build the 'core' version (debug || optimized) | |
94 %HotSpotWorkSpace%\build\windows\build <flavor> core %HotSpotWorkSpace% <jdk_dir> | |
95 To build the 'compiler2' version (debug || optimized) | |
96 %HotSpotWorkSpace%\build\windows\build <flavor> compiler2 %HotSpotWorkSpace% <jdk_dir> | |
97 | |
98 where <jdk_dir> is a full path to a JDK in which bin/java and | |
99 bin/javac are present and working. | |
100 | |
101 3) If you have problems with building, first try: | |
102 vcvars32 <CR> (sets path for VC++) | |
103 | |
104 4) In addition to jvm.dll, the Serviceability Agent (SA) based JDI connector | |
105 and command line tools are built if dbgeng.h and dbgeng.lib | |
106 can be located, and BUILD_WIN_SA=1 is specified. We look for dbgeng.h here: | |
107 $(MSVCDIR)\PlatformSDK\Include | |
108 $(SYSTEMROOT)\..\Program Files\Microsoft SDK\include | |
109 | |
110 The first directory is part of Visual Studio VC .NET 2003. | |
111 The second is used on Windows-amd64. | |
112 | |
113 | |
114 __Building the JVM from within MS Developer Studio______________________________ | |
115 | |
116 0) Set environment variables as described above | |
117 | |
118 1) Run the following script: | |
119 %HotSpotWorkSpace%\build\windows\create <type> { <workspace> <buildspace> <productbindest> <debugbindest> } | |
120 where type is one of core, compiler1, compiler2. If you leave off the | |
121 "<workspace> <buildspace> <productbindest> <debugbindest>" part, the script expects to find their | |
122 values in the HotSpotWorkSpace, HotSpotBuildSpace, HotSpotReleaseBinDest, and HotSpotDebugBinDest environment | |
123 variables. The resulting vm.vcproj does not depend on these values in the environment. | |
124 | |
125 This will populate the build space with the appropriate makefiles | |
126 and run nmake in it. This builds and runs makedeps, which now | |
127 generates the appropriate vm.vcproj into the build space. It also | |
128 builds and runs adlc. | |
129 | |
130 To regenerate the .incl and .dsp files after changing the include | |
131 databases, just run nmake in the build space. | |
132 | |
133 The build process now relies on java and javac. For the IDE builds, | |
134 the full path to a JDK (in which bin/java and bin/javac are present | |
135 and working) can be specified either explicitly with the | |
136 ALT_BOOTDIR environment variable (like the JDK build process), via | |
137 the JDK build's default BOOTDIR environment variable, via JAVA_HOME, | |
138 or implicitly via the PATH. | |
139 | |
140 (Note that there are now many more command line options to MakeDeps | |
141 on the Windows platform than before. These have been bundled into | |
142 makefiles/makedeps.make, but it is still necessary to keep this in | |
143 sync with the batch makefiles, in vm/generated.) | |
144 | |
145 If you have problems with building (i.e,. finding nmake), first try: | |
146 vcvars32 <CR> (sets path for VC++) | |
147 | |
148 2) Double-click the vm.vcproj file in the %HotSpotBuildSpace% directory | |
149 to open MS Developer Studio. | |
150 | |
151 3) build desired or all versions: | |
152 menu Build -> Batch Build... -> Build (or Rebuild All) | |
153 | |
154 4) jvm.dll is in the %HotSpotReleaseBinDest% or %HotSpotDebugBinDest% directory | |
155 depending on which configuration you built (release or debug). | |
156 | |
157 Note: do not edit any of the files (especially the vm.vcproj file) in the | |
158 build space, since they are all either autogenerated or copied from | |
159 the work space. If necessary, modify the original Makefiles in | |
160 %HotSpotWorkSpace%\build\windows\projectfiles, or the shared | |
161 makedeps arguments in | |
162 %HotSpotWorkSpace%\build\windows\makefiles\makedeps.make. | |
163 | |
164 Note that it appears that some options set in the IDE (for example, | |
165 the default executable) show up not in the .dsp file, but in the .opt | |
166 file, so the automatic regeneration of the .dsp file should not | |
167 destroy the project settings. However, makedeps.make should be edited | |
168 to supply per-file compiler options. | |
169 | |
170 To build adlc from within the IDE for debugging purposes: | |
171 | |
172 1) in MS Developer Studio, open ADLCompiler.dsw: | |
173 menu File -> Open Workspace... | |
174 select & double-click ADLCompiler.dsw | |
175 | |
176 2) rebuild all (debug mode is enough) | |
177 menu Build -> Rebuild All (make sure Win32 Debug version is selected) | |
178 | |
179 | |
180 __Testing the VM________________________________________________________________ | |
181 | |
182 To test the VM using the Tonga Testsuite, use testlook. testlook is a very | |
183 simple testing framework on top of Tonga which allows us to use one (Tonga) | |
184 test file, that can be extended with attributes. | |
185 | |
186 1) copy %HotSpotWorkSpace%\test\testlook.bat onto PC (preferably | |
187 %HotSpotBuildSpace%\bin, which should ideally be in the path) | |
188 | |
189 2) run testlook <cr> or testlook help <cr> for details | |
190 | |
191 3) to run testlook you need to have Tonga mounted: | |
192 net use T: \\tapas\export1\psqe | |
193 | |
194 | |
195 __HotJava under HotSpot_________________________________________________________ | |
196 | |
197 To run HotJava, use the .bat file %HotSpotWorkSpace%\test\h.bat. Copy | |
198 it into %HotSpotBuildSpace%/<flavor> (which ideally is in the path) and run | |
199 HotJava: h java <flags> (e.g., h java_g -Xint). | |
200 | |
201 | |
202 __Preferred directory setup under Windows NT____________________________________ | |
203 | |
204 Within the HotSpot group we are using the following directory setup: | |
205 | |
206 D:\jdk1.2 - where we install the JDK | |
207 | |
208 The following drives are mounted for testing/putbacks/etc.: | |
209 | |
210 net use T: \\tapas\export1\psqe | |
211 net use Y: \\rschmidt\GammaBase | |
212 net use Z: \\animorphic\animorphic |