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

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: 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
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 "v8.h" 5 #include "v8.h"
6 6
7 #include "double.h" 7 #include "double.h"
8 #include "factory.h" 8 #include "factory.h"
9 #include "hydrogen-infer-representation.h" 9 #include "hydrogen-infer-representation.h"
10 #include "property-details-inl.h" 10 #include "property-details-inl.h"
(...skipping 859 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 case HValue::kMathMinMax: 870 case HValue::kMathMinMax:
871 case HValue::kParameter: 871 case HValue::kParameter:
872 case HValue::kPhi: 872 case HValue::kPhi:
873 case HValue::kPushArguments: 873 case HValue::kPushArguments:
874 case HValue::kRegExpLiteral: 874 case HValue::kRegExpLiteral:
875 case HValue::kReturn: 875 case HValue::kReturn:
876 case HValue::kRor: 876 case HValue::kRor:
877 case HValue::kSar: 877 case HValue::kSar:
878 case HValue::kSeqStringGetChar: 878 case HValue::kSeqStringGetChar:
879 case HValue::kStoreCodeEntry: 879 case HValue::kStoreCodeEntry:
880 case HValue::kStoreFrameContext:
880 case HValue::kStoreKeyed: 881 case HValue::kStoreKeyed:
881 case HValue::kStoreNamedField: 882 case HValue::kStoreNamedField:
882 case HValue::kStoreNamedGeneric: 883 case HValue::kStoreNamedGeneric:
883 case HValue::kStringCharCodeAt: 884 case HValue::kStringCharCodeAt:
884 case HValue::kStringCharFromCode: 885 case HValue::kStringCharFromCode:
885 case HValue::kThisFunction: 886 case HValue::kThisFunction:
886 case HValue::kTypeofIsAndBranch: 887 case HValue::kTypeofIsAndBranch:
887 case HValue::kUnknownOSRValue: 888 case HValue::kUnknownOSRValue:
888 case HValue::kUseConst: 889 case HValue::kUseConst:
889 return false; 890 return false;
890 891
891 case HValue::kAdd: 892 case HValue::kAdd:
893 case HValue::kAllocateBlockContext:
892 case HValue::kApplyArguments: 894 case HValue::kApplyArguments:
893 case HValue::kBitwise: 895 case HValue::kBitwise:
894 case HValue::kBoundsCheck: 896 case HValue::kBoundsCheck:
895 case HValue::kBranch: 897 case HValue::kBranch:
896 case HValue::kCallRuntime: 898 case HValue::kCallRuntime:
897 case HValue::kChange: 899 case HValue::kChange:
898 case HValue::kCheckHeapObject: 900 case HValue::kCheckHeapObject:
899 case HValue::kCheckInstanceType: 901 case HValue::kCheckInstanceType:
900 case HValue::kCheckMapValue: 902 case HValue::kCheckMapValue:
901 case HValue::kCheckMaps: 903 case HValue::kCheckMaps:
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
1157 1159
1158 void HAccessArgumentsAt::PrintDataTo(StringStream* stream) { 1160 void HAccessArgumentsAt::PrintDataTo(StringStream* stream) {
1159 arguments()->PrintNameTo(stream); 1161 arguments()->PrintNameTo(stream);
1160 stream->Add("["); 1162 stream->Add("[");
1161 index()->PrintNameTo(stream); 1163 index()->PrintNameTo(stream);
1162 stream->Add("], length "); 1164 stream->Add("], length ");
1163 length()->PrintNameTo(stream); 1165 length()->PrintNameTo(stream);
1164 } 1166 }
1165 1167
1166 1168
1169 void HAllocateBlockContext::PrintDataTo(StringStream* stream) {
1170 context()->PrintNameTo(stream);
1171 stream->Add(" ");
1172 function()->PrintNameTo(stream);
1173 }
1174
1175
1167 void HControlInstruction::PrintDataTo(StringStream* stream) { 1176 void HControlInstruction::PrintDataTo(StringStream* stream) {
1168 stream->Add(" goto ("); 1177 stream->Add(" goto (");
1169 bool first_block = true; 1178 bool first_block = true;
1170 for (HSuccessorIterator it(this); !it.Done(); it.Advance()) { 1179 for (HSuccessorIterator it(this); !it.Done(); it.Advance()) {
1171 stream->Add(first_block ? "B%d" : ", B%d", it.Current()->block_id()); 1180 stream->Add(first_block ? "B%d" : ", B%d", it.Current()->block_id());
1172 first_block = false; 1181 first_block = false;
1173 } 1182 }
1174 stream->Add(")"); 1183 stream->Add(")");
1175 } 1184 }
1176 1185
(...skipping 3609 matching lines...) Expand 10 before | Expand all | Expand 10 after
4786 break; 4795 break;
4787 case kExternalMemory: 4796 case kExternalMemory:
4788 stream->Add("[external-memory]"); 4797 stream->Add("[external-memory]");
4789 break; 4798 break;
4790 } 4799 }
4791 4800
4792 stream->Add("@%d", offset()); 4801 stream->Add("@%d", offset());
4793 } 4802 }
4794 4803
4795 } } // namespace v8::internal 4804 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698