Index: src/fast-codegen.cc |
=================================================================== |
--- src/fast-codegen.cc (revision 3827) |
+++ src/fast-codegen.cc (working copy) |
@@ -428,6 +428,9 @@ |
AstLabeler labeler; |
labeler.Label(info); |
+ LivenessAnalyzer analyzer; |
+ analyzer.Analyze(info->function()); |
+ |
CodeGenerator::MakeCodePrologue(info); |
const int kInitialBufferSize = 4 * KB; |
@@ -584,7 +587,8 @@ |
Comment cmnt(masm(), ";; Global"); |
if (FLAG_print_ir) { |
SmartPointer<char> name = expr->name()->ToCString(); |
- PrintF("%d: t%d = Global(%s)\n", expr->num(), expr->num(), *name); |
+ PrintF("%d: t%d = Global(%s) // last_use = %d\n", expr->num(), |
+ expr->num(), *name, expr->var_def()->last_use()->num()); |
} |
EmitGlobalVariableLoad(cell); |
} |
@@ -638,7 +642,9 @@ |
SmartPointer<char> name_string = name->ToCString(); |
PrintF("%d: ", expr->num()); |
if (!destination().is(no_reg)) PrintF("t%d = ", expr->num()); |
- PrintF("Store(this, \"%s\", t%d)\n", *name_string, expr->value()->num()); |
+ PrintF("Store(this, \"%s\", t%d) // last_use(this) = %d\n", *name_string, |
+ expr->value()->num(), |
+ expr->var_def()->last_use()->num()); |
} |
EmitThisPropertyStore(name); |
@@ -661,8 +667,9 @@ |
Comment cmnt(masm(), ";; Load from this"); |
if (FLAG_print_ir) { |
SmartPointer<char> name_string = name->ToCString(); |
- PrintF("%d: t%d = Load(this, \"%s\")\n", |
- expr->num(), expr->num(), *name_string); |
+ PrintF("%d: t%d = Load(this, \"%s\") // last_use(this) = %d\n", |
+ expr->num(), expr->num(), *name_string, |
+ expr->var_def()->last_use()->num()); |
} |
EmitThisPropertyLoad(name); |
} |