Make (most of) --trace-codegen available in release mode. Better output.
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/15941004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
dc9e80beec
commit
7c0f77a4a5
@ -51,7 +51,7 @@ class CodeGenerator: public AstVisitor {
|
||||
static bool MakeCode(CompilationInfo* info);
|
||||
|
||||
// Printing of AST, etc. as requested by flags.
|
||||
static void MakeCodePrologue(CompilationInfo* info);
|
||||
static void MakeCodePrologue(CompilationInfo* info, const char* kind);
|
||||
|
||||
// Allocate and install the code.
|
||||
static Handle<Code> MakeCodeEpilogue(MacroAssembler* masm,
|
||||
|
@ -58,13 +58,12 @@ Comment::~Comment() {
|
||||
#undef __
|
||||
|
||||
|
||||
void CodeGenerator::MakeCodePrologue(CompilationInfo* info) {
|
||||
#ifdef DEBUG
|
||||
void CodeGenerator::MakeCodePrologue(CompilationInfo* info, const char* kind) {
|
||||
bool print_source = false;
|
||||
bool print_ast = false;
|
||||
const char* ftype;
|
||||
|
||||
if (Isolate::Current()->bootstrapper()->IsActive()) {
|
||||
if (info->isolate()->bootstrapper()->IsActive()) {
|
||||
print_source = FLAG_print_builtin_source;
|
||||
print_ast = FLAG_print_builtin_ast;
|
||||
ftype = "builtin";
|
||||
@ -75,17 +74,18 @@ void CodeGenerator::MakeCodePrologue(CompilationInfo* info) {
|
||||
}
|
||||
|
||||
if (FLAG_trace_codegen || print_source || print_ast) {
|
||||
PrintF("*** Generate code for %s function: ", ftype);
|
||||
PrintF("[generating %s code for %s function: ", kind, ftype);
|
||||
if (info->IsStub()) {
|
||||
const char* name =
|
||||
CodeStub::MajorName(info->code_stub()->MajorKey(), true);
|
||||
PrintF("%s", name == NULL ? "<unknown>" : name);
|
||||
} else {
|
||||
info->function()->name()->ShortPrint();
|
||||
PrintF("%s", *info->function()->debug_name()->ToCString());
|
||||
}
|
||||
PrintF(" ***\n");
|
||||
PrintF("]\n");
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
if (!info->IsStub() && print_source) {
|
||||
PrintF("--- Source from AST ---\n%s\n",
|
||||
PrettyPrinter().PrintProgram(info->function()));
|
||||
|
@ -377,6 +377,8 @@ DEFINE_bool(stack_trace_on_abort, true,
|
||||
"print a stack trace if an assertion failure occurs")
|
||||
|
||||
// codegen-ia32.cc / codegen-arm.cc
|
||||
DEFINE_bool(trace_codegen, false,
|
||||
"print name of functions for which code is generated")
|
||||
DEFINE_bool(trace, false, "trace function calls")
|
||||
DEFINE_bool(mask_constants_with_cookie,
|
||||
true,
|
||||
@ -636,8 +638,6 @@ DEFINE_bool(enable_slow_asserts, false,
|
||||
"enable asserts that are slow to execute")
|
||||
|
||||
// codegen-ia32.cc / codegen-arm.cc
|
||||
DEFINE_bool(trace_codegen, false,
|
||||
"print name of functions for which code is generated")
|
||||
DEFINE_bool(print_source, false, "pretty print source code")
|
||||
DEFINE_bool(print_builtin_source, false,
|
||||
"pretty print source code for builtins")
|
||||
|
@ -304,10 +304,7 @@ bool FullCodeGenerator::MakeCode(CompilationInfo* info) {
|
||||
int len = String::cast(script->source())->length();
|
||||
isolate->counters()->total_full_codegen_source_size()->Increment(len);
|
||||
}
|
||||
if (FLAG_trace_codegen) {
|
||||
PrintF("Full Compiler - ");
|
||||
}
|
||||
CodeGenerator::MakeCodePrologue(info);
|
||||
CodeGenerator::MakeCodePrologue(info, "full");
|
||||
const int kInitialBufferSize = 4 * KB;
|
||||
MacroAssembler masm(info->isolate(), NULL, kInitialBufferSize);
|
||||
#ifdef ENABLE_GDB_JIT_INTERFACE
|
||||
|
@ -43,7 +43,7 @@ class CompilationInfo;
|
||||
class CodeGenerator {
|
||||
public:
|
||||
// Printing of AST, etc. as requested by flags.
|
||||
static void MakeCodePrologue(CompilationInfo* info);
|
||||
static void MakeCodePrologue(CompilationInfo* info, const char* kind);
|
||||
|
||||
// Allocate and install the code.
|
||||
static Handle<Code> MakeCodeEpilogue(MacroAssembler* masm,
|
||||
|
@ -455,10 +455,7 @@ Handle<Code> LChunk::Codegen() {
|
||||
MarkEmptyBlocks();
|
||||
|
||||
if (generator.GenerateCode()) {
|
||||
if (FLAG_trace_codegen) {
|
||||
PrintF("Crankshaft Compiler - ");
|
||||
}
|
||||
CodeGenerator::MakeCodePrologue(info());
|
||||
CodeGenerator::MakeCodePrologue(info(), "optimized");
|
||||
Code::Flags flags = info()->flags();
|
||||
Handle<Code> code =
|
||||
CodeGenerator::MakeCodeEpilogue(&assembler, flags, info());
|
||||
|
@ -53,7 +53,7 @@ class CodeGenerator: public AstVisitor {
|
||||
static bool MakeCode(CompilationInfo* info);
|
||||
|
||||
// Printing of AST, etc. as requested by flags.
|
||||
static void MakeCodePrologue(CompilationInfo* info);
|
||||
static void MakeCodePrologue(CompilationInfo* info, const char* kind);
|
||||
|
||||
// Allocate and install the code.
|
||||
static Handle<Code> MakeCodeEpilogue(MacroAssembler* masm,
|
||||
|
@ -51,7 +51,7 @@ class CodeGenerator: public AstVisitor {
|
||||
static bool MakeCode(CompilationInfo* info);
|
||||
|
||||
// Printing of AST, etc. as requested by flags.
|
||||
static void MakeCodePrologue(CompilationInfo* info);
|
||||
static void MakeCodePrologue(CompilationInfo* info, const char* kind);
|
||||
|
||||
// Allocate and install the code.
|
||||
static Handle<Code> MakeCodeEpilogue(MacroAssembler* masm,
|
||||
|
Loading…
Reference in New Issue
Block a user