13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef OS_WINDOWS_OS_WINDOWS_INLINE_HPP
26 #define OS_WINDOWS_OS_WINDOWS_INLINE_HPP
27
28 #include "runtime/os.hpp"
29 #include "runtime/thread.hpp"
30
31 inline const char* os::dll_file_extension() { return ".dll"; }
32
33 inline const int os::default_file_open_flags() { return O_BINARY | O_NOINHERIT;}
34
35 inline void os::dll_unload(void *lib) {
36 ::FreeLibrary((HMODULE)lib);
37 }
38
39 inline void* os::dll_lookup(void *lib, const char *name) {
40 return (void*)::GetProcAddress((HMODULE)lib, name);
41 }
42
43 inline bool os::uses_stack_guard_pages() {
44 return true;
45 }
46
47 inline bool os::must_commit_stack_guard_pages() {
48 return true;
49 }
50
51 // Bang the shadow pages if they need to be touched to be mapped.
52 inline void os::map_stack_shadow_pages(address sp) {
53 // Write to each page of our new frame to force OS mapping.
54 // If we decrement stack pointer more than one page
|
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef OS_WINDOWS_OS_WINDOWS_INLINE_HPP
26 #define OS_WINDOWS_OS_WINDOWS_INLINE_HPP
27
28 #include "runtime/os.hpp"
29 #include "runtime/thread.hpp"
30
31 inline const char* os::dll_file_extension() { return ".dll"; }
32
33 inline void os::dll_unload(void *lib) {
34 ::FreeLibrary((HMODULE)lib);
35 }
36
37 inline void* os::dll_lookup(void *lib, const char *name) {
38 return (void*)::GetProcAddress((HMODULE)lib, name);
39 }
40
41 inline bool os::uses_stack_guard_pages() {
42 return true;
43 }
44
45 inline bool os::must_commit_stack_guard_pages() {
46 return true;
47 }
48
49 // Bang the shadow pages if they need to be touched to be mapped.
50 inline void os::map_stack_shadow_pages(address sp) {
51 // Write to each page of our new frame to force OS mapping.
52 // If we decrement stack pointer more than one page
|