| OLD | NEW | 
|     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 #ifndef V8_CRANKSHAFT_HYDROGEN_H_ |     5 #ifndef V8_CRANKSHAFT_HYDROGEN_H_ | 
|     6 #define V8_CRANKSHAFT_HYDROGEN_H_ |     6 #define V8_CRANKSHAFT_HYDROGEN_H_ | 
|     7  |     7  | 
|     8 #include "src/accessors.h" |     8 #include "src/accessors.h" | 
|     9 #include "src/allocation.h" |     9 #include "src/allocation.h" | 
|    10 #include "src/ast/ast.h" |    10 #include "src/ast/ast.h" | 
|    11 #include "src/ast/scopes.h" |    11 #include "src/ast/scopes.h" | 
|    12 #include "src/bailout-reason.h" |    12 #include "src/bailout-reason.h" | 
|    13 #include "src/compiler.h" |    13 #include "src/compiler.h" | 
|    14 #include "src/crankshaft/compilation-phase.h" |    14 #include "src/crankshaft/compilation-phase.h" | 
|    15 #include "src/crankshaft/hydrogen-instructions.h" |    15 #include "src/crankshaft/hydrogen-instructions.h" | 
 |    16 #include "src/parsing/parser.h" | 
|    16 #include "src/zone.h" |    17 #include "src/zone.h" | 
|    17  |    18  | 
|    18 namespace v8 { |    19 namespace v8 { | 
|    19 namespace internal { |    20 namespace internal { | 
|    20  |    21  | 
|    21 // Forward declarations. |    22 // Forward declarations. | 
|    22 class BitVector; |    23 class BitVector; | 
|    23 class FunctionState; |    24 class FunctionState; | 
|    24 class HEnvironment; |    25 class HEnvironment; | 
|    25 class HGraph; |    26 class HGraph; | 
|    26 class HLoopInformation; |    27 class HLoopInformation; | 
|    27 class HOsrBuilder; |    28 class HOsrBuilder; | 
|    28 class HTracer; |    29 class HTracer; | 
|    29 class LAllocator; |    30 class LAllocator; | 
|    30 class LChunk; |    31 class LChunk; | 
|    31 class LiveRange; |    32 class LiveRange; | 
|    32  |    33  | 
|    33 class HCompilationJob final : public CompilationJob { |    34 class HCompilationJob final : public CompilationJob { | 
|    34  public: |    35  public: | 
|    35   explicit HCompilationJob(CompilationInfo* info) |    36   explicit HCompilationJob(Handle<JSFunction> function) | 
|    36       : CompilationJob(info, "Crankshaft"), graph_(nullptr), chunk_(nullptr) {} |    37       : CompilationJob(&info_, "Crankshaft"), | 
 |    38         zone_(function->GetIsolate()->allocator()), | 
 |    39         parse_info_(&zone_, function), | 
 |    40         info_(&parse_info_, function), | 
 |    41         graph_(nullptr), | 
 |    42         chunk_(nullptr) {} | 
|    37  |    43  | 
|    38  protected: |    44  protected: | 
|    39   virtual Status CreateGraphImpl(); |    45   virtual Status CreateGraphImpl(); | 
|    40   virtual Status OptimizeGraphImpl(); |    46   virtual Status OptimizeGraphImpl(); | 
|    41   virtual Status GenerateCodeImpl(); |    47   virtual Status GenerateCodeImpl(); | 
|    42  |    48  | 
|    43  private: |    49  private: | 
 |    50   Zone zone_; | 
 |    51   ParseInfo parse_info_; | 
 |    52   CompilationInfo info_; | 
|    44   HGraph* graph_; |    53   HGraph* graph_; | 
|    45   LChunk* chunk_; |    54   LChunk* chunk_; | 
|    46 }; |    55 }; | 
|    47  |    56  | 
|    48 class HBasicBlock final : public ZoneObject { |    57 class HBasicBlock final : public ZoneObject { | 
|    49  public: |    58  public: | 
|    50   explicit HBasicBlock(HGraph* graph); |    59   explicit HBasicBlock(HGraph* graph); | 
|    51   ~HBasicBlock() { } |    60   ~HBasicBlock() { } | 
|    52  |    61  | 
|    53   // Simple accessors. |    62   // Simple accessors. | 
| (...skipping 3048 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  3102   } |  3111   } | 
|  3103  |  3112  | 
|  3104  private: |  3113  private: | 
|  3105   HOptimizedGraphBuilder* builder_; |  3114   HOptimizedGraphBuilder* builder_; | 
|  3106 }; |  3115 }; | 
|  3107  |  3116  | 
|  3108 }  // namespace internal |  3117 }  // namespace internal | 
|  3109 }  // namespace v8 |  3118 }  // namespace v8 | 
|  3110  |  3119  | 
|  3111 #endif  // V8_CRANKSHAFT_HYDROGEN_H_ |  3120 #endif  // V8_CRANKSHAFT_HYDROGEN_H_ | 
| OLD | NEW |