use super::mock_test_prelude::*;
use crate::util::heap::vm_layout::VMLayout;
pub fn test_with_vm_layout(layout: Option<VMLayout>) {
use crate::plan::AllocationSemantics;
let mut fixture = MutatorFixture::create_with_builder(|builder| {
builder
.options
.gc_trigger
.set(crate::util::options::GCTriggerSelector::FixedHeapSize(
1024 * 1024,
));
if let Some(layout) = layout {
builder.set_vm_layout(layout);
}
});
let addr = memory_manager::alloc(&mut fixture.mutator, 8, 8, 0, AllocationSemantics::Default);
let obj = MockVM::object_start_to_ref(addr);
assert!(memory_manager::is_in_mmtk_spaces(obj));
assert!(memory_manager::is_mapped_address(addr));
}
#[test]
fn test_vm_layout_default() {
with_mockvm(
default_setup,
|| {
test_with_vm_layout(None);
},
no_cleanup,
)
}