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 2031 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2042 public: | 2042 public: |
2043 LTaggedToI(LOperand* value, LOperand* temp) { | 2043 LTaggedToI(LOperand* value, LOperand* temp) { |
2044 inputs_[0] = value; | 2044 inputs_[0] = value; |
2045 temps_[0] = temp; | 2045 temps_[0] = temp; |
2046 } | 2046 } |
2047 | 2047 |
2048 LOperand* value() { return inputs_[0]; } | 2048 LOperand* value() { return inputs_[0]; } |
2049 LOperand* temp() { return temps_[0]; } | 2049 LOperand* temp() { return temps_[0]; } |
2050 | 2050 |
2051 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i") | 2051 DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i") |
2052 DECLARE_HYDROGEN_ACCESSOR(UnaryOperation) | 2052 DECLARE_HYDROGEN_ACCESSOR(Change) |
2053 | 2053 |
2054 bool truncating() { return hydrogen()->CanTruncateToInt32(); } | 2054 bool truncating() { return hydrogen()->CanTruncateToInt32(); } |
2055 }; | 2055 }; |
2056 | 2056 |
2057 | 2057 |
2058 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> { | 2058 class LSmiTag V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
2059 public: | 2059 public: |
2060 explicit LSmiTag(LOperand* value) { | 2060 explicit LSmiTag(LOperand* value) { |
2061 inputs_[0] = value; | 2061 inputs_[0] = value; |
2062 } | 2062 } |
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2694 int* argument_index_accumulator, | 2694 int* argument_index_accumulator, |
2695 ZoneList<HValue*>* objects_to_materialize); | 2695 ZoneList<HValue*>* objects_to_materialize); |
2696 | 2696 |
2697 void VisitInstruction(HInstruction* current); | 2697 void VisitInstruction(HInstruction* current); |
2698 | 2698 |
2699 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block); | 2699 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block); |
2700 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); | 2700 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); |
2701 LInstruction* DoArithmeticD(Token::Value op, | 2701 LInstruction* DoArithmeticD(Token::Value op, |
2702 HArithmeticBinaryOperation* instr); | 2702 HArithmeticBinaryOperation* instr); |
2703 LInstruction* DoArithmeticT(Token::Value op, | 2703 LInstruction* DoArithmeticT(Token::Value op, |
2704 HArithmeticBinaryOperation* instr); | 2704 HBinaryOperation* instr); |
2705 | 2705 |
2706 LPlatformChunk* chunk_; | 2706 LPlatformChunk* chunk_; |
2707 CompilationInfo* info_; | 2707 CompilationInfo* info_; |
2708 HGraph* const graph_; | 2708 HGraph* const graph_; |
2709 Zone* zone_; | 2709 Zone* zone_; |
2710 Status status_; | 2710 Status status_; |
2711 HInstruction* current_instruction_; | 2711 HInstruction* current_instruction_; |
2712 HBasicBlock* current_block_; | 2712 HBasicBlock* current_block_; |
2713 HBasicBlock* next_block_; | 2713 HBasicBlock* next_block_; |
2714 int argument_count_; | 2714 int argument_count_; |
2715 LAllocator* allocator_; | 2715 LAllocator* allocator_; |
2716 int position_; | 2716 int position_; |
2717 LInstruction* instruction_pending_deoptimization_environment_; | 2717 LInstruction* instruction_pending_deoptimization_environment_; |
2718 BailoutId pending_deoptimization_ast_id_; | 2718 BailoutId pending_deoptimization_ast_id_; |
2719 | 2719 |
2720 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2720 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2721 }; | 2721 }; |
2722 | 2722 |
2723 #undef DECLARE_HYDROGEN_ACCESSOR | 2723 #undef DECLARE_HYDROGEN_ACCESSOR |
2724 #undef DECLARE_CONCRETE_INSTRUCTION | 2724 #undef DECLARE_CONCRETE_INSTRUCTION |
2725 | 2725 |
2726 } } // namespace v8::int | 2726 } } // namespace v8::int |
2727 | 2727 |
2728 #endif // V8_X64_LITHIUM_X64_H_ | 2728 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |