OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 2958 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2969 class LChunkBuilder V8_FINAL : public LChunkBuilderBase { | 2969 class LChunkBuilder V8_FINAL : public LChunkBuilderBase { |
2970 public: | 2970 public: |
2971 LChunkBuilder(CompilationInfo* info, HGraph* graph, LAllocator* allocator) | 2971 LChunkBuilder(CompilationInfo* info, HGraph* graph, LAllocator* allocator) |
2972 : LChunkBuilderBase(graph->zone()), | 2972 : LChunkBuilderBase(graph->zone()), |
2973 chunk_(NULL), | 2973 chunk_(NULL), |
2974 info_(info), | 2974 info_(info), |
2975 graph_(graph), | 2975 graph_(graph), |
2976 status_(UNUSED), | 2976 status_(UNUSED), |
2977 current_instruction_(NULL), | 2977 current_instruction_(NULL), |
2978 current_block_(NULL), | 2978 current_block_(NULL), |
2979 allocator_(allocator), | 2979 allocator_(allocator) { } |
2980 instruction_pending_deoptimization_environment_(NULL), | |
2981 pending_deoptimization_ast_id_(BailoutId::None()) { } | |
2982 | 2980 |
2983 // Build the sequence for the graph. | 2981 // Build the sequence for the graph. |
2984 LPlatformChunk* Build(); | 2982 LPlatformChunk* Build(); |
2985 | 2983 |
2986 LInstruction* CheckElideControlInstruction(HControlInstruction* instr); | 2984 LInstruction* CheckElideControlInstruction(HControlInstruction* instr); |
2987 | 2985 |
2988 // Declare methods that deal with the individual node types. | 2986 // Declare methods that deal with the individual node types. |
2989 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); | 2987 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); |
2990 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) | 2988 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) |
2991 #undef DECLARE_DO | 2989 #undef DECLARE_DO |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3108 LInstruction* DoArithmeticT(Token::Value op, | 3106 LInstruction* DoArithmeticT(Token::Value op, |
3109 HBinaryOperation* instr); | 3107 HBinaryOperation* instr); |
3110 | 3108 |
3111 LPlatformChunk* chunk_; | 3109 LPlatformChunk* chunk_; |
3112 CompilationInfo* info_; | 3110 CompilationInfo* info_; |
3113 HGraph* const graph_; | 3111 HGraph* const graph_; |
3114 Status status_; | 3112 Status status_; |
3115 HInstruction* current_instruction_; | 3113 HInstruction* current_instruction_; |
3116 HBasicBlock* current_block_; | 3114 HBasicBlock* current_block_; |
3117 LAllocator* allocator_; | 3115 LAllocator* allocator_; |
3118 LInstruction* instruction_pending_deoptimization_environment_; | |
3119 BailoutId pending_deoptimization_ast_id_; | |
3120 | 3116 |
3121 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3117 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3122 }; | 3118 }; |
3123 | 3119 |
3124 #undef DECLARE_HYDROGEN_ACCESSOR | 3120 #undef DECLARE_HYDROGEN_ACCESSOR |
3125 #undef DECLARE_CONCRETE_INSTRUCTION | 3121 #undef DECLARE_CONCRETE_INSTRUCTION |
3126 | 3122 |
3127 } } // namespace v8::internal | 3123 } } // namespace v8::internal |
3128 | 3124 |
3129 #endif // V8_A64_LITHIUM_A64_H_ | 3125 #endif // V8_A64_LITHIUM_A64_H_ |
OLD | NEW |