87 static size_t allocation_align_size_down(size_t size);
88 };
89
90 ReservedSpace
91 ReservedSpace::first_part(size_t partition_size, bool split, bool realloc)
92 {
93 return first_part(partition_size, alignment(), split, realloc);
94 }
95
96 ReservedSpace ReservedSpace::last_part(size_t partition_size)
97 {
98 return last_part(partition_size, alignment());
99 }
100
101 // Class encapsulating behavior specific of memory space reserved for Java heap
102 class ReservedHeapSpace : public ReservedSpace {
103 public:
104 // Constructor
105 ReservedHeapSpace(size_t size, size_t forced_base_alignment,
106 bool large, char* requested_address);
107 };
108
109 // Class encapsulating behavior specific memory space for Code
110 class ReservedCodeSpace : public ReservedSpace {
111 public:
112 // Constructor
113 ReservedCodeSpace(size_t r_size, size_t rs_align, bool large);
114 };
115
116 // VirtualSpace is data structure for committing a previously reserved address range in smaller chunks.
117
118 class VirtualSpace VALUE_OBJ_CLASS_SPEC {
119 friend class VMStructs;
120 private:
121 // Reserved area
122 char* _low_boundary;
123 char* _high_boundary;
124
125 // Committed area
126 char* _low;
|
87 static size_t allocation_align_size_down(size_t size);
88 };
89
90 ReservedSpace
91 ReservedSpace::first_part(size_t partition_size, bool split, bool realloc)
92 {
93 return first_part(partition_size, alignment(), split, realloc);
94 }
95
96 ReservedSpace ReservedSpace::last_part(size_t partition_size)
97 {
98 return last_part(partition_size, alignment());
99 }
100
101 // Class encapsulating behavior specific of memory space reserved for Java heap
102 class ReservedHeapSpace : public ReservedSpace {
103 public:
104 // Constructor
105 ReservedHeapSpace(size_t size, size_t forced_base_alignment,
106 bool large, char* requested_address);
107 static size_t noaccess_prefix_size(size_t alignment);
108 };
109
110 // Class encapsulating behavior specific memory space for Code
111 class ReservedCodeSpace : public ReservedSpace {
112 public:
113 // Constructor
114 ReservedCodeSpace(size_t r_size, size_t rs_align, bool large);
115 };
116
117 // VirtualSpace is data structure for committing a previously reserved address range in smaller chunks.
118
119 class VirtualSpace VALUE_OBJ_CLASS_SPEC {
120 friend class VMStructs;
121 private:
122 // Reserved area
123 char* _low_boundary;
124 char* _high_boundary;
125
126 // Committed area
127 char* _low;
|