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

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

Issue 6390003: Introduce a hydrogen value for contexts, support context slot assignment. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 10 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 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 1174 matching lines...) Expand 10 before | Expand all | Expand 10 after
1185 } 1185 }
1186 1186
1187 1187
1188 void HStoreGlobal::PrintDataTo(StringStream* stream) const { 1188 void HStoreGlobal::PrintDataTo(StringStream* stream) const {
1189 stream->Add("[%p] = ", *cell()); 1189 stream->Add("[%p] = ", *cell());
1190 value()->PrintNameTo(stream); 1190 value()->PrintNameTo(stream);
1191 } 1191 }
1192 1192
1193 1193
1194 void HLoadContextSlot::PrintDataTo(StringStream* stream) const { 1194 void HLoadContextSlot::PrintDataTo(StringStream* stream) const {
1195 stream->Add("(%d, %d)", context_chain_length(), slot_index()); 1195 value()->PrintNameTo(stream);
1196 stream->Add("[%d]", slot_index());
1196 } 1197 }
1197 1198
1198 1199
1200 void HStoreContextSlot::PrintDataTo(StringStream* stream) const {
1201 context()->PrintNameTo(stream);
1202 stream->Add("[%d] = ", slot_index());
1203 value()->PrintNameTo(stream);
1204 }
1205
1206
1199 // Implementation of type inference and type conversions. Calculates 1207 // Implementation of type inference and type conversions. Calculates
1200 // the inferred type of this instruction based on the input operands. 1208 // the inferred type of this instruction based on the input operands.
1201 1209
1202 HType HValue::CalculateInferredType() const { 1210 HType HValue::CalculateInferredType() const {
1203 return type_; 1211 return type_;
1204 } 1212 }
1205 1213
1206 1214
1207 HType HCheckMap::CalculateInferredType() const { 1215 HType HCheckMap::CalculateInferredType() const {
1208 return value()->type(); 1216 return value()->type();
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
1448 1456
1449 1457
1450 void HCheckPrototypeMaps::Verify() { 1458 void HCheckPrototypeMaps::Verify() {
1451 HInstruction::Verify(); 1459 HInstruction::Verify();
1452 ASSERT(HasNoUses()); 1460 ASSERT(HasNoUses());
1453 } 1461 }
1454 1462
1455 #endif 1463 #endif
1456 1464
1457 } } // namespace v8::internal 1465 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698