@@ -207,27 +207,34 @@ <h3 id="source-files">Source Files</h3>
207207< ul >
208208< li > < p > All source files must have a globally unique basename. The build
209209system depends on this uniqueness.</ p > </ li >
210- < li > < p > Keep the include lines within a section alphabetically sorted.</ p > </ li >
211- < li > < p > Put conditional inclusions (`#if ...`) at the end of the section of HotSpot
212- include lines. This also applies to macro-expanded includes of platform
213- dependent files.</ p > </ li >
214- < li > < p > Put system includes in a section after the HotSpot include lines with a blank
215- line separating the two sections.</ p > </ li >
210+ < li > < p > Keep the include lines within a section alphabetically sorted by
211+ their lowercase value. If an include must be out of order for
212+ correctness, suffix with it a comment such as
213+ < code > // do not reorder</ code > . Source code processing tools can also
214+ use this hint.</ p > </ li >
215+ < li > < p > Put conditional inclusions (< code > #if ...</ code > ) at the end of
216+ the section of HotSpot include lines. This also applies to
217+ macro-expanded includes of platform dependent files.</ p > </ li >
218+ < li > < p > Put system includes in a section after the HotSpot include lines
219+ with a blank line separating the two sections.</ p > </ li >
216220< li > < p > Do not put non-trivial function implementations in .hpp files. If
217- the implementation depends on other .hpp files, put it in a .cpp or
218- a .inline.hpp file.</ p > </ li >
221+ the implementation depends on other .hpp files, put it in a .cpp or a
222+ .inline.hpp file.</ p > </ li >
219223< li > < p > .inline.hpp files should only be included in .cpp or .inline.hpp
220224files.</ p > </ li >
221- < li > < p > All .inline.hpp files should include their corresponding .hpp file as
222- the first include line with a blank line separating it from the rest of the
223- include lines. Declarations needed by other files should be put in the .hpp
224- file, and not in the .inline.hpp file. This rule exists to resolve problems
225- with circular dependencies between .inline.hpp files.</ p > </ li >
226- < li > < p > Do not include a .hpp file if the corresponding .inline.hpp file is included.</ p > </ li >
227- < li > < p > Use include guards for .hpp and .inline.hpp files. The name of the defined
228- guard should be derived from the full search path of the file relative to the
229- hotspot source directory. The guard should be all upper case with all paths
230- separators and periods replaced by underscores.</ p > </ li >
225+ < li > < p > All .inline.hpp files should include their corresponding .hpp
226+ file as the first include line with a blank line separating it from the
227+ rest of the include lines. Declarations needed by other files should be
228+ put in the .hpp file, and not in the .inline.hpp file. This rule exists
229+ to resolve problems with circular dependencies between .inline.hpp
230+ files.</ p > </ li >
231+ < li > < p > Do not include a .hpp file if the corresponding .inline.hpp file
232+ is included.</ p > </ li >
233+ < li > < p > Use include guards for .hpp and .inline.hpp files. The name of
234+ the defined guard should be derived from the full search path of the
235+ file relative to the hotspot source directory. The guard should be all
236+ upper case with all paths separators and periods replaced by
237+ underscores.</ p > </ li >
231238< li > < p > Some build configurations use precompiled headers to speed up the
232239build times. The precompiled headers are included in the precompiled.hpp
233240file. Note that precompiled.hpp is just a build time optimization, so
0 commit comments