inline SkArenaAlloc::allocObject()
authorMike Klein <mtklein@chromium.org>
Wed, 24 May 2017 16:19:02 +0000 (12:19 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Wed, 24 May 2017 17:22:25 +0000 (17:22 +0000)
Call overhead does appear to be showing up on our profiles.

Change-Id: If3875a8972769f45282e0eb1d4aef6324cd56878
Reviewed-on: https://skia-review.googlesource.com/17833
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

src/core/SkArenaAlloc.cpp
src/core/SkArenaAlloc.h

index bfe3ff4..5d02d85 100644 (file)
@@ -139,16 +139,6 @@ void SkArenaAlloc::ensureSpace(uint32_t size, uint32_t alignment) {
     this->installPtrFooter(NextBlock, previousDtor, 0);
 }
 
-char* SkArenaAlloc::allocObject(uint32_t size, uint32_t alignment) {
-    uintptr_t mask = alignment - 1;
-    char* objStart = (char*)((uintptr_t)(fCursor + mask) & ~mask);
-    if ((ptrdiff_t)size > fEnd - objStart) {
-        this->ensureSpace(size, alignment);
-        objStart = (char*)((uintptr_t)(fCursor + mask) & ~mask);
-    }
-    return objStart;
-}
-
 char* SkArenaAlloc::allocObjectWithFooter(uint32_t sizeIncludingFooter, uint32_t alignment) {
     uintptr_t mask = alignment - 1;
 
index e838579..c43fcf8 100644 (file)
@@ -159,7 +159,15 @@ private:
 
     void ensureSpace(uint32_t size, uint32_t alignment);
 
-    char* allocObject(uint32_t size, uint32_t alignment);
+    char* allocObject(uint32_t size, uint32_t alignment) {
+        uintptr_t mask = alignment - 1;
+        char* objStart = (char*)((uintptr_t)(fCursor + mask) & ~mask);
+        if ((ptrdiff_t)size > fEnd - objStart) {
+            this->ensureSpace(size, alignment);
+            objStart = (char*)((uintptr_t)(fCursor + mask) & ~mask);
+        }
+        return objStart;
+    }
 
     char* allocObjectWithFooter(uint32_t sizeIncludingFooter, uint32_t alignment);