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

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

Issue 307593002: Preliminary support for block contexts in hydrogen. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Port to other architectures Created 6 years, 6 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/hydrogen-instructions.h ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/double.h" 7 #include "src/double.h"
8 #include "src/factory.h" 8 #include "src/factory.h"
9 #include "src/hydrogen-infer-representation.h" 9 #include "src/hydrogen-infer-representation.h"
10 #include "src/property-details-inl.h" 10 #include "src/property-details-inl.h"
(...skipping 828 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 case HValue::kLoadRoot: 839 case HValue::kLoadRoot:
840 case HValue::kMapEnumLength: 840 case HValue::kMapEnumLength:
841 case HValue::kMathMinMax: 841 case HValue::kMathMinMax:
842 case HValue::kParameter: 842 case HValue::kParameter:
843 case HValue::kPhi: 843 case HValue::kPhi:
844 case HValue::kPushArguments: 844 case HValue::kPushArguments:
845 case HValue::kRegExpLiteral: 845 case HValue::kRegExpLiteral:
846 case HValue::kReturn: 846 case HValue::kReturn:
847 case HValue::kSeqStringGetChar: 847 case HValue::kSeqStringGetChar:
848 case HValue::kStoreCodeEntry: 848 case HValue::kStoreCodeEntry:
849 case HValue::kStoreFrameContext:
849 case HValue::kStoreKeyed: 850 case HValue::kStoreKeyed:
850 case HValue::kStoreNamedField: 851 case HValue::kStoreNamedField:
851 case HValue::kStoreNamedGeneric: 852 case HValue::kStoreNamedGeneric:
852 case HValue::kStringCharCodeAt: 853 case HValue::kStringCharCodeAt:
853 case HValue::kStringCharFromCode: 854 case HValue::kStringCharFromCode:
854 case HValue::kThisFunction: 855 case HValue::kThisFunction:
855 case HValue::kTypeofIsAndBranch: 856 case HValue::kTypeofIsAndBranch:
856 case HValue::kUnknownOSRValue: 857 case HValue::kUnknownOSRValue:
857 case HValue::kUseConst: 858 case HValue::kUseConst:
858 return false; 859 return false;
859 860
860 case HValue::kAdd: 861 case HValue::kAdd:
862 case HValue::kAllocateBlockContext:
861 case HValue::kApplyArguments: 863 case HValue::kApplyArguments:
862 case HValue::kBitwise: 864 case HValue::kBitwise:
863 case HValue::kBoundsCheck: 865 case HValue::kBoundsCheck:
864 case HValue::kBranch: 866 case HValue::kBranch:
865 case HValue::kCallJSFunction: 867 case HValue::kCallJSFunction:
866 case HValue::kCallRuntime: 868 case HValue::kCallRuntime:
867 case HValue::kChange: 869 case HValue::kChange:
868 case HValue::kCheckHeapObject: 870 case HValue::kCheckHeapObject:
869 case HValue::kCheckInstanceType: 871 case HValue::kCheckInstanceType:
870 case HValue::kCheckMapValue: 872 case HValue::kCheckMapValue:
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
1129 1131
1130 void HAccessArgumentsAt::PrintDataTo(StringStream* stream) { 1132 void HAccessArgumentsAt::PrintDataTo(StringStream* stream) {
1131 arguments()->PrintNameTo(stream); 1133 arguments()->PrintNameTo(stream);
1132 stream->Add("["); 1134 stream->Add("[");
1133 index()->PrintNameTo(stream); 1135 index()->PrintNameTo(stream);
1134 stream->Add("], length "); 1136 stream->Add("], length ");
1135 length()->PrintNameTo(stream); 1137 length()->PrintNameTo(stream);
1136 } 1138 }
1137 1139
1138 1140
1141 void HAllocateBlockContext::PrintDataTo(StringStream* stream) {
1142 context()->PrintNameTo(stream);
1143 stream->Add(" ");
1144 function()->PrintNameTo(stream);
1145 }
1146
1147
1139 void HControlInstruction::PrintDataTo(StringStream* stream) { 1148 void HControlInstruction::PrintDataTo(StringStream* stream) {
1140 stream->Add(" goto ("); 1149 stream->Add(" goto (");
1141 bool first_block = true; 1150 bool first_block = true;
1142 for (HSuccessorIterator it(this); !it.Done(); it.Advance()) { 1151 for (HSuccessorIterator it(this); !it.Done(); it.Advance()) {
1143 stream->Add(first_block ? "B%d" : ", B%d", it.Current()->block_id()); 1152 stream->Add(first_block ? "B%d" : ", B%d", it.Current()->block_id());
1144 first_block = false; 1153 first_block = false;
1145 } 1154 }
1146 stream->Add(")"); 1155 stream->Add(")");
1147 } 1156 }
1148 1157
(...skipping 3704 matching lines...) Expand 10 before | Expand all | Expand 10 after
4853 break; 4862 break;
4854 case kExternalMemory: 4863 case kExternalMemory:
4855 stream->Add("[external-memory]"); 4864 stream->Add("[external-memory]");
4856 break; 4865 break;
4857 } 4866 }
4858 4867
4859 stream->Add("@%d", offset()); 4868 stream->Add("@%d", offset());
4860 } 4869 }
4861 4870
4862 } } // namespace v8::internal 4871 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698