Mercurial > hg > truffle
comparison src/os/linux/vm/os_linux.hpp @ 17472:2a907fd129cb
Merge
author | chegar |
---|---|
date | Fri, 06 Sep 2013 09:55:38 +0100 |
parents | 4c84d351cca9 |
children | 0d59407e7e09 |
comparison
equal
deleted
inserted
replaced
17471:7ccce1a6fa4d | 17472:2a907fd129cb |
---|---|
30 /* pthread_getattr_np comes with LinuxThreads-0.9-7 on RedHat 7.1 */ | 30 /* pthread_getattr_np comes with LinuxThreads-0.9-7 on RedHat 7.1 */ |
31 typedef int (*pthread_getattr_func_type) (pthread_t, pthread_attr_t *); | 31 typedef int (*pthread_getattr_func_type) (pthread_t, pthread_attr_t *); |
32 | 32 |
33 class Linux { | 33 class Linux { |
34 friend class os; | 34 friend class os; |
35 friend class TestReserveMemorySpecial; | |
35 | 36 |
36 // For signal-chaining | 37 // For signal-chaining |
37 #define MAXSIGNUM 32 | 38 #define MAXSIGNUM 32 |
38 static struct sigaction sigact[MAXSIGNUM]; // saved preinstalled sigactions | 39 static struct sigaction sigact[MAXSIGNUM]; // saved preinstalled sigactions |
39 static unsigned int sigs; // mask of signals that have | 40 static unsigned int sigs; // mask of signals that have |
90 static void set_is_floating_stack() { _is_floating_stack = true; } | 91 static void set_is_floating_stack() { _is_floating_stack = true; } |
91 | 92 |
92 static void rebuild_cpu_to_node_map(); | 93 static void rebuild_cpu_to_node_map(); |
93 static GrowableArray<int>* cpu_to_node() { return _cpu_to_node; } | 94 static GrowableArray<int>* cpu_to_node() { return _cpu_to_node; } |
94 | 95 |
96 static size_t find_large_page_size(); | |
97 static size_t setup_large_page_size(); | |
98 | |
99 static bool setup_large_page_type(size_t page_size); | |
100 static bool transparent_huge_pages_sanity_check(bool warn, size_t pages_size); | |
95 static bool hugetlbfs_sanity_check(bool warn, size_t page_size); | 101 static bool hugetlbfs_sanity_check(bool warn, size_t page_size); |
102 | |
103 static char* reserve_memory_special_shm(size_t bytes, size_t alignment, char* req_addr, bool exec); | |
104 static char* reserve_memory_special_huge_tlbfs(size_t bytes, size_t alignment, char* req_addr, bool exec); | |
105 static char* reserve_memory_special_huge_tlbfs_only(size_t bytes, char* req_addr, bool exec); | |
106 static char* reserve_memory_special_huge_tlbfs_mixed(size_t bytes, size_t alignment, char* req_addr, bool exec); | |
107 | |
108 static bool release_memory_special_shm(char* base, size_t bytes); | |
109 static bool release_memory_special_huge_tlbfs(char* base, size_t bytes); | |
96 | 110 |
97 static void print_full_memory_info(outputStream* st); | 111 static void print_full_memory_info(outputStream* st); |
98 static void print_distro_info(outputStream* st); | 112 static void print_distro_info(outputStream* st); |
99 static void print_libversion_info(outputStream* st); | 113 static void print_libversion_info(outputStream* st); |
100 | 114 |