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

Side by Side Diff: src/hydrogen-instructions.cc

Issue 15533004: Liveness analysis for environment slots in Hydrogen (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: fixed bug: markers were deleted too early Created 7 years, 7 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 969 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 induction_base()->PrintNameTo(stream); 980 induction_base()->PrintNameTo(stream);
981 stream->Add(")"); 981 stream->Add(")");
982 } 982 }
983 983
984 984
985 void HDummyUse::PrintDataTo(StringStream* stream) { 985 void HDummyUse::PrintDataTo(StringStream* stream) {
986 value()->PrintNameTo(stream); 986 value()->PrintNameTo(stream);
987 } 987 }
988 988
989 989
990 void HEnvironmentBind::PrintDataTo(StringStream* stream) {
991 stream->Add("var[%d]", index());
992 }
993
994
995 void HEnvironmentLookup::PrintDataTo(StringStream* stream) {
996 stream->Add("var[%d]", index());
997 }
998
999
990 void HUnaryCall::PrintDataTo(StringStream* stream) { 1000 void HUnaryCall::PrintDataTo(StringStream* stream) {
991 value()->PrintNameTo(stream); 1001 value()->PrintNameTo(stream);
992 stream->Add(" "); 1002 stream->Add(" ");
993 stream->Add("#%d", argument_count()); 1003 stream->Add("#%d", argument_count());
994 } 1004 }
995 1005
996 1006
997 void HBinaryCall::PrintDataTo(StringStream* stream) { 1007 void HBinaryCall::PrintDataTo(StringStream* stream) {
998 first()->PrintNameTo(stream); 1008 first()->PrintNameTo(stream);
999 stream->Add(" "); 1009 stream->Add(" ");
(...skipping 1053 matching lines...) Expand 10 before | Expand all | Expand 10 after
2053 void HDeoptimize::PrintDataTo(StringStream* stream) { 2063 void HDeoptimize::PrintDataTo(StringStream* stream) {
2054 if (OperandCount() == 0) return; 2064 if (OperandCount() == 0) return;
2055 OperandAt(0)->PrintNameTo(stream); 2065 OperandAt(0)->PrintNameTo(stream);
2056 for (int i = 1; i < OperandCount(); ++i) { 2066 for (int i = 1; i < OperandCount(); ++i) {
2057 stream->Add(" "); 2067 stream->Add(" ");
2058 OperandAt(i)->PrintNameTo(stream); 2068 OperandAt(i)->PrintNameTo(stream);
2059 } 2069 }
2060 } 2070 }
2061 2071
2062 2072
2073 void HEnterInlined::RegisterReturnTarget(HBasicBlock* return_target,
2074 Zone* zone) {
2075 ASSERT(return_target->IsInlineReturnTarget());
2076 return_targets_.Add(return_target, zone);
2077 }
2078
2079
2063 void HEnterInlined::PrintDataTo(StringStream* stream) { 2080 void HEnterInlined::PrintDataTo(StringStream* stream) {
2064 SmartArrayPointer<char> name = function()->debug_name()->ToCString(); 2081 SmartArrayPointer<char> name = function()->debug_name()->ToCString();
2065 stream->Add("%s, id=%d", *name, function()->id().ToInt()); 2082 stream->Add("%s, id=%d", *name, function()->id().ToInt());
2066 } 2083 }
2067 2084
2068 2085
2069 static bool IsInteger32(double value) { 2086 static bool IsInteger32(double value) {
2070 double roundtrip_value = static_cast<double>(static_cast<int32_t>(value)); 2087 double roundtrip_value = static_cast<double>(static_cast<int32_t>(value));
2071 return BitCast<int64_t>(roundtrip_value) == BitCast<int64_t>(value); 2088 return BitCast<int64_t>(roundtrip_value) == BitCast<int64_t>(value);
2072 } 2089 }
(...skipping 1589 matching lines...) Expand 10 before | Expand all | Expand 10 after
3662 3679
3663 3680
3664 void HCheckFunction::Verify() { 3681 void HCheckFunction::Verify() {
3665 HInstruction::Verify(); 3682 HInstruction::Verify();
3666 ASSERT(HasNoUses()); 3683 ASSERT(HasNoUses());
3667 } 3684 }
3668 3685
3669 #endif 3686 #endif
3670 3687
3671 } } // namespace v8::internal 3688 } } // namespace v8::internal
OLDNEW
« src/hydrogen.cc ('K') | « src/hydrogen-instructions.h ('k') | src/ia32/lithium-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698