Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2122)

Side by Side Diff: src/ia32/fast-codegen-ia32.cc

Issue 1117003: Remove unused LivenessAnalyzer class. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/fast-codegen.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 429
430 430
431 #define __ ACCESS_MASM(masm()) 431 #define __ ACCESS_MASM(masm())
432 432
433 Handle<Code> FastCodeGenerator::MakeCode(CompilationInfo* info) { 433 Handle<Code> FastCodeGenerator::MakeCode(CompilationInfo* info) {
434 // Label the AST before calling MakeCodePrologue, so AST node numbers are 434 // Label the AST before calling MakeCodePrologue, so AST node numbers are
435 // printed with the AST. 435 // printed with the AST.
436 AstLabeler labeler; 436 AstLabeler labeler;
437 labeler.Label(info); 437 labeler.Label(info);
438 438
439 LivenessAnalyzer analyzer;
440 analyzer.Analyze(info->function());
441
442 CodeGenerator::MakeCodePrologue(info); 439 CodeGenerator::MakeCodePrologue(info);
443 440
444 const int kInitialBufferSize = 4 * KB; 441 const int kInitialBufferSize = 4 * KB;
445 MacroAssembler masm(NULL, kInitialBufferSize); 442 MacroAssembler masm(NULL, kInitialBufferSize);
446 443
447 // Generate the fast-path code. 444 // Generate the fast-path code.
448 FastCodeGenerator fast_cgen(&masm); 445 FastCodeGenerator fast_cgen(&masm);
449 fast_cgen.Generate(info); 446 fast_cgen.Generate(info);
450 if (fast_cgen.HasStackOverflow()) { 447 if (fast_cgen.HasStackOverflow()) {
451 ASSERT(!Top::has_pending_exception()); 448 ASSERT(!Top::has_pending_exception());
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 ASSERT_EQ(NORMAL, lookup.type()); 792 ASSERT_EQ(NORMAL, lookup.type());
796 ASSERT(lookup.IsDontDelete()); 793 ASSERT(lookup.IsDontDelete());
797 Handle<Object> cell(info()->global_object()->GetPropertyCell(&lookup)); 794 Handle<Object> cell(info()->global_object()->GetPropertyCell(&lookup));
798 795
799 // Global variable lookups do not have side effects, so we do not need to 796 // Global variable lookups do not have side effects, so we do not need to
800 // emit code if we are in an effect context. 797 // emit code if we are in an effect context.
801 if (!destination().is(no_reg)) { 798 if (!destination().is(no_reg)) {
802 Comment cmnt(masm(), ";; Global"); 799 Comment cmnt(masm(), ";; Global");
803 if (FLAG_print_ir) { 800 if (FLAG_print_ir) {
804 SmartPointer<char> name = expr->name()->ToCString(); 801 SmartPointer<char> name = expr->name()->ToCString();
805 PrintF("%d: t%d = Global(%s) // last_use = %d\n", expr->num(), 802 PrintF("%d: t%d = Global(%s)\n", expr->num(),
806 expr->num(), *name, expr->var_def()->last_use()->num()); 803 expr->num(), *name);
807 } 804 }
808 EmitGlobalVariableLoad(cell); 805 EmitGlobalVariableLoad(cell);
809 } 806 }
810 } 807 }
811 808
812 809
813 void FastCodeGenerator::VisitLiteral(Literal* expr) { 810 void FastCodeGenerator::VisitLiteral(Literal* expr) {
814 UNREACHABLE(); 811 UNREACHABLE();
815 } 812 }
816 813
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 ASSERT(prop->obj()->AsVariableProxy()->var()->is_this()); 847 ASSERT(prop->obj()->AsVariableProxy()->var()->is_this());
851 ASSERT(prop->key()->IsPropertyName()); 848 ASSERT(prop->key()->IsPropertyName());
852 Handle<String> name = 849 Handle<String> name =
853 Handle<String>::cast(prop->key()->AsLiteral()->handle()); 850 Handle<String>::cast(prop->key()->AsLiteral()->handle());
854 851
855 Comment cmnt(masm(), ";; Store to this"); 852 Comment cmnt(masm(), ";; Store to this");
856 if (FLAG_print_ir) { 853 if (FLAG_print_ir) {
857 SmartPointer<char> name_string = name->ToCString(); 854 SmartPointer<char> name_string = name->ToCString();
858 PrintF("%d: ", expr->num()); 855 PrintF("%d: ", expr->num());
859 if (!destination().is(no_reg)) PrintF("t%d = ", expr->num()); 856 if (!destination().is(no_reg)) PrintF("t%d = ", expr->num());
860 PrintF("Store(this, \"%s\", t%d) // last_use(this) = %d\n", *name_string, 857 PrintF("Store(this, \"%s\", t%d)\n", *name_string,
861 expr->value()->num(), 858 expr->value()->num());
862 expr->var_def()->last_use()->num());
863 } 859 }
864 860
865 EmitThisPropertyStore(name); 861 EmitThisPropertyStore(name);
866 } 862 }
867 863
868 864
869 void FastCodeGenerator::VisitThrow(Throw* expr) { 865 void FastCodeGenerator::VisitThrow(Throw* expr) {
870 UNREACHABLE(); 866 UNREACHABLE();
871 } 867 }
872 868
873 869
874 void FastCodeGenerator::VisitProperty(Property* expr) { 870 void FastCodeGenerator::VisitProperty(Property* expr) {
875 ASSERT_NOT_NULL(expr->obj()->AsVariableProxy()); 871 ASSERT_NOT_NULL(expr->obj()->AsVariableProxy());
876 ASSERT(expr->obj()->AsVariableProxy()->var()->is_this()); 872 ASSERT(expr->obj()->AsVariableProxy()->var()->is_this());
877 ASSERT(expr->key()->IsPropertyName()); 873 ASSERT(expr->key()->IsPropertyName());
878 if (!destination().is(no_reg)) { 874 if (!destination().is(no_reg)) {
879 Handle<String> name = 875 Handle<String> name =
880 Handle<String>::cast(expr->key()->AsLiteral()->handle()); 876 Handle<String>::cast(expr->key()->AsLiteral()->handle());
881 877
882 Comment cmnt(masm(), ";; Load from this"); 878 Comment cmnt(masm(), ";; Load from this");
883 if (FLAG_print_ir) { 879 if (FLAG_print_ir) {
884 SmartPointer<char> name_string = name->ToCString(); 880 SmartPointer<char> name_string = name->ToCString();
885 PrintF("%d: t%d = Load(this, \"%s\") // last_use(this) = %d\n", 881 PrintF("%d: t%d = Load(this, \"%s\")\n",
886 expr->num(), expr->num(), *name_string, 882 expr->num(), expr->num(), *name_string);
887 expr->var_def()->last_use()->num());
888 } 883 }
889 EmitThisPropertyLoad(name); 884 EmitThisPropertyLoad(name);
890 } 885 }
891 } 886 }
892 887
893 888
894 void FastCodeGenerator::VisitCall(Call* expr) { 889 void FastCodeGenerator::VisitCall(Call* expr) {
895 UNREACHABLE(); 890 UNREACHABLE();
896 } 891 }
897 892
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
946 941
947 942
948 void FastCodeGenerator::VisitThisFunction(ThisFunction* expr) { 943 void FastCodeGenerator::VisitThisFunction(ThisFunction* expr) {
949 UNREACHABLE(); 944 UNREACHABLE();
950 } 945 }
951 946
952 #undef __ 947 #undef __
953 948
954 949
955 } } // namespace v8::internal 950 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/fast-codegen.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698