OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_COMPILER_TYPER_H_ | 5 #ifndef V8_COMPILER_TYPER_H_ |
6 #define V8_COMPILER_TYPER_H_ | 6 #define V8_COMPILER_TYPER_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
11 #include "src/compiler/opcodes.h" | 11 #include "src/compiler/opcodes.h" |
12 #include "src/types.h" | 12 #include "src/types.h" |
13 | 13 |
14 namespace v8 { | 14 namespace v8 { |
15 namespace internal { | 15 namespace internal { |
16 namespace compiler { | 16 namespace compiler { |
17 | 17 |
| 18 struct LazyTypeCache; |
| 19 |
18 class Typer { | 20 class Typer { |
19 public: | 21 public: |
20 explicit Typer(Graph* graph, MaybeHandle<Context> context); | 22 explicit Typer(Graph* graph, MaybeHandle<Context> context); |
21 ~Typer(); | 23 ~Typer(); |
22 | 24 |
23 void Run(); | 25 void Run(); |
24 | 26 |
25 Graph* graph() { return graph_; } | 27 Graph* graph() { return graph_; } |
26 MaybeHandle<Context> context() { return context_; } | 28 MaybeHandle<Context> context() { return context_; } |
27 Zone* zone() { return graph_->zone(); } | 29 Zone* zone() { return graph_->zone(); } |
(...skipping 25 matching lines...) Expand all Loading... |
53 Type* integer; | 55 Type* integer; |
54 Type* weakint; | 56 Type* weakint; |
55 Type* signed8_; | 57 Type* signed8_; |
56 Type* unsigned8_; | 58 Type* unsigned8_; |
57 Type* signed16_; | 59 Type* signed16_; |
58 Type* unsigned16_; | 60 Type* unsigned16_; |
59 Type* number_fun0_; | 61 Type* number_fun0_; |
60 Type* number_fun1_; | 62 Type* number_fun1_; |
61 Type* number_fun2_; | 63 Type* number_fun2_; |
62 Type* weakint_fun1_; | 64 Type* weakint_fun1_; |
63 Type* imul_fun_; | |
64 Type* clz32_fun_; | |
65 Type* random_fun_; | 65 Type* random_fun_; |
66 Type* array_buffer_fun_; | 66 LazyTypeCache* cache_; |
67 Type* int8_array_fun_; | |
68 Type* int16_array_fun_; | |
69 Type* int32_array_fun_; | |
70 Type* uint8_array_fun_; | |
71 Type* uint16_array_fun_; | |
72 Type* uint32_array_fun_; | |
73 Type* float32_array_fun_; | |
74 Type* float64_array_fun_; | |
75 | 67 |
76 ZoneVector<Handle<Object> > weaken_min_limits_; | 68 ZoneVector<Handle<Object> > weaken_min_limits_; |
77 ZoneVector<Handle<Object> > weaken_max_limits_; | 69 ZoneVector<Handle<Object> > weaken_max_limits_; |
78 DISALLOW_COPY_AND_ASSIGN(Typer); | 70 DISALLOW_COPY_AND_ASSIGN(Typer); |
79 }; | 71 }; |
80 | 72 |
81 } // namespace compiler | 73 } // namespace compiler |
82 } // namespace internal | 74 } // namespace internal |
83 } // namespace v8 | 75 } // namespace v8 |
84 | 76 |
85 #endif // V8_COMPILER_TYPER_H_ | 77 #endif // V8_COMPILER_TYPER_H_ |
OLD | NEW |