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

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

Issue 23494054: MIPS: Orthogonalize Lithium binary op instructions. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « src/mips/lithium-codegen-mips.cc ('k') | src/mips/lithium-mips.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 // 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 2081 matching lines...) Expand 10 before | Expand all | Expand 10 after
2092 inputs_[0] = value; 2092 inputs_[0] = value;
2093 temps_[0] = temp; 2093 temps_[0] = temp;
2094 temps_[1] = temp2; 2094 temps_[1] = temp2;
2095 } 2095 }
2096 2096
2097 LOperand* value() { return inputs_[0]; } 2097 LOperand* value() { return inputs_[0]; }
2098 LOperand* temp() { return temps_[0]; } 2098 LOperand* temp() { return temps_[0]; }
2099 LOperand* temp2() { return temps_[1]; } 2099 LOperand* temp2() { return temps_[1]; }
2100 2100
2101 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i") 2101 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i")
2102 DECLARE_HYDROGEN_ACCESSOR(UnaryOperation) 2102 DECLARE_HYDROGEN_ACCESSOR(Change)
2103 2103
2104 bool truncating() { return hydrogen()->CanTruncateToInt32(); } 2104 bool truncating() { return hydrogen()->CanTruncateToInt32(); }
2105 }; 2105 };
2106 2106
2107 2107
2108 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> { 2108 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> {
2109 public: 2109 public:
2110 explicit LSmiTag(LOperand* value) { 2110 explicit LSmiTag(LOperand* value) {
2111 inputs_[0] = value; 2111 inputs_[0] = value;
2112 } 2112 }
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after
2746 ZoneList<HValue*>* objects_to_materialize); 2746 ZoneList<HValue*>* objects_to_materialize);
2747 2747
2748 void VisitInstruction(HInstruction* current); 2748 void VisitInstruction(HInstruction* current);
2749 2749
2750 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block); 2750 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block);
2751 LInstruction* DoBit(Token::Value op, HBitwiseBinaryOperation* instr); 2751 LInstruction* DoBit(Token::Value op, HBitwiseBinaryOperation* instr);
2752 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); 2752 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr);
2753 LInstruction* DoArithmeticD(Token::Value op, 2753 LInstruction* DoArithmeticD(Token::Value op,
2754 HArithmeticBinaryOperation* instr); 2754 HArithmeticBinaryOperation* instr);
2755 LInstruction* DoArithmeticT(Token::Value op, 2755 LInstruction* DoArithmeticT(Token::Value op,
2756 HArithmeticBinaryOperation* instr); 2756 HBinaryOperation* instr);
2757 2757
2758 LPlatformChunk* chunk_; 2758 LPlatformChunk* chunk_;
2759 CompilationInfo* info_; 2759 CompilationInfo* info_;
2760 HGraph* const graph_; 2760 HGraph* const graph_;
2761 Zone* zone_; 2761 Zone* zone_;
2762 Status status_; 2762 Status status_;
2763 HInstruction* current_instruction_; 2763 HInstruction* current_instruction_;
2764 HBasicBlock* current_block_; 2764 HBasicBlock* current_block_;
2765 HBasicBlock* next_block_; 2765 HBasicBlock* next_block_;
2766 int argument_count_; 2766 int argument_count_;
2767 LAllocator* allocator_; 2767 LAllocator* allocator_;
2768 int position_; 2768 int position_;
2769 LInstruction* instruction_pending_deoptimization_environment_; 2769 LInstruction* instruction_pending_deoptimization_environment_;
2770 BailoutId pending_deoptimization_ast_id_; 2770 BailoutId pending_deoptimization_ast_id_;
2771 2771
2772 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2772 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2773 }; 2773 };
2774 2774
2775 #undef DECLARE_HYDROGEN_ACCESSOR 2775 #undef DECLARE_HYDROGEN_ACCESSOR
2776 #undef DECLARE_CONCRETE_INSTRUCTION 2776 #undef DECLARE_CONCRETE_INSTRUCTION
2777 2777
2778 } } // namespace v8::internal 2778 } } // namespace v8::internal
2779 2779
2780 #endif // V8_MIPS_LITHIUM_MIPS_H_ 2780 #endif // V8_MIPS_LITHIUM_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/lithium-codegen-mips.cc ('k') | src/mips/lithium-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698