Convert more wasi-libc code to //-style comments. (#153)

This is purely a style change, in accordance with #116.
This commit is contained in:
Dan Gohman 2020-01-16 16:00:37 -08:00 committed by GitHub
parent ec86d4dec4
commit 12f5832b45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,74 +1,68 @@
/* // This file is a wrapper around malloc.c, which is the upstream source file.
* This file is a wrapper around malloc.c, which is the upstream source file. // It sets configuration flags and controls which symbols are exported.
* It sets configuration flags and controls which symbols are exported.
*/
#include <stddef.h> #include <stddef.h>
#include <malloc.h> #include <malloc.h>
/* Define configuration macros for dlmalloc. */ // Define configuration macros for dlmalloc.
/* WebAssembly doesn't have mmap-style memory allocation. */ // WebAssembly doesn't have mmap-style memory allocation.
#define HAVE_MMAP 0 #define HAVE_MMAP 0
/* WebAssembly doesn't support shrinking linear memory. */ // WebAssembly doesn't support shrinking linear memory.
#define MORECORE_CANNOT_TRIM 1 #define MORECORE_CANNOT_TRIM 1
/* Disable sanity checks to reduce code size. */ // Disable sanity checks to reduce code size.
#define ABORT __builtin_unreachable() #define ABORT __builtin_unreachable()
/* If threads are enabled, enable support for threads. */ // If threads are enabled, enable support for threads.
#ifdef _REENTRANT #ifdef _REENTRANT
#define USE_LOCKS 1 #define USE_LOCKS 1
#endif #endif
/* Make malloc deterministic. */ // Make malloc deterministic.
#define LACKS_TIME_H 1 #define LACKS_TIME_H 1
/* Disable malloc statistics generation to reduce code size. */ // Disable malloc statistics generation to reduce code size.
#define NO_MALLINFO 1 #define NO_MALLINFO 1
#define NO_MALLOC_STATS 1 #define NO_MALLOC_STATS 1
/* Align malloc regions to 16, to avoid unaligned SIMD accesses. */ // Align malloc regions to 16, to avoid unaligned SIMD accesses.
#define MALLOC_ALIGNMENT 16 #define MALLOC_ALIGNMENT 16
/* // Declare errno values used by dlmalloc. We define them like this to avoid
* Declare errno values used by dlmalloc. We define them like this to avoid // putting specific errno values in the ABI.
* putting specific errno values in the ABI.
*/
extern const int __ENOMEM; extern const int __ENOMEM;
#define ENOMEM __ENOMEM #define ENOMEM __ENOMEM
extern const int __EINVAL; extern const int __EINVAL;
#define EINVAL __EINVAL #define EINVAL __EINVAL
/* // Define USE_DL_PREFIX so that we leave dlmalloc's names prefixed with 'dl'.
* Define USE_DL_PREFIX so that we leave dlmalloc's names prefixed with 'dl'. // We define them as "static", and we wrap them with public names below. This
* We define them as "static", and we wrap them with public names below. This // serves two purposes:
* serves two purposes: //
* // One is to make it easy to control which symbols are exported; dlmalloc
* One is to make it easy to control which symbols are exported; dlmalloc // defines several non-standard functions and we wish to explicitly control
* defines several non-standard functions and we wish to explicitly control // which functions are part of our public-facing interface.
* which functions are part of our public-facing interface. //
* // The other is to protect against compilers optimizing based on the assumption
* The other is to protect against compilers optimizing based on the assumption // that they know what functions with names like "malloc" do. Code in the
* that they know what functions with names like "malloc" do. Code in the // implementation will call functions like "dlmalloc" and assume it can use
* implementation will call functions like "dlmalloc" and assume it can use // the resulting pointers to access the metadata outside of the nominally
* the resulting pointers to access the metadata outside of the nominally // allocated objects. However, if the function were named "malloc", compilers
* allocated objects. However, if the function were named "malloc", compilers // might see code like that and assume it has undefined behavior and can be
* might see code like that and assume it has undefined behavior and can be // optimized away. By using "dlmalloc" in the implementation, we don't need
* optimized away. By using "dlmalloc" in the implementation, we don't need // -fno-builtin to avoid this problem.
* -fno-builtin to avoid this problem.
*/
#define USE_DL_PREFIX 1 #define USE_DL_PREFIX 1
#define DLMALLOC_EXPORT static inline #define DLMALLOC_EXPORT static inline
/* This isn't declared with DLMALLOC_EXPORT so make it static explicitly. */ // This isn't declared with DLMALLOC_EXPORT so make it static explicitly.
static size_t dlmalloc_usable_size(void*); static size_t dlmalloc_usable_size(void*);
/* Include the upstream dlmalloc's malloc.c. */ // Include the upstream dlmalloc's malloc.c.
#include "malloc.c" #include "malloc.c"
/* Export the public names. */ // Export the public names.
void *malloc(size_t size) { void *malloc(size_t size) {
return dlmalloc(size); return dlmalloc(size);