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

Side by Side Diff: src/x87/lithium-x87.cc

Issue 1313903003: [runtime] Remove the redundant %_IsObject intrinsic. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address Michis comment. Created 5 years, 3 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
« no previous file with comments | « src/x87/lithium-x87.h ('k') | test/cctest/compiler/test-run-intrinsics.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 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 <sstream> 5 #include <sstream>
6 6
7 #if V8_TARGET_ARCH_X87 7 #if V8_TARGET_ARCH_X87
8 8
9 #include "src/hydrogen-osr.h" 9 #include "src/hydrogen-osr.h"
10 #include "src/lithium-inl.h" 10 #include "src/lithium-inl.h"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 191
192 void LCompareNumericAndBranch::PrintDataTo(StringStream* stream) { 192 void LCompareNumericAndBranch::PrintDataTo(StringStream* stream) {
193 stream->Add("if "); 193 stream->Add("if ");
194 left()->PrintTo(stream); 194 left()->PrintTo(stream);
195 stream->Add(" %s ", Token::String(op())); 195 stream->Add(" %s ", Token::String(op()));
196 right()->PrintTo(stream); 196 right()->PrintTo(stream);
197 stream->Add(" then B%d else B%d", true_block_id(), false_block_id()); 197 stream->Add(" then B%d else B%d", true_block_id(), false_block_id());
198 } 198 }
199 199
200 200
201 void LIsObjectAndBranch::PrintDataTo(StringStream* stream) {
202 stream->Add("if is_object(");
203 value()->PrintTo(stream);
204 stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
205 }
206
207
208 void LIsStringAndBranch::PrintDataTo(StringStream* stream) { 201 void LIsStringAndBranch::PrintDataTo(StringStream* stream) {
209 stream->Add("if is_string("); 202 stream->Add("if is_string(");
210 value()->PrintTo(stream); 203 value()->PrintTo(stream);
211 stream->Add(") then B%d else B%d", true_block_id(), false_block_id()); 204 stream->Add(") then B%d else B%d", true_block_id(), false_block_id());
212 } 205 }
213 206
214 207
215 void LIsSmiAndBranch::PrintDataTo(StringStream* stream) { 208 void LIsSmiAndBranch::PrintDataTo(StringStream* stream) {
216 stream->Add("if is_smi("); 209 stream->Add("if is_smi(");
217 value()->PrintTo(stream); 210 value()->PrintTo(stream);
(...skipping 1524 matching lines...) Expand 10 before | Expand all | Expand 10 after
1742 } 1735 }
1743 1736
1744 1737
1745 LInstruction* LChunkBuilder::DoCompareMinusZeroAndBranch( 1738 LInstruction* LChunkBuilder::DoCompareMinusZeroAndBranch(
1746 HCompareMinusZeroAndBranch* instr) { 1739 HCompareMinusZeroAndBranch* instr) {
1747 LOperand* value = UseRegisterAtStart(instr->value()); 1740 LOperand* value = UseRegisterAtStart(instr->value());
1748 return new (zone()) LCompareMinusZeroAndBranch(value); 1741 return new (zone()) LCompareMinusZeroAndBranch(value);
1749 } 1742 }
1750 1743
1751 1744
1752 LInstruction* LChunkBuilder::DoIsObjectAndBranch(HIsObjectAndBranch* instr) {
1753 DCHECK(instr->value()->representation().IsSmiOrTagged());
1754 LOperand* temp = TempRegister();
1755 return new(zone()) LIsObjectAndBranch(UseRegister(instr->value()), temp);
1756 }
1757
1758
1759 LInstruction* LChunkBuilder::DoIsStringAndBranch(HIsStringAndBranch* instr) { 1745 LInstruction* LChunkBuilder::DoIsStringAndBranch(HIsStringAndBranch* instr) {
1760 DCHECK(instr->value()->representation().IsTagged()); 1746 DCHECK(instr->value()->representation().IsTagged());
1761 LOperand* temp = TempRegister(); 1747 LOperand* temp = TempRegister();
1762 return new(zone()) LIsStringAndBranch(UseRegister(instr->value()), temp); 1748 return new(zone()) LIsStringAndBranch(UseRegister(instr->value()), temp);
1763 } 1749 }
1764 1750
1765 1751
1766 LInstruction* LChunkBuilder::DoIsSmiAndBranch(HIsSmiAndBranch* instr) { 1752 LInstruction* LChunkBuilder::DoIsSmiAndBranch(HIsSmiAndBranch* instr) {
1767 DCHECK(instr->value()->representation().IsTagged()); 1753 DCHECK(instr->value()->representation().IsTagged());
1768 return new(zone()) LIsSmiAndBranch(Use(instr->value())); 1754 return new(zone()) LIsSmiAndBranch(Use(instr->value()));
(...skipping 1011 matching lines...) Expand 10 before | Expand all | Expand 10 after
2780 LAllocateBlockContext* result = 2766 LAllocateBlockContext* result =
2781 new(zone()) LAllocateBlockContext(context, function); 2767 new(zone()) LAllocateBlockContext(context, function);
2782 return MarkAsCall(DefineFixed(result, esi), instr); 2768 return MarkAsCall(DefineFixed(result, esi), instr);
2783 } 2769 }
2784 2770
2785 2771
2786 } // namespace internal 2772 } // namespace internal
2787 } // namespace v8 2773 } // namespace v8
2788 2774
2789 #endif // V8_TARGET_ARCH_X87 2775 #endif // V8_TARGET_ARCH_X87
OLDNEW
« no previous file with comments | « src/x87/lithium-x87.h ('k') | test/cctest/compiler/test-run-intrinsics.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698