Merge V8 5.2.361.47 DO NOT MERGE
https://chromium.googlesource.com/v8/v8/+/5.2.361.47
FPIIM-449
Change-Id: Ibec421b85a9b88cb3a432ada642e469fe7e78346
(cherry picked from commit bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8)
diff --git a/src/base/platform/platform.h b/src/base/platform/platform.h
index 5b2dbc9..9464fb1 100644
--- a/src/base/platform/platform.h
+++ b/src/base/platform/platform.h
@@ -26,6 +26,7 @@
#include <vector>
#include "src/base/build_config.h"
+#include "src/base/compiler-specific.h"
#include "src/base/platform/mutex.h"
#include "src/base/platform/semaphore.h"
@@ -154,18 +155,19 @@
// Print output to console. This is mostly used for debugging output.
// On platforms that has standard terminal output, the output
// should go to stdout.
- static void Print(const char* format, ...);
- static void VPrint(const char* format, va_list args);
+ static PRINTF_FORMAT(1, 2) void Print(const char* format, ...);
+ static PRINTF_FORMAT(1, 0) void VPrint(const char* format, va_list args);
// Print output to a file. This is mostly used for debugging output.
- static void FPrint(FILE* out, const char* format, ...);
- static void VFPrint(FILE* out, const char* format, va_list args);
+ static PRINTF_FORMAT(2, 3) void FPrint(FILE* out, const char* format, ...);
+ static PRINTF_FORMAT(2, 0) void VFPrint(FILE* out, const char* format,
+ va_list args);
// Print error output to console. This is mostly used for error message
// output. On platforms that has standard terminal output, the output
// should go to stderr.
- static void PrintError(const char* format, ...);
- static void VPrintError(const char* format, va_list args);
+ static PRINTF_FORMAT(1, 2) void PrintError(const char* format, ...);
+ static PRINTF_FORMAT(1, 0) void VPrintError(const char* format, va_list args);
// Allocate/Free memory used by JS heap. Pages are readable/writable, but
// they are not guaranteed to be executable unless 'executable' is true.
@@ -222,11 +224,10 @@
// Safe formatting print. Ensures that str is always null-terminated.
// Returns the number of chars written, or -1 if output was truncated.
- static int SNPrintF(char* str, int length, const char* format, ...);
- static int VSNPrintF(char* str,
- int length,
- const char* format,
- va_list args);
+ static PRINTF_FORMAT(3, 4) int SNPrintF(char* str, int length,
+ const char* format, ...);
+ static PRINTF_FORMAT(3, 0) int VSNPrintF(char* str, int length,
+ const char* format, va_list args);
static char* StrChr(char* str, int c);
static void StrNCpy(char* dest, int length, const char* src, size_t n);
@@ -234,13 +235,20 @@
// Support for the profiler. Can do nothing, in which case ticks
// occuring in shared libraries will not be properly accounted for.
struct SharedLibraryAddress {
- SharedLibraryAddress(
- const std::string& library_path, uintptr_t start, uintptr_t end)
- : library_path(library_path), start(start), end(end) {}
+ SharedLibraryAddress(const std::string& library_path, uintptr_t start,
+ uintptr_t end)
+ : library_path(library_path), start(start), end(end), aslr_slide(0) {}
+ SharedLibraryAddress(const std::string& library_path, uintptr_t start,
+ uintptr_t end, intptr_t aslr_slide)
+ : library_path(library_path),
+ start(start),
+ end(end),
+ aslr_slide(aslr_slide) {}
std::string library_path;
uintptr_t start;
uintptr_t end;
+ intptr_t aslr_slide;
};
static std::vector<SharedLibraryAddress> GetSharedLibraryAddresses();