Commit 01f86817 authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook GitHub Bot

let symbolizer code use to_ascii

Summary: Since it is documented as async-signal-safe. V.s. importing from `folly/Conv.h`.

Reviewed By: Orvid

Differential Revision: D27221887

fbshipit-source-id: 9dbe866be84632f8f50f2e00c91697cc39f0b304
parent 42b60e0e
......@@ -30,9 +30,9 @@
#include <glog/logging.h>
#include <folly/Conv.h>
#include <folly/ScopeGuard.h>
#include <folly/experimental/symbolizer/Symbolizer.h>
#include <folly/lang/ToAscii.h>
#include <folly/portability/SysSyscall.h>
#include <folly/portability/Unistd.h>
......@@ -171,26 +171,18 @@ void flush() {
}
void printDec(uint64_t val) {
char buf[20];
uint32_t n = uint64ToBufferUnsafe(val, buf);
char buf[to_ascii_size_max_decimal<uint64_t>()];
size_t n = to_ascii_decimal(buf, val);
gStackTracePrinter->print(StringPiece(buf, n));
}
const char kHexChars[] = "0123456789abcdef";
void printHex(uint64_t val) {
// TODO(tudorb): Add this to folly/Conv.h
char buf[2 + 2 * sizeof(uint64_t)]; // "0x" prefix, 2 digits for each byte
char* end = buf + sizeof(buf);
char* p = end;
do {
*--p = kHexChars[val & 0x0f];
val >>= 4;
} while (val != 0);
*--p = 'x';
*--p = '0';
gStackTracePrinter->print(StringPiece(p, end));
char buf[2 + to_ascii_size_max<16, uint64_t>()];
auto out = buf + 0;
*out++ = '0';
*out++ = 'x';
out += to_ascii_lower<16>(out, val);
gStackTracePrinter->print(StringPiece(buf, out - buf));
}
void dumpTimeInfo() {
......
......@@ -16,11 +16,11 @@
#include <folly/experimental/symbolizer/SymbolizePrinter.h>
#include <folly/Conv.h>
#include <folly/Demangle.h>
#include <folly/FileUtil.h>
#include <folly/ScopeGuard.h>
#include <folly/io/IOBuf.h>
#include <folly/lang/ToAscii.h>
#ifdef __GLIBCXX__
#include <ext/stdio_filebuf.h>
......@@ -113,8 +113,8 @@ void SymbolizePrinter::print(const SymbolizedFrame& frame) {
}
doPrint(fileBuf);
char buf[22];
uint32_t n = uint64ToBufferUnsafe(frame.location.line, buf);
char buf[to_ascii_size_max_decimal<decltype(frame.location.line)>()];
uint32_t n = to_ascii_decimal(buf, frame.location.line);
doPrint(":");
doPrint(StringPiece(buf, n));
} else {
......
......@@ -21,7 +21,6 @@
#include <cstdlib>
#include <iostream>
#include <folly/Conv.h>
#include <folly/FileUtil.h>
#include <folly/Memory.h>
#include <folly/ScopeGuard.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment