OLD | NEW |
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 2171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2182 public: | 2182 public: |
2183 LTaggedToI(LOperand* value, LOperand* temp) { | 2183 LTaggedToI(LOperand* value, LOperand* temp) { |
2184 inputs_[0] = value; | 2184 inputs_[0] = value; |
2185 temps_[0] = temp; | 2185 temps_[0] = temp; |
2186 } | 2186 } |
2187 | 2187 |
2188 LOperand* value() { return inputs_[0]; } | 2188 LOperand* value() { return inputs_[0]; } |
2189 LOperand* temp() { return temps_[0]; } | 2189 LOperand* temp() { return temps_[0]; } |
2190 | 2190 |
2191 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i") | 2191 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i") |
2192 DECLARE_HYDROGEN_ACCESSOR(UnaryOperation) | 2192 DECLARE_HYDROGEN_ACCESSOR(Change) |
2193 | 2193 |
2194 bool truncating() { return hydrogen()->CanTruncateToInt32(); } | 2194 bool truncating() { return hydrogen()->CanTruncateToInt32(); } |
2195 }; | 2195 }; |
2196 | 2196 |
2197 | 2197 |
2198 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> { | 2198 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
2199 public: | 2199 public: |
2200 explicit LSmiTag(LOperand* value) { | 2200 explicit LSmiTag(LOperand* value) { |
2201 inputs_[0] = value; | 2201 inputs_[0] = value; |
2202 } | 2202 } |
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2900 int* argument_index_accumulator, | 2900 int* argument_index_accumulator, |
2901 ZoneList<HValue*>* objects_to_materialize); | 2901 ZoneList<HValue*>* objects_to_materialize); |
2902 | 2902 |
2903 void VisitInstruction(HInstruction* current); | 2903 void VisitInstruction(HInstruction* current); |
2904 | 2904 |
2905 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block); | 2905 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block); |
2906 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); | 2906 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); |
2907 LInstruction* DoArithmeticD(Token::Value op, | 2907 LInstruction* DoArithmeticD(Token::Value op, |
2908 HArithmeticBinaryOperation* instr); | 2908 HArithmeticBinaryOperation* instr); |
2909 LInstruction* DoArithmeticT(Token::Value op, | 2909 LInstruction* DoArithmeticT(Token::Value op, |
2910 HArithmeticBinaryOperation* instr); | 2910 HBinaryOperation* instr); |
2911 | 2911 |
2912 LOperand* GetStoreKeyedValueOperand(HStoreKeyed* instr); | 2912 LOperand* GetStoreKeyedValueOperand(HStoreKeyed* instr); |
2913 | 2913 |
2914 LPlatformChunk* chunk_; | 2914 LPlatformChunk* chunk_; |
2915 CompilationInfo* info_; | 2915 CompilationInfo* info_; |
2916 HGraph* const graph_; | 2916 HGraph* const graph_; |
2917 Zone* zone_; | 2917 Zone* zone_; |
2918 Status status_; | 2918 Status status_; |
2919 HInstruction* current_instruction_; | 2919 HInstruction* current_instruction_; |
2920 HBasicBlock* current_block_; | 2920 HBasicBlock* current_block_; |
2921 HBasicBlock* next_block_; | 2921 HBasicBlock* next_block_; |
2922 int argument_count_; | 2922 int argument_count_; |
2923 LAllocator* allocator_; | 2923 LAllocator* allocator_; |
2924 int position_; | 2924 int position_; |
2925 LInstruction* instruction_pending_deoptimization_environment_; | 2925 LInstruction* instruction_pending_deoptimization_environment_; |
2926 BailoutId pending_deoptimization_ast_id_; | 2926 BailoutId pending_deoptimization_ast_id_; |
2927 | 2927 |
2928 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2928 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2929 }; | 2929 }; |
2930 | 2930 |
2931 #undef DECLARE_HYDROGEN_ACCESSOR | 2931 #undef DECLARE_HYDROGEN_ACCESSOR |
2932 #undef DECLARE_CONCRETE_INSTRUCTION | 2932 #undef DECLARE_CONCRETE_INSTRUCTION |
2933 | 2933 |
2934 } } // namespace v8::internal | 2934 } } // namespace v8::internal |
2935 | 2935 |
2936 #endif // V8_IA32_LITHIUM_IA32_H_ | 2936 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |