Chromium Code Reviews

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

Issue 1124263005: X87: Optimize the typeof operator. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
« no previous file with comments | « src/x87/lithium-codegen-x87.cc ('k') | no next file » | 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 #include "src/v8.h" 7 #include "src/v8.h"
8 8
9 #if V8_TARGET_ARCH_X87 9 #if V8_TARGET_ARCH_X87
10 10
(...skipping 2597 matching lines...)
2608 2608
2609 LInstruction* LChunkBuilder::DoToFastProperties(HToFastProperties* instr) { 2609 LInstruction* LChunkBuilder::DoToFastProperties(HToFastProperties* instr) {
2610 LOperand* object = UseFixed(instr->value(), eax); 2610 LOperand* object = UseFixed(instr->value(), eax);
2611 LToFastProperties* result = new(zone()) LToFastProperties(object); 2611 LToFastProperties* result = new(zone()) LToFastProperties(object);
2612 return MarkAsCall(DefineFixed(result, eax), instr); 2612 return MarkAsCall(DefineFixed(result, eax), instr);
2613 } 2613 }
2614 2614
2615 2615
2616 LInstruction* LChunkBuilder::DoTypeof(HTypeof* instr) { 2616 LInstruction* LChunkBuilder::DoTypeof(HTypeof* instr) {
2617 LOperand* context = UseFixed(instr->context(), esi); 2617 LOperand* context = UseFixed(instr->context(), esi);
2618 LOperand* value = UseAtStart(instr->value()); 2618 LOperand* value = UseFixed(instr->value(), ebx);
2619 LTypeof* result = new(zone()) LTypeof(context, value); 2619 LTypeof* result = new(zone()) LTypeof(context, value);
2620 return MarkAsCall(DefineFixed(result, eax), instr); 2620 return MarkAsCall(DefineFixed(result, eax), instr);
2621 } 2621 }
2622 2622
2623 2623
2624 LInstruction* LChunkBuilder::DoTypeofIsAndBranch(HTypeofIsAndBranch* instr) { 2624 LInstruction* LChunkBuilder::DoTypeofIsAndBranch(HTypeofIsAndBranch* instr) {
2625 return new(zone()) LTypeofIsAndBranch(UseTempRegister(instr->value())); 2625 return new(zone()) LTypeofIsAndBranch(UseTempRegister(instr->value()));
2626 } 2626 }
2627 2627
2628 2628
(...skipping 105 matching lines...)
2734 LOperand* function = UseRegisterAtStart(instr->function()); 2734 LOperand* function = UseRegisterAtStart(instr->function());
2735 LAllocateBlockContext* result = 2735 LAllocateBlockContext* result =
2736 new(zone()) LAllocateBlockContext(context, function); 2736 new(zone()) LAllocateBlockContext(context, function);
2737 return MarkAsCall(DefineFixed(result, esi), instr); 2737 return MarkAsCall(DefineFixed(result, esi), instr);
2738 } 2738 }
2739 2739
2740 2740
2741 } } // namespace v8::internal 2741 } } // namespace v8::internal
2742 2742
2743 #endif // V8_TARGET_ARCH_X87 2743 #endif // V8_TARGET_ARCH_X87
OLDNEW
« no previous file with comments | « src/x87/lithium-codegen-x87.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine