0N/A/*
4552N/A * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
0N/A * published by the Free Software Foundation.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
1472N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1472N/A * or visit www.oracle.com if you need additional information or have any
1472N/A * questions.
0N/A *
0N/A */
0N/A
1879N/A#ifndef OS_LINUX_VM_OS_LINUX_HPP
1879N/A#define OS_LINUX_VM_OS_LINUX_HPP
1879N/A
0N/A// Linux_OS defines the interface to Linux operating systems
0N/A
0N/A/* pthread_getattr_np comes with LinuxThreads-0.9-7 on RedHat 7.1 */
0N/Atypedef int (*pthread_getattr_func_type) (pthread_t, pthread_attr_t *);
0N/A
0N/Aclass Linux {
0N/A friend class os;
0N/A
0N/A // For signal-chaining
0N/A#define MAXSIGNUM 32
0N/A static struct sigaction sigact[MAXSIGNUM]; // saved preinstalled sigactions
0N/A static unsigned int sigs; // mask of signals that have
0N/A // preinstalled signal handlers
0N/A static bool libjsig_is_loaded; // libjsig that interposes sigaction(),
0N/A // __sigaction(), signal() is loaded
0N/A static struct sigaction *(*get_signal_action)(int);
0N/A static struct sigaction *get_preinstalled_handler(int);
0N/A static void save_preinstalled_handler(int, struct sigaction&);
0N/A
0N/A static void check_signal_handler(int sig);
0N/A
0N/A // For signal flags diagnostics
0N/A static int sigflags[MAXSIGNUM];
0N/A
0N/A static int (*_clock_gettime)(clockid_t, struct timespec *);
0N/A static int (*_pthread_getcpuclockid)(pthread_t, clockid_t *);
0N/A
0N/A static address _initial_thread_stack_bottom;
0N/A static uintptr_t _initial_thread_stack_size;
0N/A
199N/A static const char *_glibc_version;
199N/A static const char *_libpthread_version;
0N/A
0N/A static bool _is_floating_stack;
0N/A static bool _is_NPTL;
0N/A static bool _supports_fast_thread_cpu_time;
0N/A
141N/A static GrowableArray<int>* _cpu_to_node;
141N/A
0N/A protected:
0N/A
0N/A static julong _physical_memory;
0N/A static pthread_t _main_thread;
0N/A static Mutex* _createThread_lock;
0N/A static int _page_size;
4531N/A static const int _vm_default_page_size;
0N/A
0N/A static julong available_memory();
0N/A static julong physical_memory() { return _physical_memory; }
0N/A static void initialize_system_info();
0N/A
4552N/A static int commit_memory_impl(char* addr, size_t bytes, bool exec);
4552N/A static int commit_memory_impl(char* addr, size_t bytes,
4552N/A size_t alignment_hint, bool exec);
4552N/A
199N/A static void set_glibc_version(const char *s) { _glibc_version = s; }
199N/A static void set_libpthread_version(const char *s) { _libpthread_version = s; }
0N/A
0N/A static bool supports_variable_stack_size();
0N/A
0N/A static void set_is_NPTL() { _is_NPTL = true; }
0N/A static void set_is_LinuxThreads() { _is_NPTL = false; }
0N/A static void set_is_floating_stack() { _is_floating_stack = true; }
0N/A
141N/A static void rebuild_cpu_to_node_map();
Error!

 

There was an error!

null

java.lang.NullPointerException