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: