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

Side by Side Diff: src/crankshaft/hydrogen.h

Issue 1930773003: [compiler] Untangle CompilationInfo allocated with new. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@local_cleanup-compiler-simplify-30
Patch Set: Fix finalization. Created 4 years, 7 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
OLDNEW
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698