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

Side by Side Diff: third_party/jemalloc/chromium/jemalloc.c

Issue 12230011: Fix jemalloc c4334 warnings when compiling win64 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* -*- Mode: C; tab-width: 8; c-basic-offset: 8 -*- */ 1 /* -*- Mode: C; tab-width: 8; c-basic-offset: 8 -*- */
2 /* vim:set softtabstop=8 shiftwidth=8: */ 2 /* vim:set softtabstop=8 shiftwidth=8: */
3 /*- 3 /*-
4 * Copyright (C) 2006-2008 Jason Evans <jasone@FreeBSD.org>. 4 * Copyright (C) 2006-2008 Jason Evans <jasone@FreeBSD.org>.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 4806 matching lines...) Expand 10 before | Expand all | Expand 10 after
4817 4817
4818 /* Initialize bins. */ 4818 /* Initialize bins. */
4819 prev_run_size = pagesize; 4819 prev_run_size = pagesize;
4820 4820
4821 /* (2^n)-spaced tiny bins. */ 4821 /* (2^n)-spaced tiny bins. */
4822 for (i = 0; i < ntbins; i++) { 4822 for (i = 0; i < ntbins; i++) {
4823 bin = &arena->bins[i]; 4823 bin = &arena->bins[i];
4824 bin->runcur = NULL; 4824 bin->runcur = NULL;
4825 arena_run_tree_new(&bin->runs); 4825 arena_run_tree_new(&bin->runs);
4826 4826
4827 » » bin->reg_size = (1U << (TINY_MIN_2POW + i)); 4827 » » bin->reg_size = ((size_t)1 << (TINY_MIN_2POW + i));
4828 4828
4829 prev_run_size = arena_bin_run_size_calc(bin, prev_run_size); 4829 prev_run_size = arena_bin_run_size_calc(bin, prev_run_size);
4830 4830
4831 #ifdef MALLOC_STATS 4831 #ifdef MALLOC_STATS
4832 memset(&bin->stats, 0, sizeof(malloc_bin_stats_t)); 4832 memset(&bin->stats, 0, sizeof(malloc_bin_stats_t));
4833 #endif 4833 #endif
4834 } 4834 }
4835 4835
4836 /* Quantum-spaced bins. */ 4836 /* Quantum-spaced bins. */
4837 for (; i < ntbins + nqbins; i++) { 4837 for (; i < ntbins + nqbins; i++) {
(...skipping 1030 matching lines...) Expand 10 before | Expand all | Expand 10 after
5868 } 5868 }
5869 5869
5870 #if (!defined(MOZ_MEMORY_WINDOWS) && !defined(MOZ_MEMORY_DARWIN)) 5870 #if (!defined(MOZ_MEMORY_WINDOWS) && !defined(MOZ_MEMORY_DARWIN))
5871 /* Prevent potential deadlock on malloc locks after fork. */ 5871 /* Prevent potential deadlock on malloc locks after fork. */
5872 pthread_atfork(_malloc_prefork, _malloc_postfork, _malloc_postfork); 5872 pthread_atfork(_malloc_prefork, _malloc_postfork, _malloc_postfork);
5873 #endif 5873 #endif
5874 5874
5875 /* Set variables according to the value of opt_small_max_2pow. */ 5875 /* Set variables according to the value of opt_small_max_2pow. */
5876 if (opt_small_max_2pow < opt_quantum_2pow) 5876 if (opt_small_max_2pow < opt_quantum_2pow)
5877 opt_small_max_2pow = opt_quantum_2pow; 5877 opt_small_max_2pow = opt_quantum_2pow;
5878 » small_max = (1U << opt_small_max_2pow); 5878 » small_max = ((size_t)1 << opt_small_max_2pow);
5879 5879
5880 /* Set bin-related variables. */ 5880 /* Set bin-related variables. */
5881 bin_maxclass = (pagesize >> 1); 5881 bin_maxclass = (pagesize >> 1);
5882 assert(opt_quantum_2pow >= TINY_MIN_2POW); 5882 assert(opt_quantum_2pow >= TINY_MIN_2POW);
5883 ntbins = opt_quantum_2pow - TINY_MIN_2POW; 5883 ntbins = opt_quantum_2pow - TINY_MIN_2POW;
5884 assert(ntbins <= opt_quantum_2pow); 5884 assert(ntbins <= opt_quantum_2pow);
5885 nqbins = (small_max >> opt_quantum_2pow); 5885 nqbins = (small_max >> opt_quantum_2pow);
5886 nsbins = pagesize_2pow - opt_small_max_2pow - 1; 5886 nsbins = pagesize_2pow - opt_small_max_2pow - 1;
5887 5887
5888 /* Set variables according to the value of opt_quantum_2pow. */ 5888 /* Set variables according to the value of opt_quantum_2pow. */
5889 » quantum = (1U << opt_quantum_2pow); 5889 » quantum = ((size_t)1 << opt_quantum_2pow);
5890 quantum_mask = quantum - 1; 5890 quantum_mask = quantum - 1;
5891 if (ntbins > 0) 5891 if (ntbins > 0)
5892 small_min = (quantum >> 1) + 1; 5892 small_min = (quantum >> 1) + 1;
5893 else 5893 else
5894 small_min = 1; 5894 small_min = 1;
5895 assert(small_min <= quantum); 5895 assert(small_min <= quantum);
5896 5896
5897 /* Set variables according to the value of opt_chunk_2pow. */ 5897 /* Set variables according to the value of opt_chunk_2pow. */
5898 » chunksize = (1LU << opt_chunk_2pow); 5898 » chunksize = ((size_t)1 << opt_chunk_2pow);
5899 chunksize_mask = chunksize - 1; 5899 chunksize_mask = chunksize - 1;
5900 chunk_npages = (chunksize >> pagesize_2pow); 5900 chunk_npages = (chunksize >> pagesize_2pow);
5901 { 5901 {
5902 size_t header_size; 5902 size_t header_size;
5903 5903
5904 /* 5904 /*
5905 * Compute the header size such that it is large 5905 * Compute the header size such that it is large
5906 * enough to contain the page map and enough nodes for the 5906 * enough to contain the page map and enough nodes for the
5907 * worst case: one node per non-header page plus one extra for 5907 * worst case: one node per non-header page plus one extra for
5908 * situations where we briefly have one more node allocated 5908 * situations where we briefly have one more node allocated
(...skipping 1359 matching lines...) Expand 10 before | Expand all | Expand 10 after
7268 7268
7269 #elif defined(RTLD_DEEPBIND) 7269 #elif defined(RTLD_DEEPBIND)
7270 /* 7270 /*
7271 * XXX On systems that support RTLD_GROUP or DF_1_GROUP, do their 7271 * XXX On systems that support RTLD_GROUP or DF_1_GROUP, do their
7272 * implementations permit similar inconsistencies? Should STV_SINGLETON 7272 * implementations permit similar inconsistencies? Should STV_SINGLETON
7273 * visibility be used for interposition where available? 7273 * visibility be used for interposition where available?
7274 */ 7274 */
7275 # error "Interposing malloc is unsafe on this system without libc malloc hooks. " 7275 # error "Interposing malloc is unsafe on this system without libc malloc hooks. "
7276 #endif 7276 #endif
7277 7277
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698