OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 SRC_ASMJS_ASM_TYPER_H_ | 5 #ifndef SRC_ASMJS_ASM_TYPER_H_ |
6 #define SRC_ASMJS_ASM_TYPER_H_ | 6 #define SRC_ASMJS_ASM_TYPER_H_ |
7 | 7 |
8 #include <cstdint> | 8 #include <cstdint> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "src/allocation.h" | 11 #include "src/allocation.h" |
12 #include "src/asmjs/asm-types.h" | 12 #include "src/asmjs/asm-types.h" |
13 #include "src/ast/ast-type-bounds.h" | 13 #include "src/ast/ast-type-bounds.h" |
14 #include "src/ast/ast.h" | 14 #include "src/ast/ast.h" |
15 #include "src/effects.h" | 15 #include "src/effects.h" |
16 #include "src/type-info.h" | 16 #include "src/type-info.h" |
17 #include "src/types.h" | 17 #include "src/types.h" |
18 #include "src/zone-containers.h" | 18 #include "src/zone-containers.h" |
19 #include "src/zone.h" | 19 #include "src/zone.h" |
20 | 20 |
21 namespace v8 { | 21 namespace v8 { |
22 namespace internal { | 22 namespace internal { |
23 namespace wasm { | 23 namespace wasm { |
24 | 24 |
| 25 class AsmType; |
25 class AsmTyperHarnessBuilder; | 26 class AsmTyperHarnessBuilder; |
26 | 27 |
27 class AsmTyper final { | 28 class AsmTyper final { |
28 public: | 29 public: |
29 enum StandardMember { | 30 enum StandardMember { |
30 kHeap = -4, | 31 kHeap = -4, |
31 kFFI = -3, | 32 kFFI = -3, |
32 kStdlib = -2, | 33 kStdlib = -2, |
33 kModule = -1, | 34 kModule = -1, |
34 kNone = 0, | 35 kNone = 0, |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 Handle<String> module_name_; | 307 Handle<String> module_name_; |
307 | 308 |
308 // 3 Environments | 309 // 3 Environments |
309 ZoneHashMap global_scope_; // 3.1 Global environment | 310 ZoneHashMap global_scope_; // 3.1 Global environment |
310 ZoneHashMap local_scope_; // 3.2 Variable environment | 311 ZoneHashMap local_scope_; // 3.2 Variable environment |
311 | 312 |
312 std::uintptr_t stack_limit_; | 313 std::uintptr_t stack_limit_; |
313 bool stack_overflow_ = false; | 314 bool stack_overflow_ = false; |
314 ZoneMap<AstNode*, AsmType*> node_types_; | 315 ZoneMap<AstNode*, AsmType*> node_types_; |
315 static const int kErrorMessageLimit = 100; | 316 static const int kErrorMessageLimit = 100; |
| 317 AsmType* fround_type_; |
316 char error_message_[kErrorMessageLimit]; | 318 char error_message_[kErrorMessageLimit]; |
317 | 319 |
318 DISALLOW_IMPLICIT_CONSTRUCTORS(AsmTyper); | 320 DISALLOW_IMPLICIT_CONSTRUCTORS(AsmTyper); |
319 }; | 321 }; |
320 | 322 |
321 } // namespace wasm | 323 } // namespace wasm |
322 } // namespace internal | 324 } // namespace internal |
323 } // namespace v8 | 325 } // namespace v8 |
324 | 326 |
325 #endif // SRC_ASMJS_ASM_TYPER_H_ | 327 #endif // SRC_ASMJS_ASM_TYPER_H_ |
OLD | NEW |