@@ -98,9 +98,6 @@ impl FromStr for PerfEventOptions {
98
98
}
99
99
}
100
100
101
- /// The default nursery space size.
102
- #[ cfg( target_pointer_width = "64" ) ]
103
- pub const NURSERY_SIZE : usize = ( 1 << 20 ) << LOG_BYTES_IN_MBYTE ;
104
101
/// The default min nursery size. This does not affect the actual space we create as nursery. It is
105
102
/// only used in the GC trigger check.
106
103
#[ cfg( target_pointer_width = "64" ) ]
@@ -110,17 +107,16 @@ pub const DEFAULT_MIN_NURSERY: usize = 20 << LOG_BYTES_IN_MBYTE;
110
107
#[ cfg( target_pointer_width = "64" ) ]
111
108
pub const DEFAULT_MAX_NURSERY : usize = ( 1 << 20 ) << LOG_BYTES_IN_MBYTE ;
112
109
113
- /// The default nursery space size.
114
- #[ cfg( target_pointer_width = "32" ) ]
115
- pub const NURSERY_SIZE : usize = 32 << LOG_BYTES_IN_MBYTE ;
116
110
/// The default min nursery size. This does not affect the actual space we create as nursery. It is
117
111
/// only used in the GC trigger check.
118
112
#[ cfg( target_pointer_width = "32" ) ]
119
113
pub const DEFAULT_MIN_NURSERY : usize = 2 << LOG_BYTES_IN_MBYTE ;
114
+ /// The default max nursery size for 32 bits.
115
+ pub const DEFAULT_MAX_NURSERY_32 : usize = 32 << LOG_BYTES_IN_MBYTE ;
120
116
/// The default max nursery size. This does not affect the actual space we create as nursery. It is
121
117
/// only used in the GC trigger check.
122
118
#[ cfg( target_pointer_width = "32" ) ]
123
- pub const DEFAULT_MAX_NURSERY : usize = 32 << LOG_BYTES_IN_MBYTE ;
119
+ pub const DEFAULT_MAX_NURSERY : usize = DEFAULT_MAX_NURSERY_32 ;
124
120
125
121
/// The default min nursery size proportional to the current heap size
126
122
pub const DEFAULT_PROPORTIONAL_MIN_NURSERY : f64 = 0.2 ;
@@ -437,8 +433,13 @@ impl NurserySize {
437
433
let virtual_memory_bytes = match * self {
438
434
NurserySize :: Bounded { min : _, max } => max,
439
435
// Just use the default max nursery size -- the nursery won't get larger than that.
440
- // See get_max_nursery_bytes()
441
- NurserySize :: ProportionalBounded { min : _, max : _ } => DEFAULT_MAX_NURSERY ,
436
+ NurserySize :: ProportionalBounded { min : _, max : _ } => {
437
+ if !crate :: util:: heap:: vm_layout:: vm_layout ( ) . force_use_contiguous_spaces {
438
+ DEFAULT_MAX_NURSERY_32
439
+ } else {
440
+ DEFAULT_MAX_NURSERY
441
+ }
442
+ }
442
443
NurserySize :: Fixed ( sz) => sz,
443
444
} ;
444
445
conversions:: raw_align_up ( virtual_memory_bytes, BYTES_IN_CHUNK )
0 commit comments