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

Side by Side Diff: src/arm/lithium-arm.h

Issue 6677076: Merge up to bleeding_edge r7201 to isolates branch. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/isolates
Patch Set: Fix lint. Created 9 years, 9 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/arm/full-codegen-arm.cc ('k') | src/arm/lithium-arm.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 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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 V(SmiUntag) \ 142 V(SmiUntag) \
143 V(StackCheck) \ 143 V(StackCheck) \
144 V(StoreContextSlot) \ 144 V(StoreContextSlot) \
145 V(StoreGlobal) \ 145 V(StoreGlobal) \
146 V(StoreKeyedFastElement) \ 146 V(StoreKeyedFastElement) \
147 V(StoreKeyedGeneric) \ 147 V(StoreKeyedGeneric) \
148 V(StoreNamedField) \ 148 V(StoreNamedField) \
149 V(StoreNamedGeneric) \ 149 V(StoreNamedGeneric) \
150 V(StorePixelArrayElement) \ 150 V(StorePixelArrayElement) \
151 V(StringCharCodeAt) \ 151 V(StringCharCodeAt) \
152 V(StringCharFromCode) \
152 V(StringLength) \ 153 V(StringLength) \
153 V(SubI) \ 154 V(SubI) \
154 V(TaggedToI) \ 155 V(TaggedToI) \
155 V(Throw) \ 156 V(Throw) \
156 V(Typeof) \ 157 V(Typeof) \
157 V(TypeofIs) \ 158 V(TypeofIs) \
158 V(TypeofIsAndBranch) \ 159 V(TypeofIsAndBranch) \
159 V(IsConstructCall) \ 160 V(IsConstructCall) \
160 V(IsConstructCallAndBranch) \ 161 V(IsConstructCallAndBranch) \
161 V(UnaryMathOperation) \ 162 V(UnaryMathOperation) \
(...skipping 1288 matching lines...) Expand 10 before | Expand all | Expand 10 after
1450 inputs_[0] = value; 1451 inputs_[0] = value;
1451 temps_[0] = temp1; 1452 temps_[0] = temp1;
1452 temps_[1] = temp2; 1453 temps_[1] = temp2;
1453 } 1454 }
1454 1455
1455 DECLARE_CONCRETE_INSTRUCTION(NumberTagD, "number-tag-d") 1456 DECLARE_CONCRETE_INSTRUCTION(NumberTagD, "number-tag-d")
1456 }; 1457 };
1457 1458
1458 1459
1459 // Sometimes truncating conversion from a tagged value to an int32. 1460 // Sometimes truncating conversion from a tagged value to an int32.
1460 class LDoubleToI: public LTemplateInstruction<1, 1, 1> { 1461 class LDoubleToI: public LTemplateInstruction<1, 1, 2> {
1461 public: 1462 public:
1462 explicit LDoubleToI(LOperand* value, LOperand* temp1) { 1463 LDoubleToI(LOperand* value, LOperand* temp1, LOperand* temp2) {
1463 inputs_[0] = value; 1464 inputs_[0] = value;
1464 temps_[0] = temp1; 1465 temps_[0] = temp1;
1466 temps_[1] = temp2;
1465 } 1467 }
1466 1468
1467 DECLARE_CONCRETE_INSTRUCTION(DoubleToI, "double-to-i") 1469 DECLARE_CONCRETE_INSTRUCTION(DoubleToI, "double-to-i")
1468 DECLARE_HYDROGEN_ACCESSOR(Change) 1470 DECLARE_HYDROGEN_ACCESSOR(Change)
1469 1471
1470 bool truncating() { return hydrogen()->CanTruncateToInt32(); } 1472 bool truncating() { return hydrogen()->CanTruncateToInt32(); }
1471 }; 1473 };
1472 1474
1473 1475
1474 // Truncating conversion from a tagged value to an int32. 1476 // Truncating conversion from a tagged value to an int32.
1475 class LTaggedToI: public LTemplateInstruction<1, 1, 1> { 1477 class LTaggedToI: public LTemplateInstruction<1, 1, 3> {
1476 public: 1478 public:
1477 LTaggedToI(LOperand* value, LOperand* temp) { 1479 LTaggedToI(LOperand* value,
1480 LOperand* temp1,
1481 LOperand* temp2,
1482 LOperand* temp3) {
1478 inputs_[0] = value; 1483 inputs_[0] = value;
1479 temps_[0] = temp; 1484 temps_[0] = temp1;
1485 temps_[1] = temp2;
1486 temps_[2] = temp3;
1480 } 1487 }
1481 1488
1482 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i") 1489 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i")
1483 DECLARE_HYDROGEN_ACCESSOR(Change) 1490 DECLARE_HYDROGEN_ACCESSOR(Change)
1484 1491
1485 bool truncating() { return hydrogen()->CanTruncateToInt32(); } 1492 bool truncating() { return hydrogen()->CanTruncateToInt32(); }
1486 }; 1493 };
1487 1494
1488 1495
1489 class LSmiTag: public LTemplateInstruction<1, 1, 0> { 1496 class LSmiTag: public LTemplateInstruction<1, 1, 0> {
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
1628 } 1635 }
1629 1636
1630 DECLARE_CONCRETE_INSTRUCTION(StringCharCodeAt, "string-char-code-at") 1637 DECLARE_CONCRETE_INSTRUCTION(StringCharCodeAt, "string-char-code-at")
1631 DECLARE_HYDROGEN_ACCESSOR(StringCharCodeAt) 1638 DECLARE_HYDROGEN_ACCESSOR(StringCharCodeAt)
1632 1639
1633 LOperand* string() { return inputs_[0]; } 1640 LOperand* string() { return inputs_[0]; }
1634 LOperand* index() { return inputs_[1]; } 1641 LOperand* index() { return inputs_[1]; }
1635 }; 1642 };
1636 1643
1637 1644
1645 class LStringCharFromCode: public LTemplateInstruction<1, 1, 0> {
1646 public:
1647 explicit LStringCharFromCode(LOperand* char_code) {
1648 inputs_[0] = char_code;
1649 }
1650
1651 DECLARE_CONCRETE_INSTRUCTION(StringCharFromCode, "string-char-from-code")
1652 DECLARE_HYDROGEN_ACCESSOR(StringCharFromCode)
1653
1654 LOperand* char_code() { return inputs_[0]; }
1655 };
1656
1657
1638 class LStringLength: public LTemplateInstruction<1, 1, 0> { 1658 class LStringLength: public LTemplateInstruction<1, 1, 0> {
1639 public: 1659 public:
1640 explicit LStringLength(LOperand* string) { 1660 explicit LStringLength(LOperand* string) {
1641 inputs_[0] = string; 1661 inputs_[0] = string;
1642 } 1662 }
1643 1663
1644 DECLARE_CONCRETE_INSTRUCTION(StringLength, "string-length") 1664 DECLARE_CONCRETE_INSTRUCTION(StringLength, "string-length")
1645 DECLARE_HYDROGEN_ACCESSOR(StringLength) 1665 DECLARE_HYDROGEN_ACCESSOR(StringLength)
1646 1666
1647 LOperand* string() { return inputs_[0]; } 1667 LOperand* string() { return inputs_[0]; }
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
2062 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2082 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2063 }; 2083 };
2064 2084
2065 #undef DECLARE_HYDROGEN_ACCESSOR 2085 #undef DECLARE_HYDROGEN_ACCESSOR
2066 #undef DECLARE_INSTRUCTION 2086 #undef DECLARE_INSTRUCTION
2067 #undef DECLARE_CONCRETE_INSTRUCTION 2087 #undef DECLARE_CONCRETE_INSTRUCTION
2068 2088
2069 } } // namespace v8::internal 2089 } } // namespace v8::internal
2070 2090
2071 #endif // V8_ARM_LITHIUM_ARM_H_ 2091 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/full-codegen-arm.cc ('k') | src/arm/lithium-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698