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
3 // found in the LICENSE file.
5 #ifndef V8_COMPILER_TYPER_H_
6 #define V8_COMPILER_TYPER_H_
10 #include "src/compiler/graph.h"
11 #include "src/compiler/opcodes.h"
12 #include "src/types.h"
20 explicit Typer(Graph* graph, MaybeHandle<Context> context);
25 Graph* graph() { return graph_; }
26 MaybeHandle<Context> context() { return context_; }
27 Zone* zone() { return graph_->zone(); }
28 Isolate* isolate() { return zone()->isolate(); }
37 MaybeHandle<Context> context_;
38 Decorator* decorator_;
41 Type* negative_signed32;
42 Type* non_negative_signed32;
43 Type* undefined_or_null;
44 Type* singleton_false;
60 Type* array_buffer_fun_;
61 Type* int8_array_fun_;
62 Type* int16_array_fun_;
63 Type* int32_array_fun_;
64 Type* uint8_array_fun_;
65 Type* uint16_array_fun_;
66 Type* uint32_array_fun_;
67 Type* float32_array_fun_;
68 Type* float64_array_fun_;
70 ZoneVector<Handle<Object> > weaken_min_limits_;
71 ZoneVector<Handle<Object> > weaken_max_limits_;
72 DISALLOW_COPY_AND_ASSIGN(Typer);
76 } // namespace v8::internal::compiler
78 #endif // V8_COMPILER_TYPER_H_