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

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

Issue 10778029: Allow uint32 value on optimized frames if they are consumed by safe operations. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: arm and x64 ports Created 8 years, 4 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 // 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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 V(GlobalObject) \ 95 V(GlobalObject) \
96 V(GlobalReceiver) \ 96 V(GlobalReceiver) \
97 V(Goto) \ 97 V(Goto) \
98 V(HasCachedArrayIndexAndBranch) \ 98 V(HasCachedArrayIndexAndBranch) \
99 V(HasInstanceTypeAndBranch) \ 99 V(HasInstanceTypeAndBranch) \
100 V(In) \ 100 V(In) \
101 V(InstanceOf) \ 101 V(InstanceOf) \
102 V(InstanceOfKnownGlobal) \ 102 V(InstanceOfKnownGlobal) \
103 V(InstructionGap) \ 103 V(InstructionGap) \
104 V(Integer32ToDouble) \ 104 V(Integer32ToDouble) \
105 V(Uint32ToDouble) \
105 V(InvokeFunction) \ 106 V(InvokeFunction) \
106 V(IsConstructCallAndBranch) \ 107 V(IsConstructCallAndBranch) \
107 V(IsNilAndBranch) \ 108 V(IsNilAndBranch) \
108 V(IsObjectAndBranch) \ 109 V(IsObjectAndBranch) \
109 V(IsStringAndBranch) \ 110 V(IsStringAndBranch) \
110 V(IsSmiAndBranch) \ 111 V(IsSmiAndBranch) \
111 V(IsUndetectableAndBranch) \ 112 V(IsUndetectableAndBranch) \
112 V(JSArrayLength) \ 113 V(JSArrayLength) \
113 V(Label) \ 114 V(Label) \
114 V(LazyBailout) \ 115 V(LazyBailout) \
(...skipping 10 matching lines...) Expand all
125 V(LoadNamedField) \ 126 V(LoadNamedField) \
126 V(LoadNamedFieldPolymorphic) \ 127 V(LoadNamedFieldPolymorphic) \
127 V(LoadNamedGeneric) \ 128 V(LoadNamedGeneric) \
128 V(MathFloorOfDiv) \ 129 V(MathFloorOfDiv) \
129 V(MathMinMax) \ 130 V(MathMinMax) \
130 V(MathPowHalf) \ 131 V(MathPowHalf) \
131 V(ModI) \ 132 V(ModI) \
132 V(MulI) \ 133 V(MulI) \
133 V(NumberTagD) \ 134 V(NumberTagD) \
134 V(NumberTagI) \ 135 V(NumberTagI) \
136 V(NumberTagU) \
135 V(NumberUntagD) \ 137 V(NumberUntagD) \
136 V(ObjectLiteral) \ 138 V(ObjectLiteral) \
137 V(OsrEntry) \ 139 V(OsrEntry) \
138 V(OuterContext) \ 140 V(OuterContext) \
139 V(Parameter) \ 141 V(Parameter) \
140 V(Power) \ 142 V(Power) \
141 V(Random) \ 143 V(Random) \
142 V(PushArgument) \ 144 V(PushArgument) \
143 V(RegExpLiteral) \ 145 V(RegExpLiteral) \
144 V(Return) \ 146 V(Return) \
(...skipping 1519 matching lines...) Expand 10 before | Expand all | Expand 10 after
1664 class LInteger32ToDouble: public LTemplateInstruction<1, 1, 0> { 1666 class LInteger32ToDouble: public LTemplateInstruction<1, 1, 0> {
1665 public: 1667 public:
1666 explicit LInteger32ToDouble(LOperand* value) { 1668 explicit LInteger32ToDouble(LOperand* value) {
1667 inputs_[0] = value; 1669 inputs_[0] = value;
1668 } 1670 }
1669 1671
1670 DECLARE_CONCRETE_INSTRUCTION(Integer32ToDouble, "int32-to-double") 1672 DECLARE_CONCRETE_INSTRUCTION(Integer32ToDouble, "int32-to-double")
1671 }; 1673 };
1672 1674
1673 1675
1676 class LUint32ToDouble: public LTemplateInstruction<1, 1, 1> {
1677 public:
1678 explicit LUint32ToDouble(LOperand* value, LOperand* temp) {
1679 inputs_[0] = value;
1680 temps_[0] = temp;
1681 }
1682
1683 DECLARE_CONCRETE_INSTRUCTION(Uint32ToDouble, "uint32-to-double")
1684 };
1685
1686
1674 class LNumberTagI: public LTemplateInstruction<1, 1, 0> { 1687 class LNumberTagI: public LTemplateInstruction<1, 1, 0> {
1675 public: 1688 public:
1676 explicit LNumberTagI(LOperand* value) { 1689 explicit LNumberTagI(LOperand* value) {
1677 inputs_[0] = value; 1690 inputs_[0] = value;
1678 } 1691 }
1679 1692
1680 DECLARE_CONCRETE_INSTRUCTION(NumberTagI, "number-tag-i") 1693 DECLARE_CONCRETE_INSTRUCTION(NumberTagI, "number-tag-i")
1681 }; 1694 };
1682 1695
1683 1696
1697 class LNumberTagU: public LTemplateInstruction<1, 1, 1> {
1698 public:
1699 explicit LNumberTagU(LOperand* value, LOperand* temp) {
1700 inputs_[0] = value;
1701 temps_[0] = temp;
1702 }
1703
1704 DECLARE_CONCRETE_INSTRUCTION(NumberTagU, "number-tag-u")
1705 };
1706
1707
1684 class LNumberTagD: public LTemplateInstruction<1, 1, 1> { 1708 class LNumberTagD: public LTemplateInstruction<1, 1, 1> {
1685 public: 1709 public:
1686 LNumberTagD(LOperand* value, LOperand* temp) { 1710 LNumberTagD(LOperand* value, LOperand* temp) {
1687 inputs_[0] = value; 1711 inputs_[0] = value;
1688 temps_[0] = temp; 1712 temps_[0] = temp;
1689 } 1713 }
1690 1714
1691 DECLARE_CONCRETE_INSTRUCTION(NumberTagD, "number-tag-d") 1715 DECLARE_CONCRETE_INSTRUCTION(NumberTagD, "number-tag-d")
1692 }; 1716 };
1693 1717
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
2518 2542
2519 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2543 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2520 }; 2544 };
2521 2545
2522 #undef DECLARE_HYDROGEN_ACCESSOR 2546 #undef DECLARE_HYDROGEN_ACCESSOR
2523 #undef DECLARE_CONCRETE_INSTRUCTION 2547 #undef DECLARE_CONCRETE_INSTRUCTION
2524 2548
2525 } } // namespace v8::internal 2549 } } // namespace v8::internal
2526 2550
2527 #endif // V8_IA32_LITHIUM_IA32_H_ 2551 #endif // V8_IA32_LITHIUM_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698