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

Side by Side Diff: base/allocator/allocator_shim_win.cc

Issue 1825823002: Cleanup: LFH only needs to be enabled on XP/2003 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: A few more instances Created 4 years, 8 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
« no previous file with comments | « no previous file | base/process/memory.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <limits.h> 5 #include <limits.h>
6 #include <malloc.h> 6 #include <malloc.h>
7 #include <new.h> 7 #include <new.h>
8 #include <windows.h> 8 #include <windows.h>
9 #include <stddef.h> 9 #include <stddef.h>
10 10
(...skipping 26 matching lines...) Expand all
37 const size_t kWindowsPageSize = 4096; 37 const size_t kWindowsPageSize = 4096;
38 const size_t kMaxWindowsAllocation = INT_MAX - kWindowsPageSize; 38 const size_t kMaxWindowsAllocation = INT_MAX - kWindowsPageSize;
39 int new_mode = 0; 39 int new_mode = 0;
40 40
41 // VS2013 crt uses the process heap as its heap, so we do the same here. 41 // VS2013 crt uses the process heap as its heap, so we do the same here.
42 // See heapinit.c in VS CRT sources. 42 // See heapinit.c in VS CRT sources.
43 bool win_heap_init() { 43 bool win_heap_init() {
44 // Set the _crtheap global here. THis allows us to offload most of the 44 // Set the _crtheap global here. THis allows us to offload most of the
45 // memory management to the CRT, except the functions we need to shim. 45 // memory management to the CRT, except the functions we need to shim.
46 _crtheap = GetProcessHeap(); 46 _crtheap = GetProcessHeap();
47 if (_crtheap == NULL) 47 return _crtheap != NULL;
scottmg 2016/03/29 20:23:32 NULL -> nullptr
manzagop (departed) 2016/03/29 20:35:04 Done.
48 return false;
49
50 ULONG enable_lfh = 2;
51 // NOTE: Setting LFH may fail. Vista already has it enabled.
52 // And under the debugger, it won't use LFH. So we
53 // ignore any errors.
54 HeapSetInformation(_crtheap, HeapCompatibilityInformation, &enable_lfh,
55 sizeof(enable_lfh));
56
57 return true;
58 } 48 }
59 49
60 void* win_heap_malloc(size_t size) { 50 void* win_heap_malloc(size_t size) {
61 if (size < kMaxWindowsAllocation) 51 if (size < kMaxWindowsAllocation)
62 return HeapAlloc(_crtheap, 0, size); 52 return HeapAlloc(_crtheap, 0, size);
63 return NULL; 53 return NULL;
64 } 54 }
65 55
66 void win_heap_free(void* size) { 56 void win_heap_free(void* size) {
67 HeapFree(_crtheap, 0, size); 57 HeapFree(_crtheap, 0, size);
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 void _free_dbg(void* ptr, int) { 310 void _free_dbg(void* ptr, int) {
321 free(ptr); 311 free(ptr);
322 } 312 }
323 313
324 void* _calloc_dbg(size_t n, size_t size, int, const char*, int) { 314 void* _calloc_dbg(size_t n, size_t size, int, const char*, int) {
325 return calloc(n, size); 315 return calloc(n, size);
326 } 316 }
327 #endif // NDEBUG 317 #endif // NDEBUG
328 318
329 } // extern C 319 } // extern C
OLDNEW
« no previous file with comments | « no previous file | base/process/memory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698