diff options
author | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-01-20 09:45:45 -0800 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-01-21 16:53:58 -0800 |
commit | ef4170ea03a80b21b2d8a65ce432efaa370fe2fa (patch) | |
tree | e382b1b38b729cd8155b56b441c3a563914854a3 /deps/v8/src/compiler/typer.h | |
parent | 5f6dfab832979999d2f806fc1a2f1c11a25b0f35 (diff) | |
download | node-new-ef4170ea03a80b21b2d8a65ce432efaa370fe2fa.tar.gz |
deps: upgrade to V8 4.8.271.17
Pick up V8 4.8 branch-head. This branch brings in @@isConcatSpreadable,
@@toPrimitive and ToLength ES6 changes. For full details see:
http://v8project.blogspot.de/2015/11/v8-release-48.html
https://github.com/v8/v8/commit/fa163e2
Ref: https://github.com/nodejs/node/pull/4399
PR-URL: https://github.com/nodejs/node/pull/4785
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/compiler/typer.h')
-rw-r--r-- | deps/v8/src/compiler/typer.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/deps/v8/src/compiler/typer.h b/deps/v8/src/compiler/typer.h index 065262907b..3b9b31b77f 100644 --- a/deps/v8/src/compiler/typer.h +++ b/deps/v8/src/compiler/typer.h @@ -5,6 +5,7 @@ #ifndef V8_COMPILER_TYPER_H_ #define V8_COMPILER_TYPER_H_ +#include "src/base/flags.h" #include "src/compiler/graph.h" #include "src/types.h" @@ -12,14 +13,23 @@ namespace v8 { namespace internal { // Forward declarations. -class ZoneTypeCache; +class CompilationDependencies; +class TypeCache; namespace compiler { class Typer { public: - Typer(Isolate* isolate, Graph* graph, + // Flags that control the mode of operation. + enum Flag { + kNoFlags = 0u, + kDeoptimizationEnabled = 1u << 0, + }; + typedef base::Flags<Flag> Flags; + + Typer(Isolate* isolate, Graph* graph, Flags flags = kNoFlags, + CompilationDependencies* dependencies = nullptr, Type::FunctionType* function_type = nullptr); ~Typer(); @@ -34,13 +44,17 @@ class Typer { Graph* graph() const { return graph_; } Zone* zone() const { return graph()->zone(); } Isolate* isolate() const { return isolate_; } + Flags flags() const { return flags_; } + CompilationDependencies* dependencies() const { return dependencies_; } Type::FunctionType* function_type() const { return function_type_; } Isolate* const isolate_; Graph* const graph_; + Flags const flags_; + CompilationDependencies* const dependencies_; Type::FunctionType* function_type_; Decorator* decorator_; - ZoneTypeCache const& cache_; + TypeCache const& cache_; Type* singleton_false_; Type* singleton_true_; @@ -52,6 +66,8 @@ class Typer { DISALLOW_COPY_AND_ASSIGN(Typer); }; +DEFINE_OPERATORS_FOR_FLAGS(Typer::Flags) + } // namespace compiler } // namespace internal } // namespace v8 |