memory related functions
authorhgn <hgodden00@gmail.com>
Sat, 15 Apr 2023 00:57:18 +0000 (01:57 +0100)
committerhgn <hgodden00@gmail.com>
Sat, 15 Apr 2023 00:57:18 +0000 (01:57 +0100)
vg.h
vg_mem.h
vg_platform.h

diff --git a/vg.h b/vg.h
index 141bea392b8c18b16226629f311ab12127b6b99a..777a9e381cb3b6860d70c62b70b334dd9b7947c9 100644 (file)
--- a/vg.h
+++ b/vg.h
 
 */
 
-#ifdef VG_RELEASE
- #define VG_STATIC static
-#else
- #define VG_STATIC
-#endif
-
-/* API */
-VG_STATIC void vg_enter( int argc, char *argv[], const char *window_name );
-
-/* Thread 1 */
-VG_STATIC void vg_preload(void);
-VG_STATIC void vg_load(void);
-
-/* Main thread */
-VG_STATIC void vg_launch_opt(void);
-VG_STATIC void vg_start(void);
-
-VG_STATIC void vg_framebuffer_resize(int w, int h);
-VG_STATIC void vg_update(void);
-VG_STATIC void vg_update_fixed(void);
-VG_STATIC void vg_update_post(void);
-
-VG_STATIC void vg_render(void);
-VG_STATIC void vg_ui(void);
-
 #ifndef VG_HEADER_H
   #define VG_HEADER_H
 
@@ -95,6 +70,31 @@ VG_STATIC void vg_ui(void);
   #ifndef _WIN32
     #include <execinfo.h>
   #endif
+
+VG_STATIC void vg_print_backtrace(void)
+{
+#ifndef _WIN32
+
+   void *array[20];
+   char **strings;
+   int size, i;
+
+   size = backtrace( array, 20 );
+   strings = backtrace_symbols( array, size );
+
+   if( strings != NULL ){
+      vg_error( "---------------- gnu backtrace -------------\n" );
+
+      for( int i=0; i<size; i++ )
+         vg_info( "%s\n", strings[i] );
+
+      vg_error( "---------------- gnu backtrace -------------\n" );
+   }
+
+   free( strings );
+
+#endif
+}
   
   #ifdef VG_GAME
     #include "dep/glad/glad.h"
@@ -116,6 +116,25 @@ VG_STATIC void vg_ui(void);
     #define VG_SYNC_LOG(...)
   #endif
 
+/* API */
+VG_STATIC void vg_enter( int argc, char *argv[], const char *window_name );
+
+/* Thread 1 */
+VG_STATIC void vg_preload(void);
+VG_STATIC void vg_load(void);
+
+/* Main thread */
+VG_STATIC void vg_launch_opt(void);
+VG_STATIC void vg_start(void);
+
+VG_STATIC void vg_framebuffer_resize(int w, int h);
+VG_STATIC void vg_update(void);
+VG_STATIC void vg_update_fixed(void);
+VG_STATIC void vg_update_post(void);
+
+VG_STATIC void vg_render(void);
+VG_STATIC void vg_ui(void);
+
 struct vg
 {
    /* Engine sync */
@@ -779,31 +798,6 @@ VG_STATIC void vg_enter( int argc, char *argv[], const char *window_name )
    SDL_Quit();
 }
 
-void vg_print_backtrace(void)
-{
-#ifndef _WIN32
-
-   void *array[20];
-   char **strings;
-   int size, i;
-
-   size = backtrace( array, 20 );
-   strings = backtrace_symbols( array, size );
-
-   if( strings != NULL ){
-      vg_error( "---------------- gnu backtrace -------------\n" );
-
-      for( int i=0; i<size; i++ )
-         vg_info( "%s\n", strings[i] );
-
-      vg_error( "---------------- gnu backtrace -------------\n" );
-   }
-
-   free( strings );
-
-#endif
-}
-
 /*
  * Immediately transfer away from calling thread into a safe loop, signal for 
  * others to shutdown, then free everything once the user closes the window.
index fbebaf8342f468c6d27ca888fa388ad71da9937c..820fa6d19aa0d701349de4a4bd7df5c02f9e4352 100644 (file)
--- a/vg_mem.h
+++ b/vg_mem.h
@@ -8,7 +8,7 @@
 #include <stdlib.h>
 #include <malloc.h>
 
-void vg_print_backtrace(void);
+VG_STATIC void vg_print_backtrace(void);
 
 #define VG_MAX_ALLOCATIONS 128
 #define VG_FUZZ_ALLOCATIONS
@@ -337,8 +337,7 @@ VG_STATIC void *vg_create_linear_allocator( void *lin_alloc, u32 size,
 
       alloc->allocation_count ++;
    }
-   else
-   {
+   else{
       if( vg_mem.use_libc_malloc && (flags & VG_MEMORY_SYSTEM) )
          header = malloc( sizeof(vg_linear_allocator) );
       else
index 319f7a9abd1892e2fb4b8d03860484aa4c5725a0..210192d60e7164fbf6e15ed72940bb74da6b62c6 100644 (file)
@@ -1,6 +1,12 @@
 #ifndef VG_PLATFORM_H
 #define VG_PLATFORM_H
 
+#ifdef VG_RELEASE
+ #define VG_STATIC static
+#else
+ #define VG_STATIC
+#endif
+
 //#include "vg.h"
 #include "vg_stdint.h"
 
@@ -29,10 +35,6 @@ struct vg_achievement
        const char *name;
 };
 
-#ifndef VG_STATIC
-#define VG_STATIC static
-#endif
-
 #define vg_static_assert _Static_assert
 #define vg_list_size( A ) (sizeof(A)/sizeof(A[0]))
 #define VG_MUST_USE_RESULT __attribute__((warn_unused_result))
@@ -58,5 +60,4 @@ VG_STATIC void vg_strncpy( const char *src, char *dst, u32 len )
 
 #define VG_MIN( A, B ) ((A)<(B)?(A):(B))
 #define VG_MAX( A, B ) ((A)>(B)?(A):(B))
-
 #endif