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

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

Issue 7348008: Merge up to 8597 to experimental/gc from the bleeding edge. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: '' Created 9 years, 5 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/assembler-ia32.h » ('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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 651 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 stream->Add("#%d", argument_count()); 662 stream->Add("#%d", argument_count());
663 } 663 }
664 664
665 665
666 void HCallRuntime::PrintDataTo(StringStream* stream) { 666 void HCallRuntime::PrintDataTo(StringStream* stream) {
667 stream->Add("%o ", *name()); 667 stream->Add("%o ", *name());
668 stream->Add("#%d", argument_count()); 668 stream->Add("#%d", argument_count());
669 } 669 }
670 670
671 671
672 void HClassOfTest::PrintDataTo(StringStream* stream) { 672 void HClassOfTestAndBranch::PrintDataTo(StringStream* stream) {
673 stream->Add("class_of_test("); 673 stream->Add("class_of_test(");
674 value()->PrintNameTo(stream); 674 value()->PrintNameTo(stream);
675 stream->Add(", \"%o\")", *class_name()); 675 stream->Add(", \"%o\")", *class_name());
676 } 676 }
677 677
678 678
679 void HAccessArgumentsAt::PrintDataTo(StringStream* stream) { 679 void HAccessArgumentsAt::PrintDataTo(StringStream* stream) {
680 arguments()->PrintNameTo(stream); 680 arguments()->PrintNameTo(stream);
681 stream->Add("["); 681 stream->Add("[");
682 index()->PrintNameTo(stream); 682 index()->PrintNameTo(stream);
683 stream->Add("], length "); 683 stream->Add("], length ");
684 length()->PrintNameTo(stream); 684 length()->PrintNameTo(stream);
685 } 685 }
686 686
687 687
688 void HControlInstruction::PrintDataTo(StringStream* stream) { 688 void HControlInstruction::PrintDataTo(StringStream* stream) {
689 if (FirstSuccessor() != NULL) { 689 stream->Add(" goto (");
690 int first_id = FirstSuccessor()->block_id(); 690 bool first_block = true;
691 if (SecondSuccessor() == NULL) { 691 for (HSuccessorIterator it(this); !it.Done(); it.Advance()) {
692 stream->Add(" B%d", first_id); 692 stream->Add(first_block ? "B%d" : ", B%d", it.Current()->block_id());
693 } else { 693 first_block = false;
694 int second_id = SecondSuccessor()->block_id();
695 stream->Add(" goto (B%d, B%d)", first_id, second_id);
696 }
697 } 694 }
695 stream->Add(")");
698 } 696 }
699 697
700 698
701 void HUnaryControlInstruction::PrintDataTo(StringStream* stream) { 699 void HUnaryControlInstruction::PrintDataTo(StringStream* stream) {
702 value()->PrintNameTo(stream); 700 value()->PrintNameTo(stream);
703 HControlInstruction::PrintDataTo(stream); 701 HControlInstruction::PrintDataTo(stream);
704 } 702 }
705 703
706 704
705 void HReturn::PrintDataTo(StringStream* stream) {
706 value()->PrintNameTo(stream);
707 }
708
709
707 void HCompareMap::PrintDataTo(StringStream* stream) { 710 void HCompareMap::PrintDataTo(StringStream* stream) {
708 value()->PrintNameTo(stream); 711 value()->PrintNameTo(stream);
709 stream->Add(" (%p)", *map()); 712 stream->Add(" (%p)", *map());
710 HControlInstruction::PrintDataTo(stream); 713 HControlInstruction::PrintDataTo(stream);
711 } 714 }
712 715
713 716
714 const char* HUnaryMathOperation::OpName() const { 717 const char* HUnaryMathOperation::OpName() const {
715 switch (op()) { 718 switch (op()) {
716 case kMathFloor: return "floor"; 719 case kMathFloor: return "floor";
(...skipping 20 matching lines...) Expand all
737 stream->Add("%s ", name); 740 stream->Add("%s ", name);
738 value()->PrintNameTo(stream); 741 value()->PrintNameTo(stream);
739 } 742 }
740 743
741 744
742 void HUnaryOperation::PrintDataTo(StringStream* stream) { 745 void HUnaryOperation::PrintDataTo(StringStream* stream) {
743 value()->PrintNameTo(stream); 746 value()->PrintNameTo(stream);
744 } 747 }
745 748
746 749
747 void HHasInstanceType::PrintDataTo(StringStream* stream) { 750 void HHasInstanceTypeAndBranch::PrintDataTo(StringStream* stream) {
748 value()->PrintNameTo(stream); 751 value()->PrintNameTo(stream);
749 switch (from_) { 752 switch (from_) {
750 case FIRST_JS_OBJECT_TYPE: 753 case FIRST_JS_RECEIVER_TYPE:
751 if (to_ == LAST_TYPE) stream->Add(" spec_object"); 754 if (to_ == LAST_TYPE) stream->Add(" spec_object");
752 break; 755 break;
753 case JS_REGEXP_TYPE: 756 case JS_REGEXP_TYPE:
754 if (to_ == JS_REGEXP_TYPE) stream->Add(" reg_exp"); 757 if (to_ == JS_REGEXP_TYPE) stream->Add(" reg_exp");
755 break; 758 break;
756 case JS_ARRAY_TYPE: 759 case JS_ARRAY_TYPE:
757 if (to_ == JS_ARRAY_TYPE) stream->Add(" array"); 760 if (to_ == JS_ARRAY_TYPE) stream->Add(" array");
758 break; 761 break;
759 case JS_FUNCTION_TYPE: 762 case JS_FUNCTION_TYPE:
760 if (to_ == JS_FUNCTION_TYPE) stream->Add(" function"); 763 if (to_ == JS_FUNCTION_TYPE) stream->Add(" function");
761 break; 764 break;
762 default: 765 default:
763 break; 766 break;
764 } 767 }
765 } 768 }
766 769
767 770
768 void HTypeofIs::PrintDataTo(StringStream* stream) { 771 void HTypeofIsAndBranch::PrintDataTo(StringStream* stream) {
769 value()->PrintNameTo(stream); 772 value()->PrintNameTo(stream);
770 stream->Add(" == "); 773 stream->Add(" == ");
771 stream->Add(type_literal_->ToAsciiVector()); 774 stream->Add(type_literal_->ToAsciiVector());
772 } 775 }
773 776
774 777
775 void HChange::PrintDataTo(StringStream* stream) { 778 void HChange::PrintDataTo(StringStream* stream) {
776 HUnaryOperation::PrintDataTo(stream); 779 HUnaryOperation::PrintDataTo(stream);
777 stream->Add(" %s to %s", from_.Mnemonic(), to().Mnemonic()); 780 stream->Add(" %s to %s", from_.Mnemonic(), to().Mnemonic());
778 781
779 if (CanTruncateToInt32()) stream->Add(" truncating-int32"); 782 if (CanTruncateToInt32()) stream->Add(" truncating-int32");
780 if (CheckFlag(kBailoutOnMinusZero)) stream->Add(" -0?"); 783 if (CheckFlag(kBailoutOnMinusZero)) stream->Add(" -0?");
781 } 784 }
782 785
783 786
787 HValue* HCheckInstanceType::Canonicalize() {
788 if (check_ == IS_STRING &&
789 !value()->type().IsUninitialized() &&
790 value()->type().IsString()) {
791 return NULL;
792 }
793 if (check_ == IS_SYMBOL &&
794 value()->IsConstant() &&
795 HConstant::cast(value())->handle()->IsSymbol()) {
796 return NULL;
797 }
798 return this;
799 }
800
801
784 void HCheckInstanceType::GetCheckInterval(InstanceType* first, 802 void HCheckInstanceType::GetCheckInterval(InstanceType* first,
785 InstanceType* last) { 803 InstanceType* last) {
786 ASSERT(is_interval_check()); 804 ASSERT(is_interval_check());
787 switch (check_) { 805 switch (check_) {
788 case IS_JS_OBJECT_OR_JS_FUNCTION: 806 case IS_SPEC_OBJECT:
789 STATIC_ASSERT((LAST_JS_OBJECT_TYPE + 1) == JS_FUNCTION_TYPE); 807 *first = FIRST_SPEC_OBJECT_TYPE;
790 *first = FIRST_JS_OBJECT_TYPE; 808 *last = LAST_SPEC_OBJECT_TYPE;
791 *last = JS_FUNCTION_TYPE;
792 return; 809 return;
793 case IS_JS_ARRAY: 810 case IS_JS_ARRAY:
794 *first = *last = JS_ARRAY_TYPE; 811 *first = *last = JS_ARRAY_TYPE;
795 return; 812 return;
796 default: 813 default:
797 UNREACHABLE(); 814 UNREACHABLE();
798 } 815 }
799 } 816 }
800 817
801 818
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
1077 stream->Add(" push "); 1094 stream->Add(" push ");
1078 } else { 1095 } else {
1079 stream->Add(" var[%d] = ", GetAssignedIndexAt(i)); 1096 stream->Add(" var[%d] = ", GetAssignedIndexAt(i));
1080 } 1097 }
1081 values_[i]->PrintNameTo(stream); 1098 values_[i]->PrintNameTo(stream);
1082 } 1099 }
1083 } 1100 }
1084 } 1101 }
1085 1102
1086 1103
1104 void HDeoptimize::PrintDataTo(StringStream* stream) {
1105 if (OperandCount() == 0) return;
1106 OperandAt(0)->PrintNameTo(stream);
1107 for (int i = 1; i < OperandCount(); ++i) {
1108 stream->Add(" ");
1109 OperandAt(i)->PrintNameTo(stream);
1110 }
1111 }
1112
1113
1087 void HEnterInlined::PrintDataTo(StringStream* stream) { 1114 void HEnterInlined::PrintDataTo(StringStream* stream) {
1088 SmartPointer<char> name = function()->debug_name()->ToCString(); 1115 SmartPointer<char> name = function()->debug_name()->ToCString();
1089 stream->Add("%s, id=%d", *name, function()->id()); 1116 stream->Add("%s, id=%d", *name, function()->id());
1090 } 1117 }
1091 1118
1092 1119
1093 HConstant::HConstant(Handle<Object> handle, Representation r) 1120 HConstant::HConstant(Handle<Object> handle, Representation r)
1094 : handle_(handle), 1121 : handle_(handle),
1095 has_int32_value_(false), 1122 has_int32_value_(false),
1096 has_double_value_(false), 1123 has_double_value_(false),
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
1212 : new Range(); 1239 : new Range();
1213 result->Shl(c->Integer32Value()); 1240 result->Shl(c->Integer32Value());
1214 return result; 1241 return result;
1215 } 1242 }
1216 } 1243 }
1217 return HValue::InferRange(); 1244 return HValue::InferRange();
1218 } 1245 }
1219 1246
1220 1247
1221 1248
1222 void HCompare::PrintDataTo(StringStream* stream) { 1249 void HCompareGeneric::PrintDataTo(StringStream* stream) {
1223 stream->Add(Token::Name(token())); 1250 stream->Add(Token::Name(token()));
1224 stream->Add(" "); 1251 stream->Add(" ");
1225 HBinaryOperation::PrintDataTo(stream); 1252 HBinaryOperation::PrintDataTo(stream);
1226 } 1253 }
1227 1254
1228 1255
1229 void HCompare::SetInputRepresentation(Representation r) { 1256 void HCompareIDAndBranch::PrintDataTo(StringStream* stream) {
1257 stream->Add(Token::Name(token()));
1258 stream->Add(" ");
1259 left()->PrintNameTo(stream);
1260 stream->Add(" ");
1261 right()->PrintNameTo(stream);
1262 }
1263
1264
1265 void HCompareIDAndBranch::SetInputRepresentation(Representation r) {
1230 input_representation_ = r; 1266 input_representation_ = r;
1231 if (r.IsTagged()) { 1267 if (r.IsDouble()) {
1232 SetAllSideEffects(); 1268 SetFlag(kDeoptimizeOnUndefined);
1233 ClearFlag(kUseGVN);
1234 } else { 1269 } else {
1235 ClearAllSideEffects(); 1270 ASSERT(r.IsInteger32());
1236 SetFlag(kUseGVN);
1237 } 1271 }
1238 } 1272 }
1239 1273
1240 1274
1241 void HParameter::PrintDataTo(StringStream* stream) { 1275 void HParameter::PrintDataTo(StringStream* stream) {
1242 stream->Add("%u", index()); 1276 stream->Add("%u", index());
1243 } 1277 }
1244 1278
1245 1279
1246 void HLoadNamedField::PrintDataTo(StringStream* stream) { 1280 void HLoadNamedField::PrintDataTo(StringStream* stream) {
1247 object()->PrintNameTo(stream); 1281 object()->PrintNameTo(stream);
1248 stream->Add(" @%d%s", offset(), is_in_object() ? "[in-object]" : ""); 1282 stream->Add(" @%d%s", offset(), is_in_object() ? "[in-object]" : "");
1249 } 1283 }
1250 1284
1251 1285
1252 HLoadNamedFieldPolymorphic::HLoadNamedFieldPolymorphic(HValue* object, 1286 HLoadNamedFieldPolymorphic::HLoadNamedFieldPolymorphic(HValue* context,
1287 HValue* object,
1253 ZoneMapList* types, 1288 ZoneMapList* types,
1254 Handle<String> name) 1289 Handle<String> name)
1255 : HUnaryOperation(object), 1290 : types_(Min(types->length(), kMaxLoadPolymorphism)),
1256 types_(Min(types->length(), kMaxLoadPolymorphism)),
1257 name_(name), 1291 name_(name),
1258 need_generic_(false) { 1292 need_generic_(false) {
1293 SetOperandAt(0, context);
1294 SetOperandAt(1, object);
1259 set_representation(Representation::Tagged()); 1295 set_representation(Representation::Tagged());
1260 SetFlag(kDependsOnMaps); 1296 SetFlag(kDependsOnMaps);
1261 for (int i = 0; 1297 for (int i = 0;
1262 i < types->length() && types_.length() < kMaxLoadPolymorphism; 1298 i < types->length() && types_.length() < kMaxLoadPolymorphism;
1263 ++i) { 1299 ++i) {
1264 Handle<Map> map = types->at(i); 1300 Handle<Map> map = types->at(i);
1265 LookupResult lookup; 1301 LookupResult lookup;
1266 map->LookupInDescriptors(NULL, *name, &lookup); 1302 map->LookupInDescriptors(NULL, *name, &lookup);
1267 if (lookup.IsProperty()) { 1303 if (lookup.IsProperty()) {
1268 switch (lookup.type()) { 1304 switch (lookup.type()) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
1335 stream->Add("["); 1371 stream->Add("[");
1336 key()->PrintNameTo(stream); 1372 key()->PrintNameTo(stream);
1337 stream->Add("]"); 1373 stream->Add("]");
1338 } 1374 }
1339 1375
1340 1376
1341 void HLoadKeyedSpecializedArrayElement::PrintDataTo( 1377 void HLoadKeyedSpecializedArrayElement::PrintDataTo(
1342 StringStream* stream) { 1378 StringStream* stream) {
1343 external_pointer()->PrintNameTo(stream); 1379 external_pointer()->PrintNameTo(stream);
1344 stream->Add("."); 1380 stream->Add(".");
1345 switch (array_type()) { 1381 switch (elements_kind()) {
1346 case kExternalByteArray: 1382 case JSObject::EXTERNAL_BYTE_ELEMENTS:
1347 stream->Add("byte"); 1383 stream->Add("byte");
1348 break; 1384 break;
1349 case kExternalUnsignedByteArray: 1385 case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS:
1350 stream->Add("u_byte"); 1386 stream->Add("u_byte");
1351 break; 1387 break;
1352 case kExternalShortArray: 1388 case JSObject::EXTERNAL_SHORT_ELEMENTS:
1353 stream->Add("short"); 1389 stream->Add("short");
1354 break; 1390 break;
1355 case kExternalUnsignedShortArray: 1391 case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS:
1356 stream->Add("u_short"); 1392 stream->Add("u_short");
1357 break; 1393 break;
1358 case kExternalIntArray: 1394 case JSObject::EXTERNAL_INT_ELEMENTS:
1359 stream->Add("int"); 1395 stream->Add("int");
1360 break; 1396 break;
1361 case kExternalUnsignedIntArray: 1397 case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS:
1362 stream->Add("u_int"); 1398 stream->Add("u_int");
1363 break; 1399 break;
1364 case kExternalFloatArray: 1400 case JSObject::EXTERNAL_FLOAT_ELEMENTS:
1365 stream->Add("float"); 1401 stream->Add("float");
1366 break; 1402 break;
1367 case kExternalDoubleArray: 1403 case JSObject::EXTERNAL_DOUBLE_ELEMENTS:
1368 stream->Add("double"); 1404 stream->Add("double");
1369 break; 1405 break;
1370 case kExternalPixelArray: 1406 case JSObject::EXTERNAL_PIXEL_ELEMENTS:
1371 stream->Add("pixel"); 1407 stream->Add("pixel");
1372 break; 1408 break;
1409 case JSObject::FAST_ELEMENTS:
1410 case JSObject::FAST_DOUBLE_ELEMENTS:
1411 case JSObject::DICTIONARY_ELEMENTS:
1412 case JSObject::NON_STRICT_ARGUMENTS_ELEMENTS:
1413 UNREACHABLE();
1414 break;
1373 } 1415 }
1374 stream->Add("["); 1416 stream->Add("[");
1375 key()->PrintNameTo(stream); 1417 key()->PrintNameTo(stream);
1376 stream->Add("]"); 1418 stream->Add("]");
1377 } 1419 }
1378 1420
1379 1421
1380 void HStoreNamedGeneric::PrintDataTo(StringStream* stream) { 1422 void HStoreNamedGeneric::PrintDataTo(StringStream* stream) {
1381 object()->PrintNameTo(stream); 1423 object()->PrintNameTo(stream);
1382 stream->Add("."); 1424 stream->Add(".");
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1415 key()->PrintNameTo(stream); 1457 key()->PrintNameTo(stream);
1416 stream->Add("] = "); 1458 stream->Add("] = ");
1417 value()->PrintNameTo(stream); 1459 value()->PrintNameTo(stream);
1418 } 1460 }
1419 1461
1420 1462
1421 void HStoreKeyedSpecializedArrayElement::PrintDataTo( 1463 void HStoreKeyedSpecializedArrayElement::PrintDataTo(
1422 StringStream* stream) { 1464 StringStream* stream) {
1423 external_pointer()->PrintNameTo(stream); 1465 external_pointer()->PrintNameTo(stream);
1424 stream->Add("."); 1466 stream->Add(".");
1425 switch (array_type()) { 1467 switch (elements_kind()) {
1426 case kExternalByteArray: 1468 case JSObject::EXTERNAL_BYTE_ELEMENTS:
1427 stream->Add("byte"); 1469 stream->Add("byte");
1428 break; 1470 break;
1429 case kExternalUnsignedByteArray: 1471 case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS:
1430 stream->Add("u_byte"); 1472 stream->Add("u_byte");
1431 break; 1473 break;
1432 case kExternalShortArray: 1474 case JSObject::EXTERNAL_SHORT_ELEMENTS:
1433 stream->Add("short"); 1475 stream->Add("short");
1434 break; 1476 break;
1435 case kExternalUnsignedShortArray: 1477 case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS:
1436 stream->Add("u_short"); 1478 stream->Add("u_short");
1437 break; 1479 break;
1438 case kExternalIntArray: 1480 case JSObject::EXTERNAL_INT_ELEMENTS:
1439 stream->Add("int"); 1481 stream->Add("int");
1440 break; 1482 break;
1441 case kExternalUnsignedIntArray: 1483 case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS:
1442 stream->Add("u_int"); 1484 stream->Add("u_int");
1443 break; 1485 break;
1444 case kExternalFloatArray: 1486 case JSObject::EXTERNAL_FLOAT_ELEMENTS:
1445 stream->Add("float"); 1487 stream->Add("float");
1446 break; 1488 break;
1447 case kExternalDoubleArray: 1489 case JSObject::EXTERNAL_DOUBLE_ELEMENTS:
1448 stream->Add("double"); 1490 stream->Add("double");
1449 break; 1491 break;
1450 case kExternalPixelArray: 1492 case JSObject::EXTERNAL_PIXEL_ELEMENTS:
1451 stream->Add("pixel"); 1493 stream->Add("pixel");
1452 break; 1494 break;
1495 case JSObject::FAST_ELEMENTS:
1496 case JSObject::FAST_DOUBLE_ELEMENTS:
1497 case JSObject::DICTIONARY_ELEMENTS:
1498 case JSObject::NON_STRICT_ARGUMENTS_ELEMENTS:
1499 UNREACHABLE();
1500 break;
1453 } 1501 }
1454 stream->Add("["); 1502 stream->Add("[");
1455 key()->PrintNameTo(stream); 1503 key()->PrintNameTo(stream);
1456 stream->Add("] = "); 1504 stream->Add("] = ");
1457 value()->PrintNameTo(stream); 1505 value()->PrintNameTo(stream);
1458 } 1506 }
1459 1507
1460 1508
1461 void HLoadGlobalCell::PrintDataTo(StringStream* stream) { 1509 void HLoadGlobalCell::PrintDataTo(StringStream* stream) {
1462 stream->Add("[%p]", *cell()); 1510 stream->Add("[%p]", *cell());
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1531 } 1579 }
1532 return result; 1580 return result;
1533 } 1581 }
1534 1582
1535 1583
1536 HType HConstant::CalculateInferredType() { 1584 HType HConstant::CalculateInferredType() {
1537 return HType::TypeFromValue(handle_); 1585 return HType::TypeFromValue(handle_);
1538 } 1586 }
1539 1587
1540 1588
1541 HType HCompare::CalculateInferredType() { 1589 HType HCompareGeneric::CalculateInferredType() {
1542 return HType::Boolean(); 1590 return HType::Boolean();
1543 } 1591 }
1544 1592
1545 1593
1546 HType HCompareJSObjectEq::CalculateInferredType() { 1594 HType HInstanceOf::CalculateInferredType() {
1547 return HType::Boolean(); 1595 return HType::Boolean();
1548 } 1596 }
1549 1597
1550 1598
1551 HType HUnaryPredicate::CalculateInferredType() { 1599 HType HDeleteProperty::CalculateInferredType() {
1600 return HType::Boolean();
1601 }
1602
1603
1604 HType HInstanceOfKnownGlobal::CalculateInferredType() {
1552 return HType::Boolean(); 1605 return HType::Boolean();
1553 } 1606 }
1554 1607
1555 1608
1556 HType HBitwiseBinaryOperation::CalculateInferredType() { 1609 HType HBitwiseBinaryOperation::CalculateInferredType() {
1557 return HType::TaggedNumber(); 1610 return HType::TaggedNumber();
1558 } 1611 }
1559 1612
1560 1613
1561 HType HArithmeticBinaryOperation::CalculateInferredType() { 1614 HType HArithmeticBinaryOperation::CalculateInferredType() {
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1718 1771
1719 1772
1720 void HSimulate::Verify() { 1773 void HSimulate::Verify() {
1721 HInstruction::Verify(); 1774 HInstruction::Verify();
1722 ASSERT(HasAstId()); 1775 ASSERT(HasAstId());
1723 } 1776 }
1724 1777
1725 1778
1726 void HBoundsCheck::Verify() { 1779 void HBoundsCheck::Verify() {
1727 HInstruction::Verify(); 1780 HInstruction::Verify();
1728 ASSERT(HasNoUses());
1729 } 1781 }
1730 1782
1731 1783
1732 void HCheckSmi::Verify() { 1784 void HCheckSmi::Verify() {
1733 HInstruction::Verify(); 1785 HInstruction::Verify();
1734 ASSERT(HasNoUses()); 1786 ASSERT(HasNoUses());
1735 } 1787 }
1736 1788
1737 1789
1738 void HCheckNonSmi::Verify() { 1790 void HCheckNonSmi::Verify() {
(...skipping 21 matching lines...) Expand all
1760 1812
1761 1813
1762 void HCheckPrototypeMaps::Verify() { 1814 void HCheckPrototypeMaps::Verify() {
1763 HInstruction::Verify(); 1815 HInstruction::Verify();
1764 ASSERT(HasNoUses()); 1816 ASSERT(HasNoUses());
1765 } 1817 }
1766 1818
1767 #endif 1819 #endif
1768 1820
1769 } } // namespace v8::internal 1821 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/ia32/assembler-ia32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698