Lines Matching refs:df_handle

202 			default_freezer_handle_t df_handle)
218 fo->fo_df_handle = df_handle;
242 default_freezer_handle_t df_handle)
246 if (df_handle) {
247 default_freezer_handle_lock(df_handle);
250 kr = vm_object_pack(purgeable_count, wired_count, clean_count, dirty_count, dirty_budget, shared, src_object, df_handle);
252 if (df_handle) {
253 default_freezer_handle_unlock(df_handle);
268 default_freezer_handle_t df_handle)
275 assert(df_handle);
277 compact_object = df_handle->dfh_compact_object;
281 freeze_table = df_handle->dfh_table;
285 default_freezer_memory_object_create(p->object, df_handle);
288 assert(df_handle == ((default_freezer_memory_object_t)memory_object)->fo_df_handle);
292 default_freezer_mapping_store(freeze_table, df_handle->dfh_compact_offset, memory_object, p->offset + p->object->paging_offset);
293 vm_page_rename(p, compact_object, df_handle->dfh_compact_offset, FALSE);
296 df_handle->dfh_compact_offset += PAGE_SIZE;
302 default_freezer_handle_t df_handle)
317 assert(df_handle);
319 default_freezer_handle_lock(df_handle);
322 freeze_table = df_handle->dfh_table;
323 compact_object = df_handle->dfh_compact_object;
333 default_freezer_handle_unlock(df_handle);
399 df_handle->dfh_table = NULL;
400 df_handle->dfh_compact_object = VM_OBJECT_NULL;
401 df_handle->dfh_compact_offset = 0;
402 default_freezer_handle_unlock(df_handle);
526 default_freezer_handle_t df_handle = NULL;
528 df_handle = fo->fo_df_handle;
530 if (df_handle == NULL) {
533 default_freezer_handle_lock(df_handle);
552 default_freezer_handle_unlock(df_handle);
766 default_freezer_handle_lock(default_freezer_handle_t df_handle) {
767 lck_rw_lock_exclusive(&df_handle->dfh_lck);
771 default_freezer_handle_unlock(default_freezer_handle_t df_handle) {
772 lck_rw_done(&df_handle->dfh_lck);
779 default_freezer_handle_t df_handle = NULL;
780 df_handle = kalloc(sizeof(struct default_freezer_handle));
782 if (df_handle) {
783 memset(df_handle, 0, sizeof(struct default_freezer_handle));
784 lck_rw_init(&df_handle->dfh_lck, &default_freezer_handle_lck_grp, NULL);
786 default_freezer_handle_reference_locked(df_handle);
790 return df_handle;
795 default_freezer_handle_t df_handle)
800 if (df_handle == NULL || df_handle->dfh_table != NULL) {
808 df_handle->dfh_compact_object = compact_object;
809 df_handle->dfh_compact_offset = 0;
810 df_handle->dfh_table = default_freezer_mapping_create(df_handle->dfh_compact_object, df_handle->dfh_compact_offset);
811 if (!df_handle->dfh_table) {
822 default_freezer_handle_t df_handle)
824 assert(df_handle);
825 df_handle->dfh_ref_count++;
830 default_freezer_handle_t df_handle)
832 assert(df_handle);
833 default_freezer_handle_lock(df_handle);
834 if (default_freezer_handle_deallocate_locked(df_handle)) {
835 default_freezer_handle_unlock(df_handle);
841 default_freezer_handle_t df_handle)
845 assert(df_handle);
846 df_handle->dfh_ref_count--;
847 if (df_handle->dfh_ref_count == 0) {
849 if (df_handle->dfh_compact_object) {
850 vm_object_deallocate(df_handle->dfh_compact_object);
851 df_handle->dfh_compact_object = NULL;
852 df_handle->dfh_compact_offset = 0;
855 if (df_handle->dfh_table) {
856 default_freezer_mapping_free(&df_handle->dfh_table, TRUE);
857 df_handle->dfh_table = NULL;
860 lck_rw_done(&df_handle->dfh_lck);
861 lck_rw_destroy(&df_handle->dfh_lck, &default_freezer_handle_lck_grp);
864 kfree(df_handle, sizeof(struct default_freezer_handle));
871 default_freezer_handle_t df_handle)
873 assert(df_handle);
875 vm_object_pageout(df_handle->dfh_compact_object);