Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(398)

Side by Side Diff: source/libvpx/vpx_mem/memory_manager/hmm_alloc.c

Issue 1124333011: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: only update to last nights LKGR Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11
12 /* This code is in the public domain.
13 ** Version: 1.1 Author: Walt Karas
14 */
15
16 #include "hmm_intrnl.h"
17
18 void *U(alloc)(U(descriptor) *desc, U(size_aau) n) {
19 #ifdef HMM_AUDIT_FAIL
20
21 if (desc->avl_tree_root)
22 AUDIT_BLOCK(PTR_REC_TO_HEAD(desc->avl_tree_root))
23 #endif
24
25 if (desc->last_freed) {
26 #ifdef HMM_AUDIT_FAIL
27 AUDIT_BLOCK(desc->last_freed)
28 #endif
29
30 U(into_free_collection)(desc, (head_record *)(desc->last_freed));
31
32 desc->last_freed = 0;
33 }
34
35 /* Add space for block header. */
36 n += HEAD_AAUS;
37
38 /* Convert n from number of address alignment units to block alignment
39 ** units. */
40 n = DIV_ROUND_UP(n, HMM_BLOCK_ALIGN_UNIT);
41
42 if (n < MIN_BLOCK_BAUS)
43 n = MIN_BLOCK_BAUS;
44
45 {
46 /* Search for the first node of the bin containing the smallest
47 ** block big enough to satisfy request. */
48 ptr_record *ptr_rec_ptr =
49 U(avl_search)(
50 (U(avl_avl) *) & (desc->avl_tree_root), (U(size_bau)) n,
51 AVL_GREATER_EQUAL);
52
53 /* If an approprate bin is found, satisfy the allocation request,
54 ** otherwise return null pointer. */
55 return(ptr_rec_ptr ?
56 U(alloc_from_bin)(desc, ptr_rec_ptr, (U(size_bau)) n) : 0);
57 }
58 }
OLDNEW
« no previous file with comments | « source/libvpx/vpx_mem/include/vpx_mem_tracker.h ('k') | source/libvpx/vpx_mem/memory_manager/hmm_base.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698