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

Unified Diff: fusl/src/malloc/expand_heap.c

Issue 1714623002: [fusl] clang-format fusl (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: headers too Created 4 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 side-by-side diff with in-line comments
Download patch
Index: fusl/src/malloc/expand_heap.c
diff --git a/fusl/src/malloc/expand_heap.c b/fusl/src/malloc/expand_heap.c
index d8c0be742b69f1739ad54b9d3df56849a983ef2b..61e79896c373e4a5ce26b0bc35bb1a09349e0062 100644
--- a/fusl/src/malloc/expand_heap.c
+++ b/fusl/src/malloc/expand_heap.c
@@ -11,23 +11,24 @@
* (the current stack). It is used to defend against
* buggy brk implementations that can cross the stack. */
-static int traverses_stack_p(uintptr_t old, uintptr_t new)
-{
- const uintptr_t len = 8<<20;
- uintptr_t a, b;
+static int traverses_stack_p(uintptr_t old, uintptr_t new) {
+ const uintptr_t len = 8 << 20;
+ uintptr_t a, b;
- b = (uintptr_t)libc.auxv;
- a = b > len ? b-len : 0;
- if (new>a && old<b) return 1;
+ b = (uintptr_t)libc.auxv;
+ a = b > len ? b - len : 0;
+ if (new > a && old < b)
+ return 1;
- b = (uintptr_t)&b;
- a = b > len ? b-len : 0;
- if (new>a && old<b) return 1;
+ b = (uintptr_t)&b;
+ a = b > len ? b - len : 0;
+ if (new > a && old < b)
+ return 1;
- return 0;
+ return 0;
}
-void *__mmap(void *, size_t, int, int, int, off_t);
+void* __mmap(void*, size_t, int, int, int, off_t);
/* Expand the heap in-place if brk can be used, or otherwise via mmap,
* using an exponential lower bound on growth by mmap to make
@@ -37,36 +38,37 @@ void *__mmap(void *, size_t, int, int, int, off_t);
* and mmap minimum size rules. The caller is responsible for locking
* to prevent concurrent calls. */
-void *__expand_heap(size_t *pn)
-{
- static uintptr_t brk;
- static unsigned mmap_step;
- size_t n = *pn;
+void* __expand_heap(size_t* pn) {
+ static uintptr_t brk;
+ static unsigned mmap_step;
+ size_t n = *pn;
- if (n > SIZE_MAX/2 - PAGE_SIZE) {
- errno = ENOMEM;
- return 0;
- }
- n += -n & PAGE_SIZE-1;
+ if (n > SIZE_MAX / 2 - PAGE_SIZE) {
+ errno = ENOMEM;
+ return 0;
+ }
+ n += -n & PAGE_SIZE - 1;
- if (!brk) {
- brk = __syscall(SYS_brk, 0);
- brk += -brk & PAGE_SIZE-1;
- }
+ if (!brk) {
+ brk = __syscall(SYS_brk, 0);
+ brk += -brk & PAGE_SIZE - 1;
+ }
- if (n < SIZE_MAX-brk && !traverses_stack_p(brk, brk+n)
- && __syscall(SYS_brk, brk+n)==brk+n) {
- *pn = n;
- brk += n;
- return (void *)(brk-n);
- }
+ if (n < SIZE_MAX - brk && !traverses_stack_p(brk, brk + n) &&
+ __syscall(SYS_brk, brk + n) == brk + n) {
+ *pn = n;
+ brk += n;
+ return (void*)(brk - n);
+ }
- size_t min = (size_t)PAGE_SIZE << mmap_step/2;
- if (n < min) n = min;
- void *area = __mmap(0, n, PROT_READ|PROT_WRITE,
- MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
- if (area == MAP_FAILED) return 0;
- *pn = n;
- mmap_step++;
- return area;
+ size_t min = (size_t)PAGE_SIZE << mmap_step / 2;
+ if (n < min)
+ n = min;
+ void* area =
+ __mmap(0, n, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ if (area == MAP_FAILED)
+ return 0;
+ *pn = n;
+ mmap_step++;
+ return area;
}

Powered by Google App Engine
This is Rietveld 408576698