if (!defined &_VM_OBJECT_) {
    eval 'sub _VM_OBJECT_ {1;}';
    require 'vm/vm_page.ph';
    require 'vm/vm_pager.ph';
    eval 'sub OBJ_CANPERSIST {0x0001;}';
    eval 'sub OBJ_INTERNAL {0x0002;}';
    eval 'sub OBJ_ACTIVE {0x0004;}';
    if (defined &KERNEL) {
	eval 'sub vm_object_cache_lock {
	    eval " &simple_lock(& &vm_cache_lock)";
	}';
	eval 'sub vm_object_cache_unlock {
	    eval " &simple_unlock(& &vm_cache_lock)";
	}';
    }
    eval 'sub vm_object_lock_init {
        local($object) = @_;
        eval " &simple_lock_init(&($object)-> &Lock)";
    }';
    eval 'sub vm_object_lock {
        local($object) = @_;
        eval " &simple_lock(&($object)-> &Lock)";
    }';
    eval 'sub vm_object_unlock {
        local($object) = @_;
        eval " &simple_unlock(&($object)-> &Lock)";
    }';
    eval 'sub vm_object_lock_try {
        local($object) = @_;
        eval " &simple_lock_try(&($object)-> &Lock)";
    }';
    eval 'sub vm_object_sleep {
        local($event, $object, $interruptible) = @_;
        eval " &thread_sleep(($event), &($object)-> &Lock, ($interruptible))";
    }';
    if (defined &KERNEL) {
    }
}
1;
