Mercurial > hg > truffle
comparison src/share/vm/runtime/virtualspace.hpp @ 10187:b294421fa3c5
8012915: ReservedSpace::align_reserved_region() broken on Windows
Summary: remove unused constructors and helper methods for ReservedHeapSpace and ReservedSpace
Reviewed-by: mgerdin, jmasa, johnc, tschatzl
author | brutisso |
---|---|
date | Fri, 26 Apr 2013 09:53:22 +0200 |
parents | da91efe96a93 |
children | 4c84d351cca9 |
comparison
equal
deleted
inserted
replaced
10186:b06ac540229e | 10187:b294421fa3c5 |
---|---|
45 void initialize(size_t size, size_t alignment, bool large, | 45 void initialize(size_t size, size_t alignment, bool large, |
46 char* requested_address, | 46 char* requested_address, |
47 const size_t noaccess_prefix, | 47 const size_t noaccess_prefix, |
48 bool executable); | 48 bool executable); |
49 | 49 |
50 // Release parts of an already-reserved memory region [addr, addr + len) to | |
51 // get a new region that has "compound alignment." Return the start of the | |
52 // resulting region, or NULL on failure. | |
53 // | |
54 // The region is logically divided into a prefix and a suffix. The prefix | |
55 // starts at the result address, which is aligned to prefix_align. The suffix | |
56 // starts at result address + prefix_size, which is aligned to suffix_align. | |
57 // The total size of the result region is size prefix_size + suffix_size. | |
58 char* align_reserved_region(char* addr, const size_t len, | |
59 const size_t prefix_size, | |
60 const size_t prefix_align, | |
61 const size_t suffix_size, | |
62 const size_t suffix_align); | |
63 | |
64 // Reserve memory, call align_reserved_region() to alignment it and return the | |
65 // result. | |
66 char* reserve_and_align(const size_t reserve_size, | |
67 const size_t prefix_size, | |
68 const size_t prefix_align, | |
69 const size_t suffix_size, | |
70 const size_t suffix_align); | |
71 | |
72 protected: | 50 protected: |
73 // Create protection page at the beginning of the space. | 51 // Create protection page at the beginning of the space. |
74 void protect_noaccess_prefix(const size_t size); | 52 void protect_noaccess_prefix(const size_t size); |
75 | 53 |
76 public: | 54 public: |
77 // Constructor | 55 // Constructor |
78 ReservedSpace(size_t size); | 56 ReservedSpace(size_t size); |
79 ReservedSpace(size_t size, size_t alignment, bool large, | 57 ReservedSpace(size_t size, size_t alignment, bool large, |
80 char* requested_address = NULL, | 58 char* requested_address = NULL, |
81 const size_t noaccess_prefix = 0); | |
82 ReservedSpace(const size_t suffix_size, const size_t suffix_align, | |
83 char* requested_address, | |
84 const size_t noaccess_prefix = 0); | 59 const size_t noaccess_prefix = 0); |
85 ReservedSpace(size_t size, size_t alignment, bool large, bool executable); | 60 ReservedSpace(size_t size, size_t alignment, bool large, bool executable); |
86 | 61 |
87 // Accessors | 62 // Accessors |
88 char* base() const { return _base; } | 63 char* base() const { return _base; } |
126 class ReservedHeapSpace : public ReservedSpace { | 101 class ReservedHeapSpace : public ReservedSpace { |
127 public: | 102 public: |
128 // Constructor | 103 // Constructor |
129 ReservedHeapSpace(size_t size, size_t forced_base_alignment, | 104 ReservedHeapSpace(size_t size, size_t forced_base_alignment, |
130 bool large, char* requested_address); | 105 bool large, char* requested_address); |
131 ReservedHeapSpace(const size_t prefix_size, const size_t prefix_align, | |
132 char* requested_address); | |
133 }; | 106 }; |
134 | 107 |
135 // Class encapsulating behavior specific memory space for Code | 108 // Class encapsulating behavior specific memory space for Code |
136 class ReservedCodeSpace : public ReservedSpace { | 109 class ReservedCodeSpace : public ReservedSpace { |
137 public: | 110 public: |